Processing:Примеры/Вращение: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=Описание<ref>[https://processing.org/examples/rotate.html processing.org - Rotate]</ref>=
=Описание<ref>[https://processing.org/examples/rotate.html processing.org - Rotate]</ref>=
Строка 53: Строка 53:
}}
}}


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
float angle;
float angle;
float jitter;
float jitter;
Строка 101: Строка 101:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}
{{Навигационная таблица/Processing/Примеры}}

Версия от 11:59, 20 мая 2023


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



Описание[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);   
}

См.также

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