Источники: П. А. Орлов ПРОГРАММИРОВАНИЕ ДЛЯ ДИЗАЙНЕРОВ
Учимся программировать вместе с Processing Кейси Риз и Бен Фрай
Система координат. Трансформации
Для создания эффекта анимации можно применять:
- прорисовки отдельных кадров, вытирания нарисованного (заливка цветом фона), и прорисовки следующего кадра,
- можно также применять трансформацию - операцию изменения размещения всего полотна (или специальным образом обозначенной части).
Виды трансформаций: перемещение, вращение, масштабирование
|
1. Перемещение
Один из видов трансформации - изменение координат окна - функция translate(). Она сдвигает координаты системы влево, вправо, вверх и вниз с помощью всего двух параметров.
Например, вместо перемещения фигуры на 60 пикселей вправо вы можете сместить координату окна (0,0) вправо на 60 пикселей - визуально результат будет тем же
Обратите внимание!!! Изменения применяются к целой координатной плоскости, меняя точку начала отсчета координат.
size(300,300); |
|
size(300,200); translate(60,0);//смещение системы координат вправо на 60 пикселей fill(0,0,255,90); |
|
|
Пример 2. Смещение системы координат относительно верхнего левого угла окна
size(500,400); translate(40,20);//смещает систему координат относительно верхнего левого угла окна по оси ОХ на 40 пк, относительно оси ОУ на 20 пк. fill(255,0,0); translate(60,70);//смещает систему координат относительно верхнего левого угла окна по оси ОХ на 60 пк, относительно оси ОУ на 70 пк. fill(0,255,0); |
|
Пример 3. В этом примере обратите внимание на то, что все прямоугольники изображены относительно точки (0,0) и перемещаются по экрану под воздействием функции translate().
вариант 1
В среде Processing можно воспользоваться некоторыми системными переменными, в частности: mouseX содержит x-координату мыши
|
|
void setup() { translate(mouseX, mouseY);// функция translate() вместо точки (0,0) записывает координаты курсора |
вариант 2
void setup () { void draw () { |