Трансформації

Для створення ефекту анімації можна застосовувати промальовування окремих кадрів, витирання намальованого (заливка кольором тла), і промальовування наступного кадру. Можна також застосовувати трансформацію - операцію зміни розміщення усього полотна (або спеціальним чином позначеної частини).

Переміщення

translate (x,y);

 

rect(150,50,100,100);

translate (150,200);

rect(100,100,100,100);

Зміни застосовуються до цілої координатної площини, змінюючи точку початку відліку координат.


Масштабування

scale(s);
Якщо s=1, масштаб не змінюється, s<1 - об'єкти зменшуються, s>1 - об'єкти збільшуються.

Зміна по суті полягає у зміні розмірів пікселів на площині проекту

rect(150,50,100,100);

scale (2); 

rect(100,100,100,100);

 
scale(x,y); дозволяє виконувати масштабування окремо за шириною та висотою


Поворот

rotate (angle); rotate (radians(angle)); 
За умовчанням команда rotate здійснює поворот на вказаний кут в радіанах. Для перетворення з числа градусів у радіани використовується команда radians(angle)
Зміна полягає у зміненні напрямків координатних осей.

rect(150,50,100,100);

rotate (radians(20));

rect(100,100,100,100);

 


Трансформація окремих об'єктів 

Відбувається через команди pushMatrix(); та popMatrix(); між якими записуються команди обробки потрібних об'єктів.


Приклади

Застосування кількох команд переміщення підряд
translate (x,y); 
translate (x,y); 



Переміщення та поворот 
translate (x,y); 
rotate (angle); 



Поворот та переміщення
rotate (angle); 
translate (x,y);


Остання зміна: неділя 17 грудня 2017 5:44