Варианты заданий
- Реализовать программу запускающую в разных потоках подпрограммы прорисовки отрезков прямых. В одной подпрограмме реализовать алгоритм Брезенхейма, во второй простейший алгоритм построения отрезка прямой. Координаты концов отрезков определяются случайным образом в обоих случаях, но каждая подпрограмма рисует отрезки в своих прямоугольных областях.
- Реализовать программу построения кривой Безье. Вызывая подпрограмму с плавно меняющимися параметрами добиться различных визуальных эффектов.
- Реализовать простейший векторный редактор, позволяющий рисовать отрезки прямых. Редактировать их за узлы (концы отрезков). Функции редактирования: изменение координат, удаление отрезков, задание стилей линий. Отрезки прямых рисуются по алгоритму Брезенхейма.
- Реализовать программу запускающую в разных потоках подпрограммы прорисовки окружностей. В одной подпрограмме реализовать алгоритм Брезенхейма, во второй простейший алгоритм построения окружности. Координаты центров и радиусы определяются случайным образом в обоих случаях, но каждая подпрограмма рисует окружности в своих прямоугольных областях.
- Реализовать простейший векторный редактор, позволяющий рисовать окружности. Редактировать их за узлы (центр окружности). Функции редактирования: изменение координат центра, изменение радиуса, удаление окружности, задание стилей линий. Окружности рисуются по алгоритму Брезенхейма.
- Реализовать алгоритм отсечения многоугольника по произвольному прямоугольнику и другому произвольному многоугольнику.
- Написать программу, реализующую алгоритм закраски многоугольника. Во втором потоке запустить программу использующие стандартные функции рисования закрашенных многоугольников. Каждый поток рисует многоугольники в разных прямоугольных областях.
- Реализовать метод устранения ступенчатости с увеличением частоты выборки. Предусмотреть функции. Увеличения участка изображения.
- Реализовать метод устранения ступенчатости, основанный на использовании полутонов. Предусмотреть функции. Увеличения участка изображения.
- Разработать программу построения ковра Серпинского. Число поколений задается пользователем. При построении фрактала отобразить все поколения ковра Серпинского.
- Разработать простейший графический редактор с возможностью цветовой корректировки изображений. Функции редактора: открытие BMP изображений, изменение яркости и контрастности, сохранение в новом файле. Предусмотреть отображение хода изменения яркости и контрастности (ProgresBar).
- Разработать программу построения множества Мандельброта. Реализовать увеличение участка фрактала. Выбор участка фрактала происходит с помощью мыши.
- Разработать простейший графический редактор с возможностью масштабирования изображений. Функции редактора: открытие BMP изображений, изменение масштаба (использовать линейную интерполяцию), сохранение в новом файле. Предусмотреть отображение хода изменения изображения (ProgresBar).
- Разработать программу построения триадной кривой Коха. Число поколений задается пользователем. При построении фрактала отобразить все поколения кривой Коха.
- Разработать собственный формат хранения изображения. Для этого разработать собственный алгоритм сжатия изображения. Написать программу, работающую с данным форматом изображений: открытие, просмотр, сохранение изображений, преобразование из других форматов.
- Разработать простейший графический редактор с возможностью поворота изображений. Функции редактора: открытиеBMP изображений, поворот изображения на заданный угол (при необходимости автоматическое увеличение изображения), сохранение в новом файле. Предусмотреть отображение хода изменения изображения (ProgresBar).
- Разработать программу построения "дракона" Хартера-Хейтуэя. Число поколений задается пользователем. При построении фрактала отобразить все поколения дракона.
- Разработать простейший графический редактор с фильтром размытия изображений. Функции редактора: открытие BMPизображений, размытие изображения, сохранение в новом файле. Предусмотреть отображение хода изменения изображения (ProgresBar).
- Разработать программу построения салфетки Серпинского. Число поколений задается пользователем. При построении фрактала отобразить все поколения салфетки Серпинского.
- Разработать собственный формат хранения изображения. Использовать индексированную палитру. Написать программу, работающую с данным форматом изображений: открытие, просмотр, сохранение изображений, преобразование из других форматов.
- Написать программу, реализующую алгоритм закраски области выделенной цветом границы. Во втором потоке запустить программу использующие стандартные функции закраски области. Каждый поток закрашивает области в разных прямоугольных областях.
- Реализовать простейший растровый редактор, позволяющий рисовать различными кистями. В том числе и кистями с размытыми краями. Предусмотреть возможность сохранения и открытия созданных файлов.
- Разработать программу построения снежинки Коха. Число поколений задается пользователем. При построении фрактала отобразить все поколения снежинки Коха.
- Разработать программу построения множества Жулиа. Реализовать увеличение участка фрактала. Выбор участка фрактала происходит с помощью мыши.
- Реализовать простейший векторный редактор, позволяющий рисовать отрезки прямых, прямоугольники, овалы, редактировать их за узлы. Функции редактирования: изменение координат, удаление, задание стилей линий, заливка цветом объектов. Предусмотреть сохранении и открытие созданных файлов. Для этого разработать собственный векторный формат хранения изображения.