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

Processing:Примеры/Рука

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


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

Контакты:

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


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


Описание[1]

Угол первого сегмента (плеча) управляется при помощи позиции mouseX, а второго (предплечья) – при помощи позиции mouseY. Трансформации, применяемые к первому сегменту, также применяются ко второму сегменту, т.к. они находятся в одной координатной системе (матрице преобразований), созданной с помощью методов pushMatrix() и popMatrix().

Пример

  1. float x, y;
  2. float angle1 = 0.0;
  3. float angle2 = 0.0;
  4. float segLength = 100;
  5.  
  6. void setup() {
  7.   size(640, 360);
  8.   strokeWeight(30);
  9.   stroke(255, 160);
  10.  
  11.   x = width * 0.3;
  12.   y = height * 0.5;
  13. }
  14.  
  15. void draw() {
  16.   background(0);
  17.  
  18.   angle1 = (mouseX/float(width) - 0.5) * -PI;
  19.   angle2 = (mouseY/float(height) - 0.5) * PI;
  20.  
  21.   pushMatrix();
  22.   segment(x, y, angle1);
  23.   segment(segLength, 0, angle2);
  24.   popMatrix();
  25. }
  26.  
  27. void segment(float x, float y, float a) {
  28.   translate(x, y);
  29.   rotate(a);
  30.   line(0, 0, segLength, 0);
  31. }

См.также

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

  1. processing.org - Arm