Класс, представляющий четырехмерный вектор. Четырехмерный вектор - это упорядоченная четверка чисел (обозначенных x, y, z и w), которая может быть использована для представления ряда вещей, таких как:
Есть и другие вещи, для представления которых можно использовать 4D-вектор, однако это самые распространенные варианты использования в Verge3D.
const a = new v3d.Vector4(0, 1, 0, 0);
//без аргументов; инициализируется в (0, 0, 0, 0, 1)
const b = new v3d.Vector4();
const d = a.dot(b);
x — значение x этого вектора. По умолчанию 0.
y — значение y этого вектора. По умолчанию 0.
z — значение z этого вектора. По умолчанию 0.
w — значение w этого вектора. По умолчанию 0.
Создает новый Vector4.
Псевдоним для z.
Псевдоним для w.
Добавляет v к данному вектору.
Добавляет скалярное значение s к значениям x, y, z и w этого вектора.
Добавляет кратное v и s к данному вектору.
Устанавливает этот вектор в a + b..
Умножает данный вектор на 4 x 4 m.
Компоненты x, y, z и w этого вектора округляются до ближайшего целого значения.
min — минимальные значения x, y, z и w.
max — максимальные значения x, y, z и w в нужном диапазоне
Если значение x, y, z или w этого вектора больше, чем значение x, y, z или w вектора max, оно заменяется соответствующим значением.
Если значение x, y, z или w этого вектора меньше, чем значение x, y, z или w вектора min, оно заменяется соответствующим значением.
min — минимальное значение, до которого будет зажиматься длина
max — максимальное значение, до которого будет зажиматься длина
Если длина этого вектора больше значения max, то он заменяется значением max.
Если длина этого вектора меньше минимального значения, он заменяется минимальным значением.
min — минимальное значение, до которого будут зажиматься компоненты
max — максимальное значение, на которое будут зажиматься компоненты
Если значения x, y, z или w этого вектора больше максимального значения, они заменяются максимальным значением.
Если значения x, y, z или w этого вектора меньше минимального значения, они заменяются минимальным значением.
Возвращает новый Vector4 с теми же значениями x, y, z и w, что и данный.
Копирует значения свойств x, y, z и w переданного Vector4 в этот Vector4.
Делит данный вектор на скаляр s.
Устанавливает вектор в (0, 0, 0, 0, 0), если *s = 0*.
Вычисляет скалярное произведение данного вектора и v.
Проверяет строгое равенство данного вектора и v.
Компоненты этого вектора округляются до ближайшего целого значения.
array — исходный массив.
offset — (необязательно) смещение в массиве. По умолчанию равно 0.
Устанавливает значение x этого вектора в массив[offset + 0], y в массив[offset + 1] z в массив[offset + 2] и w в массив[offset + 3].
attribute — атрибут источника.
index — индекс в атрибуте.
Устанавливает значения x, y, z и w этого вектора из атрибута BufferAttribute.
index — 0, 1, 2 или 3.
Если индекс равен 0, возвращается значение x.
Если индекс равен 1, возвращается значение x.
Если индекс равен 2, возвращается значение x.
Если индекс равен 3, возвращается значение x.
Вычисляет Евклидову длину (длину прямой линии) от (0, 0, 0, 0, 0) до (x, y, z, w).
Вычисляет расстояние городских кварталов этого вектора.
Вычисляет квадрат Евклидовой длины (длины прямой) от (0, 0, 0, 0, 0) до (x, y, z, w). Если вы сравниваете длины векторов, то вместо этого следует сравнивать квадрат длины, так как он вычисляется немного эффективнее.
v - Vector4 для интерполяции в направлении.
alpha — коэффициент интерполяции, обычно в замкнутом интервале [0, 1].
Линейно интерполирует между этим вектором и v, где alpha - процентное расстояние вдоль линии - alpha = 0 будет этот вектор, а alpha = 1 будет v.
v1 — начальный Vector4.
v2 - Vector4 для интерполяции в направлении.
alpha — коэффициент интерполяции, обычно в замкнутом интервале [0, 1].
Устанавливает этот вектор как вектор, линейно интерполированный между v1 и v2, где alpha - процентное расстояние вдоль линии, соединяющей два вектора - alpha = 0 будет v1, а alpha = 1 будет v2.
Инвертирует этот вектор - то есть устанавливает x = -x, y = -y, z = -z и w = -w.
Преобразует этот вектор в единичный вектор — то есть устанавливает его равным вектору с тем же направлением, что и этот, но length 1.
Если значение x, y, z или w этого вектора меньше, чем значение x, y, z или w v, замените это значение соответствующим значением max.
Если значение x, y, z или w этого вектора больше, чем значение x, y, z или w v, замените это значение соответствующим значением min.
Умножает данный вектор на скаляр s..
Компоненты этого вектора округляются до ближайшего целого значения.
Компоненты этого вектора округляются в сторону нуля (вверх, если отрицательные, вниз, если положительные) до целого значения.
Задает компоненты x, y, z и w этого вектора.
q — нормализованный Quaterion.
Устанавливает компоненты x, y и z этого вектора на ось кватерниона, а w — на угол.
m - Matrix4, левая верхняя матрица 3x3 которой является чистой матрицей вращения.
Задает x, y и z ось вращения, а w — угол.
index — 0, 1 или 2.
value - Float
Если индекс равен 0, установите x на value.
Если индекс равен 1, установите x на value.
Если индекс равен 2, установите x на value.
Если индекс равен 3, установите x на value.
Устанавливает этот вектор в вектор с тем же направлением, что и этот, но length l.
Устанавливает значения x, y, z и w этого вектора равными scalar.
Заменяет значение x этого вектора на x.
Заменяет значение y этого вектора на y.
Заменяет значение z этого вектора на z.
Заменяет значение w этого вектора на w.
Вычитает v из данного вектора.
Вычитает s из компонент x, y, z и w данного вектора.
Устанавливает этот вектор в a - b.
array — (необязательный) массив для хранения этого вектора. Если он не указан, будет создан новый массив.
offset — (необязательный) необязательное смещение в массиве.
Возвращает массив [x, y, z, w], или копирует x, y, z и w в предоставленный array.
Устанавливает каждый компонент этого вектора в псевдослучайное значение между 0 и 1, исключая 1.
О том как получить исходный код этого модуля читайте тут.