11 классы: Анимация и морфинг в паскале

 

11 классы: Анимация и морфинг в паскале


Продолжим осваивать графику в языке программирования. Сегодня займёмся анимацией и морфингом.
Анима́ция (от фр.animation) - оживление, одушевление.
ВикипедиЯ
Займёмся "оживлением" и "одушевлением".
Алгоритм анимации относительно прост:
  1. рисуем графический объект в координатах (x,y)
  2. организуем задержку для уменьшения скорости и мерцания
  3. стираем графический объект (рисуем объект цветом фона)
  4. изменяем координаты (x,y) согласно необходимой закономерности
  5. переходим к шагу 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 КБ)

' }), node.firstChild); }, clearError : function() { BX('err_comment_'+this.id[1]).innerHTML = ""; }, }; window.convertFormToArray = function(form, data) { data = (!!data ? data : []); if(!!form){ var i, _data = [], n = form.elements.length; for(i=0; i
Добавить комментарий
Мне нравится0
Арсланов
14.02.2017 06:50:44
Ответить Ссылка Мне нравится0
Мне нравится0
Sereja
14.02.2017 06:51:58
Planeti
Planeti
Ответить Ссылка Мне нравится0
Мне нравится0
Маргарита Макова
14.02.2017 06:55:14
Модель солнца с двумя планетами
Ответить Ссылка Мне нравится0
Мне нравится0
Никита Середа
14.02.2017 07:04:46
планеты
а
Ответить Ссылка Мне нравится0
Мне нравится0
GJulia
14.02.2017 07:13:52
Ответить Ссылка Мне нравится0
Мне нравится0
Сашенька Тойкка
14.02.2017 07:16:02
Работа на 4
Ответить Ссылка Мне нравится0
Мне нравится0
Рассказова
14.02.2017 07:16:14
Рассказова Яна_11А_1работа
Ответить Ссылка Мне нравится0
Мне нравится0
Сашенька Тойкка
14.02.2017 07:51:14
Сделал
Ответить Ссылка Мне нравится0
Мне нравится0
GJulia
14.02.2017 07:52:57
Ответить Ссылка Мне нравится0
Мне нравится0
Маргарита Макова
14.02.2017 07:59:01
Морфинг на примере прямоугольника
Ответить Ссылка Мне нравится0
Мне нравится0
Роман Сахаров
16.02.2017 08:14:39
Сахаров Роман
Ответить Ссылка Мне нравится0
Мне нравится0
Алиева Джамиля
16.02.2017 08:16:02
/
Ответить Ссылка Мне нравится0
Мне нравится0
KZagreb
16.02.2017 08:17:15
Загребельная
Ответить Ссылка Мне нравится0
Мне нравится0
Кристина Козлова
16.02.2017 08:17:53
.
Ответить Ссылка Мне нравится0
Мне нравится0
Regina_Gumerova
16.02.2017 08:18:11
Гумерова 11б
Ответить Ссылка Мне нравится0
Мне нравится0
Дима Куфтерин
16.02.2017 08:18:41
Планеты
Планеты
Ответить Ссылка Мне нравится0
Мне нравится0
Максимов Николай
16.02.2017 08:19:05
Ответить Ссылка Мне нравится0
Мне нравится0
Эльмир
16.02.2017 08:19:41
11b
Ответить Ссылка Мне нравится0
Мне нравится0
DenisA
16.02.2017 08:20:44
Планета
ерпар
Ответить Ссылка Мне нравится0
Мне нравится0
Императорский пингвин
16.02.2017 08:21:04
планета
новикова на тройку
Ответить Ссылка Мне нравится0
Мне нравится0
КареваДД
16.02.2017 08:23:12
Работа
Карева Дарья 11б
Ответить Ссылка Мне нравится0
Мне нравится0
Московец Надя
16.02.2017 08:24:34
Классная работа.
Ответить Ссылка Мне нравится0
Мне нравится0
Артур Даньшин
16.02.2017 13:40:47
Даньшин Артур 11 б
Ответить Ссылка Мне нравится0
Мне нравится0
Екатерина Худякова
16.02.2017 14:28:43
Худякова
Ответить Ссылка Мне нравится0
Мне нравится0
KZagreb
17.02.2017 13:04:21
Загребельная. «4»
Ответить Ссылка Мне нравится0
Мне нравится0
Императорский пингвин
17.02.2017 15:55:09
планетаааа
мои замечтаельные планеты на четверку!
Ответить Ссылка Мне нравится0
Мне нравится0
Императорский пингвин
17.02.2017 15:55:45
забыла..........я новикова анастасия
Ответить Ссылка Мне нравится0
Мне нравится0
Московец Надя
17.02.2017 16:35:41
Исправленная работа.
Ответить Ссылка Мне нравится0

....