Processing:Примеры/Вращение

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


Описание[1]

Вращение квадрата по оси Z. Чтобы результаты расчетов были максимально близки к ожидаемым, значение в параметре функции rotate() нужно указывать в радианах (это значения в диапазоне от «0» до «TWO_PI», где «TWO_PI» равняется примерно «6.28»). Если вы предпочитаете указывать углы в градусах (0-360), то можно сделать конвертацию при помощи метода radians(). К примеру, конструкция scale(radians(90)) идентична конструкции scale(PI/2).

Пример

float angle;
float jitter;

void setup() {
  size(640, 360);
  noStroke();
  fill(255);
  rectMode(CENTER);
}

void draw() {
  background(51);

  // во время четных секунд (0, 2, 4, 6...):
  if (second() % 2 == 0) {  
    jitter = random(-0.1, 0.1);
  }
  angle = angle + jitter;
  float c = cos(angle);
  translate(width/2, height/2);
  rotate(c);
  rect(0, 0, 180, 180);   
}

См.также

Внешние ссылки