Класс, представляющий трехмерный вектор.
3Д-вектор — это три упорядоченных числа (обозначенных x, y и z), которые могут использоваться для представления ряда вещей, таких как:
(0, 0, 0) до (x, y, z). Направление также измеряется от (0, 0, 0) до (x, y, z).
Перечисление Vector3 выдаёт его координаты (x, y, z) в том же порядке.
const a = new v3d.Vector3(0, 1, 0);
// в отсутствии аргументов станет (0, 0, 0)
const b = new v3d.Vector3();
const d = a.distanceTo(b);
0.0.0.Создает новый Vector3.
Флаг, указывающий, что данный объект является экземпляром Vector3. Только для чтения.
Добавляет v к данному вектору.
Добавляет скалярное значение s к значениям x, y и z этого вектора.
Добавляет v кратный s к текущему вектору.
Устанавливает текущий вектор в a + b.
Применяет к текущему вектору вращение, заданное осью и углом.
Применяет преобразование Эйлера к текущему вектору путем преобразования углов Эйлера в кватернион и его последующего применения.
Умножает текущий вектор на m.
Умножает текущий вектор (с неявной 1 в 4-м измерении) и m, и делит на перспективу.
Умножает текущий вектор на нормальную матрицу m и нормализует результат.
Применяет преобразование, заданное кватернионом, к текущему вектору.
Возвращает угол между текущеим вектором и вектором v в радианах.
Компоненты x, y и z текущего вектора округляются вниз до ближайшего целого значения.
Если значение x, y или z этого вектора больше, чем значение x, y или z вектора max, оно заменяется соответствующим значением. Если значение x, y или z этого вектора меньше, чем значение x, y или z вектора min, оно заменяется соответствующим значением.
Если длина этого вектора больше значения max, то она становится max. Если длина этого вектора меньше значения min, она становится min.
Если значения x, y или z этого вектора больше максимального значения, они заменяются максимальным значением. Если значения x, y или z этого вектора меньше минимального значения, они заменяются минимальным значением.
Возвращает новый вектор с теми же значениями x, y и z, что и текущий.
Копирует значения свойств x, y и z из указанного вектора в текущий.
Устанавливает текущий вектор в векторное произведение самого себя и v.
Устанавливает данный вектор в векторное произведение a и b.
Вычисляет расстояние от данного вектора до v.
Вычисляет расстояние городских кварталов от данного вектора до v.
Вычисляет квадрат расстояния от данного вектора до v. Если вы просто сравниваете расстояние с другим расстоянием, то следует сравнивать расстояние в квадрате, так как оно вычисляется немного эффективнее.
Делит данный вектор на v.
Делит данный вектор на скаляр s.
Вычисляет скалярное произведение текущего вектора и v.
Проверяет строгое равенство данного вектора и v.
Компоненты этого вектора округляются вниз до ближайшего целого значения.
Устанавливает значение x этого вектора в array[offset], y в array[offset + 1] и z в array[offset + 2].
Устанавливает значения x, y и z текущего вектора из указанного атрибута.
index — 0, 1 или 2.
Если индекс равен 0, возвращается значение x. Если индекс равен 1, возвращается значение y. Если индекс равен 2, возвращается значение z.
Вычисляет Евклидову длину (длину прямой линии) от (0, 0, 0) до (x, y, z).
Вычисляет расстояние городских кварталов для текущего вектора.
Вычисляет квадрат Евклидовой длины (длины прямой) от (0, 0, 0) до (x, y, z). Если вы сравниваете длины векторов, следует сравнивать квадрат длины, так как он вычисляется немного эффективнее.
[0, 1].Линейно интерполирует между текущим вектором и v, где alpha - процентное расстояние вдоль линии - alpha = 0 оставит текущий вектор, а alpha = 1 установит v.
[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.
Преобразует текущий вектор в единичный вектор — то есть, устанавливает его равным вектору с тем же направлением, что и текущий, но с длиной равной 1.
camera — камера для проецирования.
Проецирует текущий вектор из мирового пространства в пространство нормализованных координат (NDC) камеры.
planeNormal — вектор, представляющий нормаль к плоскости.
Проецирует текущий вектор на плоскость путем вычитания из него вектора, спроецированного на нормаль плоскости.
Проецирует текущий вектор на v.
normal — нормаль к отражающей плоскости.
Отражает текущий вектор от плоскости, ортогональной к normal. Предполагается, что нормаль имеет единичную длину.
Компоненты этого вектора округляются до ближайшего целого значения.
Компоненты этого вектора округляются в сторону нуля (вверх, если отрицательные, вниз, если положительные) до целого значения.
Устанавливает компоненты x, y и z текущего вектора.
Если индекс равен 0, устанавливает x в value. Если индекс равен 1, устанавливает y в value. Если индекс равен 2, устанавливает z в value.
Устанавливает текущий вектор из цилиндрических координат radius, theta и y.
Устанавливает координаты x, y и z вектора из x, y, and z компонент указанных углов Эйлера.
Устанавливает компоненты x, y и z текущего вектора из столбца index матрицы matrix.
Устанавливает компоненты x, y и z текущего вектора из столбца index матрицы matrix.
Устанавливает текущий вектор в элементы позиции матрицы преобразования m.
Устанавливает текущий вектор на масштабные элементы матрицы преобразования m.
Задает текущий вектор из сферических координат s.
Задает текущий вектор из сферических координат radius, phi и theta.
Устанавливает текущий вектор в вектор с тем же направлением, что и этот, но с длиной равной l.
Устанавливает значения x, y и z текущего вектора равными scalar.
Заменяет значение x текущего вектора на x.
Заменяет значение y текущего вектора на y.
Заменяет значение z текущего вектора на z.
Вычитает v из текущего вектора.
Вычитает s из компонент x, y и z текущего вектора.
Устанавливает текущий вектор в a - b.
Возвращает массив [x, y, z], или копирует x, y и z в предоставленный массив.
Преобразует направление текущего вектора по матрице (левое верхнее подмножество 3 x 3 из m) и затем нормализует результат.
camera — камера для проецирования.
Проецирует текущий вектор из пространства нормализованных координат (NDC) камеры в мировое пространство.
Устанавливает каждый компонент текущего вектора в псевдослучайное значение между 0 и 1, исключая 1.
Устанавливает вектор в вектор с единичной длиной и случайным направлением.
Следующие пазлы могут использоваться для работы с векторами без необходимости писать код:
О том как получить исходный код этого модуля читайте тут.