Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Примеры/Синус и косинус

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


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


Ambox content.png Черновик


Описание[1]

Линейное движение при помощи функций sin() и cos().

В этом скетче-примере функциям sin() и cos() «скармливаются» значения между «0» и «PI*2» (то есть два числа Пи, что составляет примерно «6,28»), после чего они возвращают значения в диапазоне от «-1» до «1». Затем эти значения масштабируются к другому числовому диапазону, чтобы эллипсы двигались более заметно.

Пример

  1. float x1, x2, y1, y2;
  2. float angle1, angle2;
  3. float scalar = 70;
  4.  
  5. void setup() {
  6.   size(640, 360);
  7.   noStroke();
  8.   rectMode(CENTER);
  9. }
  10.  
  11. void draw() {
  12.   background(0);
  13.  
  14.   float ang1 = radians(angle1);
  15.   float ang2 = radians(angle2);
  16.  
  17.   x1 = width/2 + (scalar * cos(ang1));
  18.   x2 = width/2 + (scalar * cos(ang2));
  19.  
  20.   y1 = height/2 + (scalar * sin(ang1));
  21.   y2 = height/2 + (scalar * sin(ang2));
  22.  
  23.   fill(255);
  24.   rect(width*0.5, height*0.5, 140, 140);
  25.  
  26.   fill(0, 102, 153);
  27.   ellipse(x1, height*0.5 - 120, scalar, scalar);
  28.   ellipse(x2, height*0.5 + 120, scalar, scalar);
  29.  
  30.   fill(255, 204, 0);
  31.   ellipse(width*0.5 - 120, y1, scalar, scalar);
  32.   ellipse(width*0.5 + 120, y2, scalar, scalar);
  33.  
  34.   angle1 += 2;
  35.   angle2 += 3;
  36.  
  37. }

См.также

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

  1. processing.org - Sine Cosine