Класс, представляющий трехмерный вектор. 3D-вектор - это три упорядоченных числа (обозначенных x, y и z), которая может использоваться для представления ряда вещей, таких как:
Существуют и другие способы представления 3D-векторов, например, векторы импульса и т.д., однако это наиболее распространенные варианты использования в Verge3D.
const a = new v3d.Vector3(0, 1, 0);
//no arguments; will be initialised to (0, 0, 0)
const b = new v3d.Vector3();
const d = a.distanceTo(b);
x — значение x этого вектора. По умолчанию 0.
y — значение y этого вектора. По умолчанию 0.
z — значение z этого вектора. По умолчанию 0.
Созадет новый Vector3.
Добавляет v к данному вектору.
Добавляет скалярное значение s к значениям x, y и z этого вектора.
Добавляет кратное v и s к данному вектору.
Устанавливает этот вектор в a + b.
axis — нормализованный Vector3.
angle — Угол в радианах.
Применяет к данному вектору вращение, заданное осью и углом.
Применяет преобразование Эйлера к данному вектору путем преобразования объекта Euler в Quaternion и применения.
Умножает этот вектор на m.
Умножает этот вектор (с неявной 1 в 4-м измерении) и m, и делит на перспективу.
Умножает этот вектор на нормальную матрицу m и нормализует результат.
Применяет преобразование Quaternion к данному вектору.
Возвращает угол между этим вектором и вектором v в радианах.
Компоненты x, y и z этого вектора округляются до ближайшего целого значения.
min — минимальные значения x, y и z.
max — максимальные значения x, y и z в нужном диапазоне
Если значение x, y или z этого вектора больше, чем значение x, y или z вектора max, оно заменяется соответствующим значением.
Если значение x, y или z этого вектора меньше, чем значение x, y или z вектора min, оно заменяется соответствующим значением.
min — минимальное значение, до которого будет ограничиваться длина
max — максимальное значение, до которого будет ограничиваться длина
Если длина этого вектора больше значения max, то он заменяется значением max.
Если длина этого вектора меньше минимального значения, он заменяется минимальным значением.
min — минимальное значение, на которое будут ограничиваться компоненты
max — максимальное значение, на которое будут ограничиваться компоненты
Если значения x, y или z этого вектора больше максимального значения, они заменяются максимальным значением.
Если значения x, y или z этого вектора меньше минимального значения, они заменяются минимальным значением.
Возвращает новый vector3 с теми же значениями x, y и z, что и данный.
Копирует значения свойств x, y и z переданного vector3 в этот vector3.
Устанавливает данный вектор в векторное произведение самого себя и v.
Устанавливает данный вектор в векторное произведение v и v.
Вычисляет расстояние от данного вектора до v.
Вычисляет расстояние городских кварталов от данного вектора до v.
Вычисляет квадрат расстояния от данного вектора до v. Если вы просто сравниваете расстояние с другим расстоянием, то вместо этого следует сравнивать расстояние в квадрате, так как оно вычисляется немного эффективнее.
Делит данный вектор на v.
Делит данный вектор на скаляр s.
Устанавливает вектор в (0, 0, 0), если *s = 0*.
Вычислите скалярное произведение этого вектора и v.
Проверяет строгое равенство данного вектора и v.
Компоненты этого вектора округляются до ближайшего целого значения.
array — исходный массив.
offset — (необязательно) смещение в массиве. По умолчанию 0.
Устанавливает значение x этого вектора в массив[offset + 0], y в массив[offset + 1] и z в массив[offset + 2].
attribute — атрибут источника.
index — индекс в атрибуте.
Устанавливает значения x, y и z этого вектора из атрибута BufferAttribute.
index — 0, 1 или 2.
Если индекс равен 0, возвращается значение x.
Если индекс равен 1, возвращается значение y.
Если индекс равен 2, возвращается значение z.
Вычисляет Евклидову длину (длину прямой линии) от (0, 0, 0) до (x, y, z).
Вычисляет расстояние городских кварталов этого вектора.
Вычисляет квадрат Евклидовой длины (длины прямой) от (0, 0, 0) до (x, y, z). Если вы сравниваете длины векторов, то вместо этого следует сравнивать квадрат длины, так как он вычисляется немного эффективнее.
v - Vector3 для интерполяции в направлении.
alpha — коэффициент интерполяции, обычно в замкнутом интервале [0, 1].
Линейно интерполируйте между этим вектором и v, где alpha - процентное расстояние вдоль линии - alpha = 0 будет этот вектор, а alpha = 1 будет v.
v1 — начальный Vector3.
v2 - Vector3 для интерполяции.
alpha — коэффициент интерполяции, обычно в замкнутом интервале [0, 1].
Устанавливает этот вектор как вектор, линейно интерполированный между v1 и v2, где alpha - процентное расстояние вдоль линии, соединяющей два вектора - alpha = 0 будет v1, а alpha = 1 будет v2.
Если значение x, y или z этого вектора меньше значения x, y или z v, замените это значение соответствующим значением max.
Если значение x, y или z этого вектора больше, чем значение x, y или z v, замените это значение соответствующим значением min.
Умножает данный вектор на v.
Умножает данный вектор на скаляр s.
Устанавливает этот вектор равным a * b, покомпонентно.
Инвертирует данный вектор - то есть устанавливает x = -x, y = -y и z = -z.
Преобразуйте этот вектор в единичный вектор — то есть, устанавливает его равным вектору с тем же направлением, что и этот, но length 1.
camera — камера для использования в проекции.
Проецирует этот вектор из мирового пространства в пространство нормализованных координат устройства (NDC) камеры.
planeNormal — Вектор, представляющий нормаль к плоскости.
Проецирует этот вектор на плоскость путем вычитания из него вектора, спроецированного на нормаль плоскости.
Проецирует этот вектор на v.
normal — нормаль к отражающей плоскости
Отразите этот вектор от плоскости, ортогональной к normal. Предполагается, что нормаль имеет единичную длину.
Компоненты этого вектора округляются до ближайшего целого значения.
Компоненты этого вектора округляются в сторону нуля (вверх, если отрицательные, вниз, если положительные) до целого значения.
Устанавливает компоненты x, y и z этого вектора..
index — 0, 1 или 2.
value - Float
Если индекс равен 0, установите x на value..
Если индекс равен 1, установите x на value..
Если индекс равен 2, установите x на value.
Устанавливает этот вектор из цилиндрических координат c.
Устанавливает этот вектор из цилиндрических координат radius, theta и y.
Устанавливает компоненты x, y и z этого вектора из столбца index матрицы matrix.
Устанавливает компоненты x, y и z этого вектора из столбца index матрицы matrix.
Устанавливает этот вектор в элементы позиции матрицы преобразования m.
Устанавливает этот вектор на масштабные элементы матрицы преобразования m.
Задает этот вектор из сферических координат s.
Задает этот вектор из сферических координат radius, phi и theta..
Установите этот вектор в вектор с тем же направлением, что и этот, но length l.
Установите значения x, y и z этого вектора равными scalar.
Замените значение x этого вектора на x.
Замените значение y этого вектора на y.
Замените значение z этого вектора на z.
Вычитает v из данного вектора.
Вычитает s из компонент x, y и z данного вектора.
Устанавливает этот вектор в a - b.
array — (необязательный) массив для хранения этого вектора. Если он не указан, будет создан новый массив.
offset — (необязательный) необязательное смещение в массиве.
Возвращает массив [x, y, z], или копирует x, y и z в предоставленный array.
Преобразует направление этого вектора по матрице (левое верхнее подмножество 3 x 3 из m) и затем normalizes результат.
camera — камера для использования в проекции.
Проецирует этот вектор из пространства нормализованных координат устройства (NDC) камеры в мировое пространство.
Устанавливает каждый компонент этого вектора в псевдослучайное значение между 0 и 1, исключая 1.
О том как получить исходный код этого модуля читайте тут.