Продолжим осваивать графику в языке программирования. Сегодня займёмся анимацией и морфингом.
Анима́ция (от фр.animation) - оживление, одушевление.
ВикипедиЯ
|
Алгоритм анимации относительно прост:
- рисуем графический объект в координатах (x,y)
- организуем задержку для уменьшения скорости и мерцания
- стираем графический объект (рисуем объект цветом фона)
- изменяем координаты (x,y) согласно необходимой закономерности
-
переходим к шагу 1
Ниже я предлагаю вам образец программы, моделирующую вращение Земли вокруг Солнца:
program planeta; Uses Graph, CRT; var Gd, Gm, r, ugol, sag, k: SmallInt; begin Gd:=Detect; InitGraph(gd,gm,''); {инициализация графики} ugol:=0; {начальное значение угла вращения планеты в радианах} r:=200; {радиус траектории вращения планеты} sag:=260; {коэффициент уменьшения шага угла, при sag=360 планета вращается с шагом в 1 градус} For k:=1 To 1000 Do PutPixel(Random(GetMaxX), Random(GetMaxY),15); {звёздное небо для красоты} SetFillStyle(1,14); {тип и цвет заливки солнца} Setcolor(14); {цвет рисования солнца} FillEllipse(Getmaxx div 2, Getmaxy div 2,50,50); {солнце в центре экрана} Repeat {цикл вращения планеты} Setcolor(9); SetFillStyle(1,11); {цвет и тип заливки "рисующей" планеты} FillEllipse(Getmaxx div 2+Round(r*sin(ugol/sag)),Getmaxy div 2+Round(r*cos(ugol/sag)),10,10); {рисование "рисующей" планеты} inc(ugol); {увеличение переменной ugol на 1, аналогично ugol:=ugol+1} Delay(5); {пауза в миллисекундах} Setcolor(0); SetFillStyle(1,0); {цвет и тип заливки "стирающей" планеты} FillEllipse(Getmaxx div 2+Round(r*sin((ugol-1)/sag)),Getmaxy div 2+Round(r*cos((ugol-1)/sag)),10,10); {рисование "стирающей" планеты} Until keypressed; end. |
Урок № 1
Задания для самостоятельного выполнения:
«3»: Взяв за основу образец программы движения планеты организовать ее обратное (по часовой стрелке) вращение по эллиптической траектории.
«4»: Изобразить модель Солнца с двумя планетами, которые вращаются в противоположные стороны и с разной скоростью - чем больше радиус вращения тем ниже скорость.
«5»: Изобразить модель системы Солнце-Земля-Луна. Построить морфинг простой геометрической фигуры. Пример простого морфинга в приложенном EXE-файле.
Так что же такое морфинг?
Морфинг (англ. morphing, трансформация) — технология в компьютерной анимации, визуальный эффект, создающий впечатление плавной трансформации одного объекта в другой.
ВикипедиЯ
|
и сложного морфинга:
Урок № 2
Задания для самостоятельного выполнения:
Создать программу плавного преобразования геометрической фигуры (образец программы в прилагаемом EXE-файле).
К комментарию добавляем два файла для каждого урока - PAS и EXE.
Файлы:
morfing.exe (138.69 КБ)