11АБ(2): 8 февраля (актировка)

 

11АБ(2): 8 февраля (актировка)


Продолжим осваивать графику в языке программирования. Сегодня займёмся анимацией и морфингом.
Анима́ция (от фр.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 КБ)
planeta.exe (140.02 КБ)

' }), 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
ElizavetaKislitsyna
08.02.2017 16:22:43
Извините, у меня не открываются те файлы, поэтому сделала только это
Ответить Ссылка Мне нравится0
Мне нравится0
Родион Шарипов
08.02.2017 17:54:47
Домашнее задание
кек
Ответить Ссылка Мне нравится0
Мне нравится0
проба
09.02.2017 08:11:39
Душкин
Ответить Ссылка Мне нравится0
Мне нравится0
Danil_lendel
11.02.2017 11:54:27
Планеты
Здрасьте)
Ответить Ссылка Мне нравится0
Мне нравится0
admin_msa
11.02.2017 14:39:09
И Вам не хворать, Danil. Одного слова "Планеты" не достаточно для выполнения работы, осталось еще малость - добавить файлы.
Ответить Родитель Ссылка Мне нравится0
Мне нравится0
KZagreb
12.02.2017 19:40:21
Загребельная Е. 11б 1 группа
Ответить Ссылка Мне нравится0
Мне нравится0
Billydor
21.02.2017 12:46:07
Таксист
Отличный вариант
_______________________________



Ответить Ссылка Мне нравится0

....