Назад | Оглавление | Домой | Далее

9.3.        Задания по лабораторной работе «Простейшие алгоритмы компьютерной графики»

 

Варианты заданий

 

  1. Реализовать программу запускающую в разных потоках подпрограммы прорисовки отрезков прямых. В одной подпрограмме реализовать алгоритм Брезенхейма, во второй простейший алгоритм построения отрезка прямой. Координаты концов отрезков определяются случайным образом в обоих случаях, но каждая подпрограмма рисует отрезки в своих прямоугольных областях.
  2. Реализовать программу построения кривой Безье. Вызывая подпрограмму с плавно меняющимися  параметрами добиться различных визуальных эффектов.
  3. Реализовать простейший векторный редактор, позволяющий рисовать отрезки прямых. Редактировать их за узлы (концы отрезков). Функции редактирования: изменение координат, удаление отрезков, задание стилей линий. Отрезки прямых рисуются по алгоритму Брезенхейма.
  4. Реализовать программу запускающую в разных потоках подпрограммы прорисовки окружностей. В одной подпрограмме реализовать алгоритм Брезенхейма, во второй простейший алгоритм построения окружности. Координаты центров и радиусы определяются случайным образом в обоих случаях, но каждая подпрограмма рисует окружности  в своих прямоугольных областях.
  5. Реализовать простейший векторный редактор, позволяющий рисовать окружности. Редактировать их за узлы (центр окружности). Функции редактирования: изменение координат центра, изменение радиуса, удаление окружности, задание стилей линий. Окружности рисуются по алгоритму Брезенхейма.
  6. Реализовать алгоритм отсечения многоугольника по произвольному прямоугольнику и другому произвольному многоугольнику.
  7. Написать программу, реализующую алгоритм закраски многоугольника. Во втором потоке запустить программу использующие стандартные функции рисования закрашенных многоугольников. Каждый поток рисует многоугольники в разных прямоугольных областях.
  8. Реализовать метод устранения ступенчатости с увеличением частоты выборки. Предусмотреть функции. Увеличения участка изображения.
  9. Реализовать метод устранения ступенчатости, основанный на использовании полутонов. Предусмотреть функции. Увеличения участка изображения.
  10. Разработать программу построения ковра Серпинского. Число поколений задается пользователем. При построении фрактала отобразить все поколения ковра Серпинского.
  11. Разработать простейший графический редактор с возможностью цветовой корректировки изображений. Функции редактора: открытие BMP изображений, изменение яркости и контрастности, сохранение в новом файле. Предусмотреть отображение хода изменения яркости и контрастности (ProgresBar).
  12. Разработать программу построения множества Мандельброта. Реализовать увеличение участка фрактала. Выбор участка фрактала происходит с помощью мыши.
  13. Разработать простейший графический редактор с возможностью масштабирования изображений. Функции редактора: открытие BMP изображений, изменение масштаба (использовать линейную интерполяцию), сохранение в новом файле. Предусмотреть отображение хода изменения изображения (ProgresBar).
  14. Разработать программу построения триадной кривой Коха. Число поколений задается пользователем. При построении фрактала отобразить все поколения кривой Коха.
  15. Разработать собственный формат хранения изображения. Для этого разработать собственный алгоритм сжатия изображения. Написать программу, работающую с данным форматом изображений: открытие, просмотр, сохранение изображений, преобразование из других форматов.
  16. Разработать простейший графический редактор с возможностью поворота изображений. Функции редактора: открытие BMP изображений, поворот изображения на заданный угол (при необходимости автоматическое увеличение изображения), сохранение в новом файле. Предусмотреть отображение хода изменения изображения (ProgresBar).
  17. Разработать программу построения "дракона" Хартера-Хейтуэя. Число поколений задается пользователем. При построении фрактала отобразить все поколения дракона.
  18. Разработать простейший графический редактор с фильтром размытия изображений. Функции редактора: открытие BMP изображений, размытие изображения, сохранение в новом файле. Предусмотреть отображение хода изменения изображения (ProgresBar).
  19. Разработать программу построения салфетки Серпинского. Число поколений задается пользователем. При построении фрактала отобразить все поколения салфетки Серпинского.
  20. Разработать собственный формат хранения изображения. Использовать индексированную палитру. Написать программу, работающую с данным форматом изображений: открытие, просмотр, сохранение изображений, преобразование из других форматов.
  21. Написать программу, реализующую алгоритм закраски области выделенной цветом границы. Во втором потоке запустить программу использующие стандартные функции закраски области. Каждый поток закрашивает области в разных прямоугольных областях.
  22. Реализовать простейший растровый редактор, позволяющий рисовать различными кистями. В том числе и кистями с размытыми краями. Предусмотреть возможность сохранения и открытия созданных файлов.
  23. Разработать программу построения снежинки Коха. Число поколений задается пользователем. При построении фрактала отобразить все поколения снежинки Коха.
  24. Разработать программу построения множества Жулиа. Реализовать увеличение участка фрактала. Выбор участка фрактала происходит с помощью мыши.
  25. Реализовать простейший векторный редактор, позволяющий рисовать отрезки прямых, прямоугольники, овалы, редактировать их за узлы. Функции редактирования: изменение координат, удаление, задание стилей линий, заливка цветом объектов. Предусмотреть сохранении и открытие созданных файлов. Для этого разработать собственный векторный формат хранения изображения.

Назад | Оглавление | Домой | Далее