Processing:Справочник языка Processing/PVector
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
PVector [1]
Обозначение
PVector
Описание
Класс для описания двух- или трехмерного вектора, в частности Евклидовый (также известной как геометрический) вектор. Вектор - это объект, который имеет как величину, так и направление. Однако в этом типе данных хранятся компоненты вектора (x, y для 2D и x, y, z для 3D). Доступ к величине и направлению можно получить с помощью методов mag() и heading().
Во многих примерах Processing вы увидите, что PVector используется для описания положения, скорости или ускорения. Например, если вы рассматриваете прямоугольник, движущийся по экрану, в любой момент времени он имеет положение (вектор, который указывает от начала координат к его местоположению), скорость (скорость, с которой позиция объекта изменяется в единицу времени, выраженная как вектор) и ускорение (скорость изменения скорости объекта за единицу времени, выраженная в виде вектора). Поскольку векторы представляют собой группы значений, мы не можем просто использовать традиционное сложение/умножение/ и т.д. Вместо этого нам нужно будет выполнить некоторую «векторную» математику, которая упрощается методами внутри класса PVector.
Поля
Методы
- set() - Задание компонентов вектора.
- random2D() - Создание нового 2D-единичного вектора с произвольным направлением.
- random3D() - Создание нового 3D-единичного вектора с произвольным направлением.
- fromAngle() - Создание нового 2D-единичного вектора под углом.
- copy() - Получение копии вектора.
- mag() - Вычисление величины вектора
- magSq() - Вычисление квадрата величины вектора.
- add() - Добавление x, y и z компоненты в вектор, один вектор в другой или два независимых вектора.
- sub() - Вычитание x, y и z компоненты из вектора, одного вектора из другого или двух независимых векторов.
- mult() - Умножение вектора на скаляр.
- div() - Деление вектора на скаляр.
- dist() - Вычисление расстояния между двумя точками.
- dot() - Вычисление скалярного произведения двух векторов.
- cross() - Вычисление и возврат перекрестного произведения.
- normalize() - Нормализовать вектор до длины равной 1.
- limit() - Ограничение величины вектора.
- setMag() - Задание величины вектора.
- heading() - Вычисление угла поворота для этого вектора.
- rotate() - Поворот вектора на угол (только 2D).
- lerp() - Линейная интерполяция вектора к другому вектору.
- angleBetween() - Вычисление и возврат угла между двумя векторами.
- array() - Возвращение представления вектора как массива с плавающей точкой.
Конструктор
PVector()
PVector(x, y, z)
PVector(x, y)
Параметры
x - тип float: x координата.
y - тип float: y координата.
z - тип float: z координата.
Пример
PVector v1, v2;
void setup() {
noLoop();
v1 = new PVector(40, 20);
v2 = new PVector(25, 50);
}
void draw() {
ellipse(v1.x, v1.y, 12, 12);
ellipse(v2.x, v2.y, 12, 12);
v2.add(v1);
ellipse(v2.x, v2.y, 24, 24);
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |