В программе используется алгоритм Алгоритм Сазерленда-Коэна отсечения отрезка.
Для построения сцены необходимо щелкнуть на форме левой кнопкой мыши. По нажатию левой кнопки мыши на экране появляется прямоугольник и видимая часть отрезка в нём.
Алгоритм закраски с затравкой
С помощью этого алгоритма можно закрашивать любые замкнутые области.
Суть метода заключается в следующем: мы берём затравочную точку и закрашиваем её. Для каждого незакрашенного соседа мы выполняем аналогичную процедуру. Продолжаем делать это пока не дойдем до границы области.
Данный пример демонстрирует эмуляцию колебаний маятника Ньютона и отображает непостоянство погоды в нашем регионе.
Спрайтовая анимации на C++
Прежде чем приступать к реализации задачи, необходимо ознакомиться с этой статьей
http://grafika.me/node/518
Пример заливки с "жесткостью".
Использование:
В форме FillToleranceExample нажмите на единственную кнопку для генерации тестовой сцены.
В единственном текстовом поле укажите параметр "жесткости" от 0 до 1, затем нажимайте мышью на панели в разных участках сцены. Для очистки сцены повторно нажмите на кнопку.
Задача: Построить окружность, используя алгоритм Брезенхема.
Алгоритм: Строим четверть окружности, и достраиваем остальные симметрично. На каждой итерации цикла выбираем одну из трёх возможных точек(сравниваем расстояние от центра до выбранной точки с радиусом окружности).
Алгоритм использует механизмы сглаживания при растеризации линии. При этом ступенчатые выступы на линии становятся менее заметны. Этот эффект достигается следующим образом. На первом шаге для точки, лежащей на линии, вычисляются две ближайшие точки растра. Далее между этими двумя точками распределяется прозрачность(альфа-канал) цвета пиксела пропорционально близости пиксела к линии таким образом, чтобы суммарная яркость была равна единице.
В этом примере используется анимация из компьютерной игры, которая для более плавной анимации использует 7 меняющихся изображений, которые я склеил в одно изображение для удобства, и получилось широкое покадровое изображение.
Используем функцию ,которая анимирует наши спрайты
Задача: построить эллипс, зная координаты центра x и y, длины большой и малой полуосей a и b.
Алгоритм: используется модифицированный алгоритм Брезенхема генерации окружности. Как и в оригинальном алгоритме, выбор следующей точки основан на вычислении значения управляющей переменной delta.
В поля "X" и "Y" вводятся координаты центра эллипса, в "A" и "B" - длины большой и малой полуосей.