Processing:Примеры/Расчет вектора: различия между версиями

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


<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">
void setup() {
void setup() {
   size(640,360);
   size(640,360);

Версия от 18:23, 14 мая 2023


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


Черновик


Описание[1]

Демонстрация применения базовой векторной математики: вычитание, нормализация, увеличение длины вектора. Нормализация – это приведение длины вектора к значению 1.

Пример

void setup() {
  size(640,360);
}

void draw() {
  background(0);
  
  // вектор, указывающий в сторону курсора мыши:
  PVector mouse = new PVector(mouseX,mouseY);
  // вектор, указывающий в центр экрана:
  PVector center = new PVector(width/2,height/2);
  // вычитаем вектор центра из вектора курсора
  // и получаем вектор, указывающий от центра к курсору мыши:
  mouse.sub(center);
  
  // выполняем нормализацию вектора:
  mouse.normalize();
  
  // умножаем нормализованный вектор на 150 (увеличиваем его длину):
  mouse.mult(150);

  translate(width/2,height/2);
  // рисуем получившийся вектор:
  stroke(255);
  strokeWeight(4);
  line(0,0,mouse.x,mouse.y);
  
}

См.также

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