Three.js

From three.js

Математика

В этом разделе рассматриваются некоторые объекты и функции, имеющие отношение к математике. В чистом Javascript их нет, но для визуализации и анимации трехмерных объектов они просто необходимы.
Box2 - прямоугольник
Box3 - параллелепипед
Color - класс, представляющий цвет
Cylindrical - координаты точки в цилиндрической системе координат
Euler - класс, представляющий углы Эйлера
Frustum - класс для расчета объемных областей просмотра камеры и теневой камеры, в виде усеченных пирамид
Interpolant - базовый класс интерполянтов, т.е. интерполирующих функций
Line3 - линия
Math - объект с некоторыми вспомогательными математическими функциями.
Matrix3 - матрица 3×3
Matrix4 - матрица 4×4
Plane - плоскость
Quaternion - кватернион
Ray - луч
Sphere - сфера
Spherical - координаты точки в сферической системе координат.
Triangle - треугольник
Vector2 - двумерный вектор
Vector3 - трехмерный вектор
Vector4 - четырехмерный вектор

Box2

Представляет собой ограниченный прямоугольник в двумерном пространстве.

Конструктор

Box2( 
сокращ. от англ. слова minimum - минимум');" onmouseout="hide()">min
,
сокращ. от англ. слова maximum - максимум');" onmouseout="hide()">max
)
min - двумерный вектор (Vector2), представляющий нижнюю границу (x, y) прямоугольника, дополнительный, необязательный параметр. Значением по умолчанию является ( +Infinity, +Infinity ).
max - двумерный вектор (Vector2), представляющий верхнюю границу (x, y) прямоугольника, дополнительный, необязательный параметр. Значением по умолчанию является ( -Infinity, -Infinity ).
Создает прямоугольник, ограниченный по min и max.

Свойства



сокращ. от англ. слова minimum - минимум');" onmouseout="hide()">.min
Двумерный вектор (Vector2), представляющий нижнюю границу (x, y) прямоугольника. Значением по умолчанию является ( +Infinity, +Infinity ).


сокращ. от англ. слова maximum - максимум');" onmouseout="hide()">.max
Двумерный вектор (Vector2), представляющий верхнюю границу (x, y) прямоугольника. Значением по умолчанию является ( -Infinity, -Infinity ).

Методы



clamp point - зажать (закрепить) точку');" onmouseout="hide()">.clampPoint
(
point - точка');" onmouseout="hide()">point
,
optional target - дополнительная цель');" onmouseout="hide()">optionalTarget
)

point - точка')" onmouseout="hide()">point
- двумерный вектор (Vector2), который нужно закрепить.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный двумерный вектор (Vector2), в противном случае будет создан новый Vector2. Дополнительный, необязательный параметр.
Метод зажимает точку внутри границ заданного прямоугольника.
Примечание переводчика: Вот перевод вышеприведенной статьи из английской Википедии
В компьютерной графике, зажим (clamping) - это процесс ограничения (фиксации) местоположения в какой-либо области. В отличие от упаковки (wrapping'а), зажим (clamping) просто перемещает точку к ближайшему доступному значению.
В общем случае, зажим (clamping) используется для ограничения значения в заданном диапазоне. Например, в OpenGL glClearColor принимает значение GLclampf, которым является число gl с плавающей запятой, «зажатое» в диапазоне [0,1].
Одно из многих применений зажима (clamping'а) в компьютерной графике является размещение некоей детали в полигоне - например, отверстие от пули в стене. Также зажим может использоваться для создания различных эффектов.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новый Box2 с теми же самыми значениями min и max как у этого.

.containsBox( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)
Возвращает значение true, если в данный прямоугольник включен целиком прямоугольник, указанный в параметре box. Если данный прямоугольник и указанный в параметре box одинаковы, эта функция также возвратит значение true.

.containsPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- двумерный вектор (Vector2) для проверки на включение.
Возвращает значение true, если точка, указанная в параметре
point - точка')" onmouseout="hide()">point
, лежит внутри или на границах данного прямоугольника.


copy - копировать')" onmouseout="hide()">.copy
(
box - коробка, ящик, клетка')" onmouseout="hide()">box
)
Копирует значения min и max из прямоугольника указанного в
box - коробка, ящик, клетка')" onmouseout="hide()">box
в данный прямоугольник.

.distanceToPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- двумерный вектор (Vector2) до которого измеряется расстояние.
Метод возвращает расстояние от любого края данного прямоугольника до указанной точки. Если точка (
point - точка')" onmouseout="hide()">point
) лежит внутри данного прямоугольника, то расстояние будет равно 0.

.equals( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- прямоугольник для сравнения с данным прямоугольником.
Возвращает значение true, если данный прямоугольник и прямоугольник box имеют одни и теже нижние и верхние границы.


expand by point - расширить до точки')" onmouseout="hide()">.expandByPoint
(
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- вектор (Vector2), который должен быть включен в этот прямоугольник.
Расширяет границы данного прямоугольника для включения точки
point - точка')" onmouseout="hide()">point
.


expand by scalar - расширить на скаляр(ное значение)')" onmouseout="hide()">.expandByScalar
( scalar )
scalar - Расстояние, на которое нужно расширить прямоугольник.
Метод расширяет каждую размерность данного прямоугльника на величину, указанную в аргументе scalar. Если его значение отрицательно, все размерности прямоугольника будут уменьшены, т.е. прямоугольник будет сокращен.


expand by vector - расширить на вектор(ное значение)')" onmouseout="hide()">.expandByVector
(
vector - вектор')" onmouseout="hide()">vector
)
Expands this box equilaterally by vector. The width of this box will be expanded by the x component of vector in both directions. The height of this box will be expanded by the y component of vector in both directions.


get center - получить центр')" onmouseout="hide()">.getCenter
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный двумерный вектор (Vector2), в противном случае будет создан новый Vector2. Дополнительный, необязательный параметр.
Метод возвращает центральную точку прямоугольника в виде Vector2.


get parameter - получить параметр')" onmouseout="hide()">.getParameter
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный двумерный вектор (Vector2), в противном случае будет создан новый Vector2. Дополнительный, необязательный параметр.
Возвращает точку как соотношение ширины и высоты данного прямоугольника.


get size - получить размер')" onmouseout="hide()">.getSize
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный двумерный вектор (Vector2), в противном случае будет создан новый Vector2. Дополнительный, необязательный параметр.
Возвращает ширину и высоту данного прямоугольника.


intersect - пересекаться')" onmouseout="hide()">.intersect
(
box - box - прямоугольник, коробка, ящик')" onmouseout="hide()">box
)
Возвращает пересечение данного прямоугольника с прямоугольником, переданным в аргументе
box - box - прямоугольник, коробка, ящик')" onmouseout="hide()">box
, устанавливая верхнюю границу данного прямоугольника наименьшей из верхних границ двух прямоугольников, а нижнюю границу данного прямоугольника наибольшей из нижних границ двух прямоугольников. Returns the intersection of this and box, setting the upper bound of this box to the lesser of the two boxes' upper bounds and the lower bound of this box to the greater of the two boxes' lower bounds.

.intersectsBox( 
box - box - прямоугольник, коробка, ящик')" onmouseout="hide()">box
)

box - box - прямоугольник, коробка, ящик')" onmouseout="hide()">box
- прямоугольник для проверки на наличие пересечения.
Определяет, пересекается ли данный прямоугольник с прямоугольником
box - box - прямоугольник, коробка, ящик')" onmouseout="hide()">box
.

.isEmpty( )
Метод возвращает значение true, если данный прямоугольник содержит нулевые точки внутри своих границ if this box includes zero points within its bounds.
Обратите внимание, что прямоугольник с одинаковыми нижними и верхними границами все же включает одну точку, которая принадлежит одновременно обоим границам Returns true if this box includes zero points within its bounds. Note that a box with equal lower and upper bounds still includes one point, the one both bounds share.


make empty - сделать пустым')" onmouseout="hide()">.makeEmpty
( )
Метод делает данный прямоугольник пустым.


set - установить')" onmouseout="hide()">.set
(
min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">min
,
max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">max
)

min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">min
- двумерный вектор (Vector2), представляющий нижнюю границу (x, y) данного прямоугольника, обязательный аргумент.

max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">max
- обязательный аргумент. (required) Vector2 representing the lower upper (x, y) boundary of the box.
Устанавливает нижнюю и верхнюю границы (x, y) данного прямоугольника.


set from center and size - установить по центру и размеру')" onmouseout="hide()">.setFromCenterAndSize
(
center - центр')" onmouseout="hide()">center
,
size - размер')" onmouseout="hide()">size
)

center - центр')" onmouseout="hide()">center
- желаемое положение центральной точки данного прямоугольника (Vector2).

size - размер')" onmouseout="hide()">size
- желаемые размеры по осям x и y данного прямоугольника (Vector2).
Метод устанавливает центр данного прямоугольника по месту, указанному в аргументе center, а также устанавливает его ширину и высоту равными значениям, указанным в аргументе size.


set from points - установить из точек')" onmouseout="hide()">.setFromPoints
( points )
points - массив из двумерных векторов (Vector2), которые будет содержать получающийся прямоугольник.
Устанавливает верхние и нижние границы данного прямоугольника так, что в него будут входить все точки, указанные в points.


translate - перевод, перенос')" onmouseout="hide()">.translate
(
offset - смещение')" onmouseout="hide()">offset
)

offset - смещение')" onmouseout="hide()">offset
- направление и расстояние смещения.
Добавляет смещение к обоим, верхней и нижней, границам данного прямоугольника, фактически перемещая этот прямоугольник Adds offset to both the upper and lower bounds of this box, effectively moving this box offset units in 2D space.


union - соединение')" onmouseout="hide()">.union
(
box - коробка, ящик, клетка')" onmouseout="hide()">box
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- прямоугольник, который будет объединен с данным прямоугольником.
Метод объединяет данный прямоугольник с прямоугольником, представленным в параметре box, устанавливая верхнюю границу данного прямоугольника по наибольшей из верхних границ обоих прямоугольников, а нижнюю границу этого прямоугольника как наименьшую из нижних границ обоих прямоугольников.

Исходники



Box3

Представляет собой прямоугольный параллелепипед или куб в 3-мерном пространстве. Основное назначение данного класса - представление прямоугольного параллелепипеда со сторонами, параллельными осям координат (в англоязычном варианте это Minimum Bounding Boxes), для ограничения некоторых геометрических объектов в пространстве.

Конструктор

Box3( 
сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min
,
сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">max
)

сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min
- трехмерный вектор (Vector3), представляющий нижнюю границу (x, y, z) прямоугольника, дополнительный, необязательный параметр. Значением по умолчанию является ( +Infinity, +Infinity, +Infinity ).

сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">max
- трехмерный вектор (Vector3), представляющий верхнюю границу (x, y, z) прямоугольника, дополнительный, необязательный параметр. Значением по умолчанию является ( -Infinity, -Infinity, -Infinity ).
Создает Box3, с границами по min и max.

Свойства


.isBox3
Свойство используется для проверки, является ли данный и производные от него классы Box3-ами. Значением по умолчанию является true.
Его нельзя изменять, так как оно используется внутри three.js для оптимизации.


сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">.min
Трехмерный вектор (Vector3), представляющий нижнюю границу (x, y, z) Box3. Значением по умолчанию является ( +Infinity, +Infinity, +Infinity ).


сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">.max
Трехмерный вектор (Vector3), представляющий верхнюю границу (x, y, z) Box3. Значением по умолчанию является ( -Infinity, -Infinity, -Infinity ).

Методы



apply matrix 4 - применить четырехмерную матрицу')" onmouseout="hide()">.applyMatrix4
(
matrix - матрица')" onmouseout="hide()">matrix
)
Метод преобразует данный Box3 Transforms this Box3 with the supplied matrix.


clamp point - зажать (закрепить) точку')" onmouseout="hide()">.clampPoint
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

point - точка')" onmouseout="hide()">point
- трехмерный вектор (Vector2), который нужно зафиксировать.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный трехмерный вектор (Vector3), в противном случае будет создан новый Vector3. Дополнительный, необязательный параметр.
Метод зажимает точку внутри границ заданного прямоугольника.
Примечание переводчика: Вот перевод вышеприведенной статьи из английской Википедии
В компьютерной графике, зажим (clamping) - это процесс ограничения (фиксации) местоположения в какой-либо области. В отличие от упаковки (wrapping'а), зажим (clamping) просто перемещает точку к ближайшему доступному значению.
В общем случае, зажим (clamping) используется для ограничения значения в заданном диапазоне. Например, в OpenGL glClearColor принимает значение GLclampf, которым является число gl с плавающей запятой, «зажатое» в диапазоне [0,1].
Одно из многих применений зажима (clamping'а) в компьютерной графике является размещение некоей детали в полигоне - например, отверстие от пули в стене. Также зажим может использоваться для создания различных эффектов.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новый Box3 с теми же самыми значениями min и max как у этого.

.containsBox( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)
Возвращает значение true, если в данный параллелепипед включен целиком параллелепипед, указанный в параметре box. Если данный параллелепипед и указанный в параметре box одинаковы, эта функция также возвратит значение true.

.containsPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- трехмерный вектор (Vector3) для проверки на включение.
Возвращает значение true, если точка, указанная в параметре
point - точка')" onmouseout="hide()">point
, лежит внутри или на границах данного параллелепипеда.


copy - копировать')" onmouseout="hide()">.copy
(
box - коробка, ящик, клетка')" onmouseout="hide()">box
)
Копирует значения min и max из параллелепипеда указанного в
box - коробка, ящик, клетка')" onmouseout="hide()">box
в данный параллелепипед.

.distanceToPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- трехмерный вектор (Vector3) до которого измеряется расстояние.
Метод возвращает расстояние от любого края данного параллелепипеда до указанной точки. Если точка (
point - точка')" onmouseout="hide()">point
) лежит внутри данного параллелепипеда, то расстояние будет равно 0.

.equals( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- параллелепипед для сравнения с данным параллелепипедом.
Возвращает значение true, если данный параллелепипед и параллелепипед box имеют одни и теже нижние и верхние границы.


expand by object - расширить по объекту')" onmouseout="hide()">.expandByObject
(
object - объект')" onmouseout="hide()">object
)

object - объект')" onmouseout="hide()">object
- Object3D, под который нужно расширить параллелепипед.
Расширяет границы данного параллелепипеда, чтобы включить объект с его дочерними объектами с учетом их глобальных преобразований. Expands the boundaries of this box to include object and its children, accounting for the object's, and children's, world transforms.


expand by point - расширить до точки')" onmouseout="hide()">.expandByPoint
(
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- вектор (Vector3), который должен быть включен в этот параллелепипед.
Расширяет границы данного параллелепипеда для включения точки
point - точка')" onmouseout="hide()">point
.


expand by scalar - расширить
на скаляр(ное значение)')" onmouseout="hide()">.expandByScalar
( scalar )
scalar - расстояние, на которое будет расширен параллелепипед.
Метод увеличивает каждое измерение данного параллелепипеда на скалярное значение. Если оно отрицательное, размеры параллелепипеда будут уменьшены.


expand by vector - расширить на вектор')" onmouseout="hide()">.expandByVector
(
vector - вектор')" onmouseout="hide()">vector
)
Expands this box equilaterally by vector. The width of this box will be expanded by the x component of vector in both directions. The height of this box will be expanded by the y component of vector in both directions. The depth of this box will be expanded by the z component of vector in both directions.


get bounding sphere - получить сферу,
ограниченную (параллелепипедом)')" onmouseout="hide()">.getBoundingSphere
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данную сферу (Sphere), в противном случае будет создана новая Sphere. Дополнительный, необязательный параметр.
Метод получает , ограниченную параллелепипедом.


get center - получить центр')" onmouseout="hide()">.getCenter
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный трехмерный вектор (Vector3), в противном случае будет создан новый Vector3. Дополнительный, необязательный параметр.
Метод возвращает центральную точку параллелепипеда в виде трехмерного вектора Vector3.


get parameter - получить параметр')" onmouseout="hide()">.getParameter
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

point - точка')" onmouseout="hide()">point
- трехмерный вектор (Vector3).

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный трехмерный вектор (Vector3), в противном случае будет создан новый Vector3. Дополнительный, необязательный параметр.
Возвращает точку как соотношение ширины, высоты и глубины данного параллелепипеда.


get size - получить размер')" onmouseout="hide()">.getSize
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
— если этот параметр указан, то результат будет скопирован в данный двумерный вектор (Vector3), в противном случае будет создан новый Vector3. Дополнительный, необязательный параметр.
Возвращает ширину, высоту и глубину данного параллелепипеда.

.intersect ( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
) : Box3
box - Box to intersect with.
Возвращает пересечение данного прямоугольника с прямоугольником, переданным в аргументе box, устанавливая верхнюю границу данного прямоугольника наименьшей из верхних границ двух прямоугольников, а нижнюю границу данного прямоугольника наибольшей из нижних границ двух прямоугольников.

.intersectsBox( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)
box - Box to check for intersection against.
Determines whether or not this box intersects box.

.intersectsPlane ( plane : Plane ) : Boolean
plane - Plane to check for intersection against.
Determines whether or not this box intersects plane.

.intersectsSphere ( sphere : Sphere ) : Boolean
sphere - Sphere to check for intersection against.
Determines whether or not this box intersects sphere.

.intersectsTriangle ( triangle : Triangle ) : Boolean
triangle - Triangle to check for intersection against.
Determines whether or not this box intersects triangle.

.isEmpty( )
Метод возвращает значение true, если данный параллелепипед содержит нулевые точки внутри своих границ.
Обратите внимание, что прямоугольник с одинаковыми нижними и верхними границами все же включает одну точку, которая принадлежит одновременно обоим границам Returns true if this box includes zero points within its bounds.

.makeEmpty( ) : Box3
Makes this box empty.

.set ( min : Vector3, max : Vector3 ) : Box3
min - Vector3 representing the lower (x, y, z) boundary of the box.
max - Vector3 representing the lower upper (x, y, z) boundary of the box.
Sets the lower and upper (x, y, z) boundaries of this box.

.setFromArray ( array : Array ) : Box3 
this - этот')" onmouseout="hide()">this
array -- An array of position data that the resulting box will envelop.
Sets the upper and lower bounds of this box to include all of the data in array.

.setFromBufferAttribute ( attribute : BufferAttribute ) : Box3 
this - этот')" onmouseout="hide()">this
attribute - A buffer attribute of position data that the resulting box will envelop.
Sets the upper and lower bounds of this box to include all of the data in attribute.

.setFromCenterAndSize ( center : Vector3, size : Vector3 ) : Box3
center - Desired center position of the box (Vector3).
size - Desired x, y and z dimensions of the box (Vector3).
Centers this box on center and sets this box's width and height to the values specified in size.


set from center and size - установить из центра и размера')" onmouseout="hide()">.setFromCenterAndSize
(
center - центр')" onmouseout="hide()">center
,
size - размер')" onmouseout="hide()">size
)
this - этот')" onmouseout="hide()">this

center - центр')" onmouseout="hide()">center
- желаемое положение центра параллелепипеда.

size - размер')" onmouseout="hide()">size
- желаемые размеры x, y и z параллелепипеда.
Centers this box on center and sets this box's width, height and depth to the values specified in size


set from object - установить из объекта')" onmouseout="hide()">.setFromObject
(
object - объект')" onmouseout="hide()">object
)

object - объект')" onmouseout="hide()">object
- Object3D для которого рассчитывается ограничительная рамка, в виде параллелепипеда.
Метод рассчитывает, выровненную по "мировым" осям, ограничительную рамку вокруг трехмерного объекта (включая его потомков), с учетом "мировых" изменений для объекта и его потомков.


set from points - установить из точек')" onmouseout="hide()">.setFromPoints
( points )
points - массив из трехмерных векторов (Vector3), которые будет содержать получающийся прямоугольник.
Устанавливает верхние и нижние границы данного параллелепипеда так, что в него будут входить все точки, указанные в points.


translate - перевод, перенос')" onmouseout="hide()">.translate
(
offset - смещение')" onmouseout="hide()">offset
)

offset - смещение')" onmouseout="hide()">offset
- направление и расстояние смещения.
Добавляет смещение к обоим, верхней и нижней, границам данного прямоугольника, фактически перемещая этот прямоугольник Adds offset to both the upper and lower bounds of this box, effectively moving this box offset units in 2D space.


union - соединение')" onmouseout="hide()">.union
(
box - коробка, ящик, клетка')" onmouseout="hide()">box
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- прямоугольный параллелепипед, который будет объединен с данным прямоугольным параллелепипедом.
Метод объединяет данный прямоугольник с прямоугольником, представленным в параметре
box - коробка, ящик, клетка')" onmouseout="hide()">box
, устанавливая верхнюю границу данного параллелепипеда по наибольшей из верхних границ обоих параллелепипедов, а нижнюю границу этого параллелепипеда по наименьшей из нижних границ обоих параллелепипедов.

Исходники



Color

Класс представляющий цвет.

Пример

Класс Color может быть инициализирован любым из следующих способов:
// empty constructor - will default white
// пустой конструктор - по умолчанию цвет будет белым
var color = new THREE.Color();
// Hexadecimal color (recommended) // шестнадцатиричное значение цвета (рекомендуется) var color = new THREE.Color( 0xff0000 );
// RGB string // строковое RGB значение var color = new THREE.Color("rgb(255, 0, 0)"); var color = new THREE.Color("rgb(100%, 0%, 0%)");
// X11 color name - all 140 color names are supported. // Note the lack of CamelCase in the name // название цвета X11 - поддерживаются все 140 названий цвета. // обратите внимание, в названии цвета отсутствует CamelCase - верблюжий стиль var color = new THREE.Color( 'skyblue' );
// HSL string // строковое значение HSL var color = new THREE.Color("hsl(0, 100%, 50%)");
// Separate RGB values between 0 and 1 // отдельные значения RGB от 0 до 1 var color = new THREE.Color( 1, 0, 0 );

Конструктор

Color( 
hex - шестнадцатиричное значение или string - строковое значение')">r
, g, b )
r - (дополнительный, необязательный параметр) если указаны аргументы g и b, то данный аргумент определяет красный компонент цвета. Если их нет, это может быть либо шестнадцатиричное значение цвета (рекомендуется) (у автора здесь hexadecimal triplet), либо строковое значение цвета в стиле CSS, либо другой экземпляр Color. Вот статья Википедии о цвете в HTML на русском языке.
g - (дополнительный, необязательный параметр), если указан, то определяет зеленый компонент цвета.
b - (дополнительный, необязательный параметр), если указан, то определяет синий компонент цвета.
Цвет по умолчанию - белый (white).
Если указаны все аргументы, то r будет красным компонентом, g - зеленым, а b будет синим компонентом цвета.
Когда установлен только аргумент r, то:
  • это может быть шестнадцатиричное значение цвета (рекомендуется к применению).
  • это может быть другой экземпляр цвета.
  • это может быть строковое значение стиля CSS, например:
    'rgb(250, 0,0)'
    'rgb(100%,0%,0%)'
    'hsl(0, 100%, 50%)'
    '#ff0000'
    '#f00'
    'red'

Свойства


.isColor
Свойство используется для проверки, является ли данный и производные от него классы цветом. Значением по умолчанию является true.
Его нельзя изменять, так как оно используется внутри three.js для оптимизации.

.r
Значение красного канала цвета, от 0 до 1. По умолчанию равно 1.

.g
Значение зеленого канала цвета, от 0 до 1. По умолчанию равно 1.

.b
Значение синего канала цвета, от 0 до 1. По умолчанию равно 1.

Методы



add - сложить, добавить')" onmouseout="hide()">.add
(
color - цвет')" onmouseout="hide()">color
)
Метод выполняет сложение RGB значений цвета, переданного в параметре
color - цвет')" onmouseout="hide()">color
, со RGB значениями данного цвета.


add colors - сложить цвета')" onmouseout="hide()">.addColors
(
color 1 - цвет номер один')" onmouseout="hide()">color1
,
color 2 - цвет номер два')" onmouseout="hide()">color2
)
Метод устанавливает RGB значения данного цвета как сумму RGB значений, переданный в
color 1 - цвет номер один')" onmouseout="hide()">color1
и
color 2 - цвет номер два')" onmouseout="hide()">color2
.


add scalar - прибавить скаляр(ное значение)')" onmouseout="hide()">.addScalar
( s )
Метод прибавляет значение аргумента s к RGB значениям данного цвета.


clone - клонировать')" onmouseout="hide()">.clone
( )
Метод возвращает новый экземпляр класса Color с теми же самыми значениями r, g и b как у данного.


copy - копировать')" onmouseout="hide()">.copy
(
color - цвет')" onmouseout="hide()">color
)
Метод копирует параметры r, g и b цвета, переданного в аргументе
color - цвет')" onmouseout="hide()">color
, в данный цвет.


convert gamma to linear -
конвертировать гамма в линейное')" onmouseout="hide()">.convertGammaToLinear
( gammaFactor )
gammaFactor - коэффициент гамма-коррекции (дополнительный, необязательный аргумент). Значение по умолчанию равно 2.0.
Метод конвертирует данный цвет из гамма-пространства в линейное возведением в квадрат значений r, g и b.
Примечание переводчика: чтобы иметь представление о линейном освещении и освещении с гамма-коррекцией посмотрите статью на английском и русском языках.


convert linear to gamma -
конвертировать линейное в гамма')" onmouseout="hide()">.convertLinearToGamma
( gammaFactor )
gammaFactor - коэффициент гамма-коррекции (дополнительный, необязательный аргумент). Значение по умолчанию равно 2.0.
Метод конвертирует данный цвет из линейного в гамма-пространство с помощью извлечения квадратного корня из значений r, g и b.


convert linear to sRGB - конвертировать из линейного в sRGB')" onmouseout="hide()">.convertLinearToSRGB
( )
Конвертирует данный цвет из линейного пространства в пространство цвета
- стандартные красный, зеленый, синий')" onmouseout="hide()">sRGB
.


convert sRGB to linear - конвертировать из sRGB в линейное')" onmouseout="hide()">.convertSRGBToLinear
( )
Конвертирует данный цвет из пространства цвета
- стандартные красный, зеленый, синий')" onmouseout="hide()">sRGB
в линейное пространство цвета.


copy gamma to linear - копировать
(с преобразованием из)
гамма-пространства в линейное')" onmouseout="hide()">.copyGammaToLinear
(
color - цвет')" onmouseout="hide()">color
, gammaFactor )

color - цвет')" onmouseout="hide()">color
— копируемый класс Color.
gammaFactor - коэффициент гамма-коррекции (дополнительный, необязательный аргумент). Значение по умолчанию равно 2.0.
Copies the given color into this color while converting it from gamma to linear space by taking r, g and b to the power of gammaFactor.


copy linear to gamma - копировать
(с преобразованием из) линейного
в гамма-пространство')" onmouseout="hide()">.copyLinearToGamma
(
color - цвет')" onmouseout="hide()">color
, gammaFactor )
color — копируемый цвет.
gammaFactor - (optional). Значение по умолчанию равно 2.0.
Метод копирует цвет, переданный в аргументе color в данный цвет, преобразовывая его из линейного в гамма-пространство, принимая r, g и b как степень от 1/gammaFactor. Copies the given color into this color while converting it from linear to gamma space by taking r, g and b to the power of 1 / gammaFactor.


copy linear to sRGB - копировать цвет и затем
преобразовать его из линейного пространства в sRGB')" onmouseout="hide()">.copyLinearToSRGB
(
color - цвет')" onmouseout="hide()">color
)
color — копируемый цвет.
Метод копирует цвет, заданный в аргументе color в данный цвет и затем конвертирует данный цвет из линейного пространства цвета в
- стандартные красный, зеленый, синий')" onmouseout="hide()">sRGB
.


copy sRGB to linear - копировать цвет и затем
преобразовать его из sRGB в линейное пространство')" onmouseout="hide()">.copySRGBToLinear
(
color - цвет')" onmouseout="hide()">color
)
color — копируемый цвет.
Метод копирует цвет, заданный в аргументе color в данный цвет и затем конвертирует данный цвет из пространства цвета sRGB в линейное пространство цвета.

.equals( 
color - цвет')" onmouseout="hide()">color
)
Метод сравнивает значения RGB, переданные в аргументе
color - цвет')" onmouseout="hide()">color
с такими же значениями данного объекта. Если они одинаковы, возвращается значение true, в противном случае возвращается значение false.


from array - из массива')" onmouseout="hide()">.fromArray
( array, offset )
array - массив чисел с плавающей запятой в форме [ r, g, b ].
offset - дополнительное смещение в массиве.
Метод устанавливает компоненты данного цвета основываясь на массиве в формате [ r, g, b ].


получить шестнадцатиричное (значение)')" onmouseout="hide()">.getHex
( )
Возвращает шестнадцатиричное значение данного цвета.


шестнадцатиричное
(значение как) строку')" onmouseout="hide()">.getHexString
( )
Метод возвращает шестнадцатиричное значение данного цвета в виде строки (например, 'FFFFFF').


HSL - сокращ. от англ. слов get hue,
saturation, lightness - тон, насыщенность,
светлота')" onmouseout="hide()">.getHSL
( target )
target - в этот объект копируется результат метода. К объекту добавляются ключи h, s и l (если они не предоставлены).
Конвертирует значения r, g и b данного цвета в формат HSL и возвращает объект в виде { h:0, s:0, l:0 }.
Вот статья Википедии о HSL на русском языке

.getStyle( )
Возвращает значение данного цвета в виде строки CSS стиля. Пример: 'rgb(255,0,0)'.


lerp - сокращ. англ. слов linearly
interpolate - линейная интерполяция')" onmouseout="hide()">.lerp
(
color - цвет')" onmouseout="hide()">color
,
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
)

color - цвет')" onmouseout="hide()">color
- цвет, с которым производится сближение.

в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
- коэффициент интерполяции в закрытом интервале [0, 1].
Метод выполняет операцию линейного интерполирования между значениями RGB данного цвета и RGB значениям цвета, переданного в аргументе
color - цвет')" onmouseout="hide()">color
. Аргумент
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
можно рассматривать как соотношение между двумя цветами, где 0.0 означает данный цвет, а 1.0 - цвет, переданный в первом аргументе.


multiply - умножить')" onmouseout="hide()">.multiply
(
color - цвет')" onmouseout="hide()">color
)
Умножает значения RGB данного цвета на значения RGB цвета, переданного в аргументе
color - цвет')" onmouseout="hide()">color
.


multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar
( s )
Метод умножает значения RGB данного цвета на число, переданное в аргументе s.


offset H S L - возмещение (компенсация) значений hue - оттенок,
saturation - насыщенность и lightness - яркость, "светлота"')" onmouseout="hide()">.offsetHSL
( h, s, l )
Метод добавляет значения h, s, и l к значениям данного цвета. Внутри же метода, вначале конвертируются значения r, g и b в HSL, добавляются значения h, s, и l, а затем цвет конвертируется обратно в RGB.


set - установить')" onmouseout="hide()">.set
(
т.е. другой экземпляр класса Color,
hex - шестнадцатиричное значение
или string - строковое значение')">value
)

т.е. другой экземпляр класса Color,
hex - шестнадцатиричное значение
или string - строковое значение')">value
- значение для установки в данный цвет.
Более подробную информацию о том, какое значение может быть указано в аргументе value, см. в разделе Конструктор. В зависимости от введенного типа, выполнение передается методам copy, setStyle, или setHex.


set hex - сокращ. англ. слов set hexadecimal
- установить шестнадцатиричное (значение)')" onmouseout="hide()">.setHex
(
- шестнадцатиричное')" onmouseout="hide()">hex
)

- шестнадцатиричное')" onmouseout="hide()">hex
— значение цвета в шестнадцатиричном формате (у автора здесь hexadecimal triplet). Вот статья Википедии о цвете в HTML на русском языке.
Метод устанавливает значение данного цвета из шестнадцатиричного значения, переданного в параметре hex.


set HSL - установить (значения цвета в формате) HSL,
сокращ. англ. слов H - hue - оттенок, S -saturation
- насыщенность, L - lightness - яркость, "светлота"')" onmouseout="hide()">.setHSL
( h, s, l )
h — значение оттенка цвета в диапазоне от 0.0 до 1.0.
s — значение насыщенности цвета в диапазоне от 0.0 до 1.0.
l — значение яркости цвета в диапазоне от 0.0 до 1.0.
Метод устанавливает данный цвет из значений HSL.


set R G B - установить (значения цвета)
R - красного G - зеленого B - синего')" onmouseout="hide()">.setRGB
( r, g, b )
r — значение красного канала в диапазоне от 0.0 до 1.0.
g — значение зеленого канала в диапазоне от 0.0 до 1.0.
b — значение синего канала в диапазоне от 0.0 до 1.0.
Метод устанавливает данный цвет из значений RGB.


set scalar - установить скаляр')" onmouseout="hide()">.setScalar
( scalar )
scalar — значение в диапазоне между 0.0 и 1.0.
Метод устанавливает все три компонента цвета равными значению, переданному в параметре scalar.


set style - установить стиль')" onmouseout="hide()">.setStyle
( style )
style — строковое значение в стиле CSS в качестве значения цвета.
Метод устанавливает данный цвет из строкового значения в стиле CSS. Например, "rgb(250, 0,0)", "rgb(100%, 0%, 0%)", "hsl(0, 100%, 50%)", "#ff0000", "#f00" или "red" (или любое название цвета из цветовой схемы X11 - поддерживаются все 140 названий цвета). Вот эта страничка Википедии о цвете из схемы X11 на русском языке.
Также принимаются полупрозрачные цвета, такие как "rgba(255, 0, 0, 0.5)" и "hsla(0, 100%, 50%, 0.5)", но значение альфа-канала (канал прозрачности) отбрасывается.
Обратите внимание, что названия цвета в схеме X11, состоящие из нескольких слов, вроде Dark Orange (темно-оранжевый), становятся строковым значением 'darkorange' (все буквы строчные).


sub - сокращ. англ. слова subtract - вычитать')" onmouseout="hide()">.sub
(
color - цвет')" onmouseout="hide()">color
)
Метод вычитает из RGB компонентов данного цвета компоненты RGB цвета, переданного в параметре
color - цвет')" onmouseout="hide()">color
. Если в результате получается отрицательное значение компонента, этот компонент устанавливается равным нулю.

.toArray( array, offset )
array - дополнительный массив для хранения значений цвета.
offset - дополнительное смещение в массиве.
Метод возвращает массив в виде [ r, g, b ].

Исходники



Cylindrical

Координаты точки в цилиндрической системе координат.
Цилиндрическая система координат на русском языке.

Конструктор

Cylindrical( radius, theta, y )
radius - расстояние от начала координат до точки в плоскости x-z. Значение по умолчанию равно 1.0.
theta - угол против часовой стрелки в плоскости x-z, измеренный в радианах от положительной оси z. Значение по умолчанию равно 0.
y - высота над плоскостью x-z. Значение по умолчанию равно 0.

Свойства


Методы



clone - клонировать')" onmouseout="hide()">.clone
( )
Метод возвращает новый cylindrical с теми же самыми свойствами radius, theta и y как у данного.


copy - копировать')" onmouseout="hide()">.copy
(
other - другой')" onmouseout="hide()">other
)
Метод копирует значения свойств radius, theta и y Cylindrical, переданного в аргументе
other - другой')" onmouseout="hide()">other
, в данный cylindrical.


set - установить')" onmouseout="hide()">.set
( radius, theta, y )
Устанавливает значения свойств radius, theta и y данного Cylindrical.


set from vector 3 - установить из трехмерного вектора')" onmouseout="hide()">.setFromVector3
(
vec3 - сокращ. англ. слова vector 3 - трехмерный вектор')" onmouseout="hide()">vec3
)
Устанавливает значения свойств radius, theta и y данного Cylindrical из трехмерного вектора, переданного в аргументе
vec3 - сокращ. англ. слова vector 3 - трехмерный вектор')" onmouseout="hide()">vec3
.
Значение свойства radius устанавливается как длина вектора от начала координат, измеряемая вдоль плоскости x-z, тогда как значение свойства theta устанавливается по его направлению на плоскости x-z, а значение свойства y задается из y-компоненты вектора.

Исходники



Euler

Класс, представляющий углы Эйлера. Вот статья про углы Эйлера в русскоязычной Википедии.
Углы Эйлера описывают изменения при вращении объекта по его различным осям с определенными значениями для каждой оси и с указанной последовательностью вращения по осям.

Пример

var a = new THREE.Euler( 0, 1, 1.57, 'XYZ' );
var b = new THREE.Vector3( 1, 0, 1 );
b.applyEuler(a);

Конструктор

Euler( x, y, z, order )
x -- угол по оси x в радианах. Дополнительный, необязательный параметр, значение по умолчанию равно 0.
y -- угол по оси y в радианах. Дополнительный, необязательный параметр, значение по умолчанию равно 0.
z -- угол по оси z в радианах. Дополнительный, необязательный параметр, значение по умолчанию равно 0.
order -- строковое значение, представляющее порядок применения вращения. Дополнительный, необязательный параметр, значением по умолчанию является XYZ (символы должны быть в верхнем регистре).

Свойства


.isEuler
Свойство используется для проверки, является ли данный класс и производные от него классом Euler. Значением по умолчанию является true.
Не изменяйте это свойство, так как оно используется для оптимизации внутри three.js.

.order
Порядок (последовательность) применения вращения по осям. Значением по умолчанию является XYZ, которое означает, что вначале объект будет поворачиваться вокруг своей оси X, затем вокруг своей оси Y и наконец, вокруг оси Z. Другие возможные значения: YZX, ZXY, XZY, YXZ и ZYX. Символы должны быть в верхнем регистре.
three.js использует собственные углы Тейта-Брайана. Это значит что вращения выполняются относительно локальной системы координат. То есть, для последовательности применения вращения XYZ, вращение вначале выполняется вокруг локальной оси X (которая является той же самой, что и "мировая" ось X), затем выполняется поворот вокруг локальной оси Y (которая теперь может отличаться от "мировой" оси Y) и потом вокруг локальной оси Z (которая также может отличаться от "мировой" оси Z).
Если order изменен, будет вызван метод onChangeCallback.


(горизонтальной) в трехмерной системе координат')" onmouseout="hide()">.x
Текущее значение составляющей угла по оси x.
Если значение изменено, будет вызван метод onChangeCallback.


(вертикальной) в трехмерной системе координат')" onmouseout="hide()">.y
Текущее значение составляющей угла по оси y.
Если значение изменено, будет вызван метод onChangeCallback.


(вперед - назад) в трехмерной системе координат')" onmouseout="hide()">.z
Текущее значение составляющей угла по оси z.
Если значение изменено, будет вызван метод onChangeCallback.

Методы



copy - копировать')" onmouseout="hide()">.copy
( euler )
Копирует значение, переданное в аргументе euler в данный Euler.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новый Euler с теми же самыми параметрами, как у этого.

.equals( euler )
Метод проверяет на строгое равенство данного Euler и приведенного в аргументе euler.


from array - из массива')" onmouseout="hide()">.fromArray
( array )
Массив array длиной 3 или 4. Дополнительный, необязательный 4-ый аргумент соответствует order.
Присваивает углу x данного класса Euler значение array[0].
Присваивает углу y данного класса Euler значение array[1].
Присваивает углу z данного класса Euler значение array[2].
Дополнительно может присваивать свойству order данного класса Euler значение array[3].


on change - на изменение')" onmouseout="hide()">.onChange
( onChangeCallback )
onChangeCallback - устанавливает значение функции onChangeCallback().


on change callback - на изменение функции обратного вызова')" onmouseout="hide()">.onChangeCallback
( )
По умолчанию это пустая функция, однако она может быть установлена через onChange(). Она вызывается после изменения свойств x, y, z или order, а также после вызова большинства устанавливающих функций (подробности смотрите в их описании).


reorder - переупорядочить')" onmouseout="hide()">.reorder
( newOrder )
Метод сбрасывает угол Эйлера с новым порядком, создавая кватернион с данным углом Эйлера и затем установливая данный угол Эйлера с кватернионом и новым порядком. Resets the euler angle with a new order by creating a quaternion from this euler angle and then setting this euler angle with the quaternion and the new order.
Предупреждение: при этом методе отбрасывается информация о вращении.


set - установить')" onmouseout="hide()">.set
( x, y, z, order )
x - значение составляющей угла по оси x в радианах.
y - значение составляющей угла по оси y в радианах.
z - значение составляющей угла по оси z в радианах.
order - строка, представляющая последовательность применения вращения по разным осям. Дополнительный, необязательный параметр.
Метод устанавливает углы изменения данного Euler и дополнительно (но необязательно) порядок их применения (order), а затем вызывает onChangeCallback().


set from rotation matrix -
установить из матрицы вращения')" onmouseout="hide()">.setFromRotationMatrix
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, order, update )

m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
- четырехмерная матрица, в которой верхняя матрица 3×3 является чистой матрицей вращения (то есть, немасштабированной).
order - строка, представляющая последовательность применения вращения по разным осям. Дополнительный, необязательный параметр.
update - будет ли вызываться onChangeCallback() после применения матрицы. Дополнительный, необязательный параметр.
Метод устанавливает углы изменения данного Euler из чистой матрицы вращения исходя из ориентации, определяемой по аргументу order.


set from quaternion - установить из кватерниона')" onmouseout="hide()">.setFromQuaternion
(
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q
, order, update )
order - строка, представляющая последовательность применения вращения по разным осям. Дополнительный, необязательный параметр.
update - будет ли вызываться onChangeCallback() после применения матрицы. Дополнительный, необязательный параметр.
Метод устанавливает углы изменения данного Euler из нормализованного кватерниона исходя из ориентации, определяемой по аргументу order.


set from vector3 - установить из трехмерного вектора')" onmouseout="hide()">.setFromVector3
(
vector 3 - трехмерный вектор')" onmouseout="hide()">vector
, order )
order - строка, представляющая последовательность применения вращения по разным осям. Дополнительный, необязательный параметр.
Метод устанавливает свойства x, y и z и дополнительно обновляет order. После внесения всех этих изменений вызывается onChangeCallback().

.toArray( array, offset )
array - массив для хранения угла Эйлера. Дополнительный, необязательный аргумент.
offset - смещение в массиве. Дополнительный, необязательный аргумент.
Возвращает массив в виде [ x, y, z, order ].


to vector3 - в трехмерный вектор')" onmouseout="hide()">.toVector3
( )
Возвращает свойства x, y и z Euler'а в виде трехмерного вектора.

Исходники



Frustum

Frustum'ы используются для определения того, что находится в поле просмотра камеры. Они помогают ускорить процесс визуализации (рендеринга) - объект, находящийся вне области просмотра камеры (в виде усеченной пирамиды), вполне можно благополучно исключить из визуализации.
Статья о усеченной пирамиде в русскоязычной Википедии.
Этот класс в основном предназначен для внутреннего использования визуализатором (рендерером) для расчета областей просмотра (в виде усеченных пирамид) камеры и теневой камеры.

Конструктор

Frustum( p0, p1, p2, p3, p4, p5 )
p0 -- дополнительный, необязательный параметр. Значением по умолчанию является новая плоскость.
p1 -- дополнительный, необязательный параметр. Значением по умолчанию является новая плоскость.
p2 -- дополнительный, необязательный параметр. Значением по умолчанию является новая плоскость.
p3 -- дополнительный, необязательный параметр. Значением по умолчанию является новая плоскость.
p4 -- дополнительный, необязательный параметр. Значением по умолчанию является новая плоскость.
p5 -- дополнительный, необязательный параметр. Значением по умолчанию является новая плоскость.
Создает новый Frustum.

Свойства


.planes
Массив из 6 плоскостей.

Методы



clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новый Frustum с точно такими же параметрами, что и у данной.

.containsPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- проверяемый трехмерный вектор (Vector3).
Метод проверяет, находится ли точка в усеченной пирамиде области просмотра камеры (Frustum).


copy - копировать')" onmouseout="hide()">.copy
(
frustum - усеченная пирамида')" onmouseout="hide()">frustum
)

frustum - усеченная пирамида')" onmouseout="hide()">frustum
- копируемая усеченная пирамида (frustum).
Копирует свойства переданной
frustum - усеченная пирамида')" onmouseout="hide()">frustum
в данную.

.intersectsBox( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- Box3 для проверки на пересечение.
Метод возвращает значение true, если параллелепипед пересекается с данной усеченной пирамидой области просмотра.

.intersectsObject( 
object - объект')" onmouseout="hide()">object
)
Метод проверяет, не пересекается ли с данной усеченной пирамидой области просмотра (Frustum) ограничительная сфера вокруг
object - объект')" onmouseout="hide()">объекта
.
Обратите внимание, объект должен иметь Geometry или BufferGeometry, чтобы можно было рассчитать ограничительную сферу.

.intersectsSphere( 
sphere - сфера')" onmouseout="hide()">sphere
)

sphere - сфера')" onmouseout="hide()">sphere
- Sphere для проверки на пересечение.
Метод возвращает значение true, если сфера, переданная в аргументе
sphere - сфера')" onmouseout="hide()">sphere
, пересекается с данной усеченной пирамидой области просмотра (Frustum).

.intersectsSprite( 
sprite - спрайт')" onmouseout="hide()">sprite
)
Метод проверяет, не пересекается ли спрайт с данной усеченной пирамидой области просмотра (Frustum).


set - установить')" onmouseout="hide()">.set
( p0, p1, p2, p3, p4, p5 )
Метод устанавливает текущую усеченную пирамиду области просмотра камеры (Frustum) из переданных плоскостей. Никакого упорядочения плоскостей не предполагается.


set from matrix - установить из матрицы')" onmouseout="hide()">.setFromMatrix
(
matrix - матрица')" onmouseout="hide()">matrix
)

matrix - матрица')" onmouseout="hide()">matrix
- четырехмерная матрица, используемая для установки плоскостей.
Этот метод используется WebGLRenderer'ом для установки Frustum из projectionMatrix и matrixWorldInverse камеры.

Исходники



Interpolant

Абстрактный базовый класс
— в вычислительной математике это функция,
которая строится по значениям в некоторых
точках')" onmouseout="hide()">интерполянтов
по выборкам параметра. Статья Википедии об интерполяции.
Область параметра является одномерной, обычно это время или путь вдоль кривой, определяемой данными.
Значения выборок могут иметь любую размерность, а производные классы могут применять к данным специальные интерпретации.
Данный класс предоставляет поиск интервала в
— поведенческий шаблон проектирования,
определяющий основу алгоритма и
позволяющий наследникам переопределять
некоторые шаги алгоритма, не изменяя его
структуру в целом.')" onmouseout="hide()">шаблонном методе
, перекладывая интерполяцию на производные (дочерние) классы.

алгоритма от количества обрабатываемых входных данных')" onmouseout="hide()">Временна́я сложность алгоритма
равна O(1) (т.е. алгоритм постоянного времени) при линейном переходе не более чем через две точки, и равна O(log N) (логарифмическое время) для произвольной выборки, где N - это число позиций.
Ссылки: http://www.oodesign.com/template-method-pattern.html

Конструктор

Interpolant( parameterPositions, sampleValues, sampleSize, resultBuffer )
parameterPositions -- массив позиций параметра.
sampleValues -- массив выборок.
sampleSize -- количество выборок.
resultBuffer -- буфер для хранения результатов интерполяции.
Примечание: Этот конструктор не предназначен для непосредственного вызова.

Свойства


.parameterPositions


.resultBuffer


.sampleValues


.settings
Дополнительная, необязательная структура параметров, специфичных для подкласса.

.valueSize

Методы


.evaluate( t )
Вычисляет
— в вычислительной математике это функция,
которая строится по значениям в некоторых
точках')" onmouseout="hide()">интерполянт
на позицию t.

Исходники



Interpolant →

CubicInterpolant



Пример

var interpolant = new THREE.[name](
  new Float32Array( 2 ),
  new Float32Array( 2 ),
  1,
  new Float32Array( 1 )
);
interpolant.evaluate( 0.5 );

Конструктор

CubicInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer )
parameterPositions -- массив позиций параметра.
sampleValues -- array of samples
sampleSize -- number of samples
resultBuffer -- буфер для хранения результатов интерполяции.

Свойства


Методы


.evaluate( t )
Вычисляет
— в вычислительной математике это функция,
которая строится по значениям в некоторых
точках')" onmouseout="hide()">интерполянт
на позицию t.

Исходники



Interpolant →

DiscreteInterpolant



Пример

var interpolant = new THREE.DiscreteInterpolant(
  new Float32Array( 2 ),
  new Float32Array( 2 ),
  1,
  new Float32Array( 1 )
);
interpolant.evaluate( 0.5 );

Конструктор

DiscreteInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer )
parameterPositions -- array of positions
sampleValues -- array of samples
sampleSize -- number of samples
resultBuffer -- buffer to store the interpolation results.

Свойства


Методы


.evaluate( t )
Вычисляет интерполяцию на позицию t.

Исходники



Interpolant →

LinearInterpolant



Пример

var interpolant = new THREE.LinearInterpolant(
  new Float32Array( 2 ),
  new Float32Array( 2 ),
  1,
  new Float32Array( 1 )
);
interpolant.evaluate( 0.5 );

Конструктор

LinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer )
parameterPositions -- массив позиций. array of positions
sampleValues -- массив значений выборок. array of samples
sampleSize -- число выборок. number of samples
resultBuffer -- буфер для хранения результатов интерполяции.

Свойства


Методы


.evaluate( t )
Вычисляет интерполяцию на позицию t.

Исходники



Interpolant →

QuaternionLinearInterpolant

Пример

var interpolant = new THREE.QuaternionLinearInterpolant(
  new Float32Array( 2 ),
  new Float32Array( 2 ),
  1,
  new Float32Array( 1 )
);
interpolant.evaluate( 0.5 );

Конструктор

QuaternionLinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer )
parameterPositions -- array of positions
sampleValues -- array of samples
sampleSize -- number of samples
resultBuffer -- buffer to store the interpolation results.

Свойства


Методы


.evaluate( t )
Вычисляет интерполяцию на позицию t.

Исходники



Line3

Отрезок геометрической линии, представленный начальной (start) и конечной (end) точками.

Конструктор

Line3( 
start - начало, старт')" onmouseout="hide()">start
,
end - конец')" onmouseout="hide()">end
)

start - начало, старт')" onmouseout="hide()">start
-- начало отрезка линии. Значением по умолчанию является (0, 0, 0).

end - конец')" onmouseout="hide()">end
-- конец отрезка линии. Значением по умолчанию является (0, 0, 0).
Создает новую Line3.

Свойства



start - начало, старт')" onmouseout="hide()">.start
Трехмерный вектор (Vector3), представляющий начальную точку линии.


end - конец')" onmouseout="hide()">.end
Трехмерный вектор (Vector3), представляющий конечную точку линии.

Методы



apply matrix4 - применить четырехмерную матрицу')" onmouseout="hide()">.applyMatrix4
(
matrix - матрица')" onmouseout="hide()">matrix
)
Метод применяет матричное преобразование к отрезку линии.


at - предлог "в" или "на"')" onmouseout="hide()">.at
( t,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)
t - используйте значения в диапазоне от 0 до 1 для возврата позиции вдоль отрезка линии.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Метод возвращает вектор в определенной позиции вдоль линии. При t = 0 возвращается начальный вектор, а при t = 1 - конечный вектор.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новую Line3 с теми же самыми начальным (start) и конечным (end) векторами, что и у данного.


closest point to point - ближайшая точка к точке')" onmouseout="hide()">.closestPointToPoint
(
point - точка')" onmouseout="hide()">point
, clampToLine,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

point - точка')" onmouseout="hide()">point
- к данной точке возвращается ближайшая точка на линии. return the closest point on the line to this point.
clampToLine - whether to clamp the returned value to the line segment.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если данный аргумент указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Метод возвращает точку на линии, ближайшую к точке, указанной в аргументе
point - точка')" onmouseout="hide()">point
. Если аргумент clampToLine указан как true, то возвращаемое значение будет прижато к отрезку линии. Returns the closest point on the line. If clampToLine is true, then the returned value will be clamped to the line segment.


ближайшая точка к параметру точки')" onmouseout="hide()">.closestPointToPointParameter
(
point - точка')" onmouseout="hide()">point
, clampToLine )

point - точка')" onmouseout="hide()">point
- the point for which to return a point parameter.
clampToLine - Whether to clamp the result to the range [0, 1].
Returns a point parameter based on the closest point as projected on the line segement. If clampToLine is true, then the returned value will be between 0 and 1.


copy - копировать')" onmouseout="hide()">.copy
(
line - линия')" onmouseout="hide()">line
)
Метод копирует начальный (start) и конечный (end) векторы линии, переданной в аргументе
line - линия')" onmouseout="hide()">line
, в данную линию.


delta - название буквы греческого алфавита дельта,
обычно используется для обозначения промежутка
между какими-либо точками')" onmouseout="hide()">.delta
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если данный аргумент указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Метод возвращает дельта-вектор отрезка линии (т.е. конечный вектор - end минус начальный вектор - start).

.distance( )
Метод возвращает эвклидово расстояние (расстояние по прямой) между начальной (start) и конечной (end) точками линии.
Вот статья русскоязычной Википедии о Эвклидовой метрике.

.distanceSq( )
Метод возвращает квадрат эвклидова расстояния (расстояние по прямой) между начальным (start) и конечным (end) векторами линии.
Вот статья русскоязычной Википедии о Эвклидовой метрике.

.equals( 
line - линия')" onmouseout="hide()">line
)

line - линия')" onmouseout="hide()">line
- линия (Line3), которая будет сравниваться с данной линией.
Метод возвращает значение true, если обе (и начальная - start, и конечная - end) точки равны.


get center - получить центр')" onmouseout="hide()">.getCenter
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если данный аргумент указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Метод возвращает центр отрезка линии.


set - установить')" onmouseout="hide()">.set
(
start - начало, старт')" onmouseout="hide()">.start
,
end - конец')" onmouseout="hide()">.end
)

start - начало, старт')" onmouseout="hide()">.start
- вектор, который задает начальную (start) точку линии.

end - конец')" onmouseout="hide()">.end
- вектор, который задает конечную (end) точку линии.
Метод устанавливает значения начальной и конечной точек линии, копируя их из представленных векторов.

Исходники



Math

Объект с некоторыми вспомогательными математическими функциями.

Функции


.clamp( value, min, max )
value — значение, которое нужно зафиксировать.
min — минимальное значение.
max — максимальное значение.
«Зажимает» (фиксирует) значение, указанное в параметре value в диапазоне значений, заданных в аргументах min и max.

.degToRad( degrees )
Конвертирует градусы в радианы.

.euclideanModulo( n, m )
Вычисляет модуль (т.е. наибольший общий делитель - НОД) по алгоритму Евклида из m % n, то есть:
( ( n % m ) + m ) % m
Примечание переводчика: Символ % в JavaScript это оператор взятия остатка от деления.


универсальный уникальный идентификатор) — это стандарт
идентификации, используемый в создании программного
обеспечения')" onmouseout="hide()">.generateUUID
( )
Метод создает UUID (универсальный уникальный идентификатор).

.isPowerOfTwo( n )
Возвращает значение true, если n является степенью числа 2.

lerp( x, y, t )
x -- начальная точка.
y -- конечная точка.
t -- коэффициент интерполяции в заданном интервале [0, 1].
Возвращает линейно интерполированное значение для двух известных точек (x и y), основываясь на заданном интервале (t) - при t = 0 будет возвращен x, а при t = 1 будет возвращен y.
Статья из русскоязычной Википедии о линейной интерполяции.

.mapLinear( x, a1, a2, b1, b2 )
x — значение для отображения.
a1 — минимальное значение для диапазона A.
a2 — максимальное значение для диапазона A.
b1 — минимальное значение для диапазона B.
b2 — максимальное значение для диапазона B.
Линейное отображение x из диапазона [a1, a2] в диапазон [b1, b2].
А вот статья из англоязычной Википедии о Linear mapping.

.nearestPowerOfTwo( n )
Возвращает ближайшую степень числа 2 для заданного числа n.

.nextPowerOfTwo( n )
Возвращает ближайшую степень числа 2 для заданного числа n, но которая больше числа n.


to degrees - радианы в градусы')" onmouseout="hide()">.radToDeg
( radians )
Конвертирует радианы в градусы.


случайное число с плавающей запятой')" onmouseout="hide()">.randFloat
( low, high )
Возвращает случайное число с плавающей запятой в интервале чисел от low (нижняя граница) до high (верхняя граница интервала).


- случайное число с плавающей запятой')" onmouseout="hide()">.randFloatSpread
( range )
Возвращает случайное число с плавающей запятой в интервале чисел от -range/2 до range/2.


integer - случайное целое число')" onmouseout="hide()">.randInt
( low, high )
Возвращает случайное целое число в интервале от low (нижняя граница) до high (верхняя граница интервала).

.smoothstep( x, min, max )
x -- значение для вычисления, в зависимости от его позиции между значениями min и max.
min -- любое значение x меньше значения min будет равно 0.
max -- любое значение x больше значения max будет равно 1.
Возвращает значение в диапазоне между 0 и 1, представляющее Returns a value between 0-1 that represents the percentage that x has moved between min and max, but smoothed or slowed down the closer X is to the min and max.
Подробности смотрите в статье Википедии Smoothstep

.smootherstep( x, min, max )
x -- The value to evaluate based on its position between min and max.
min -- любое значение x меньше значения min будет равно 0.
max -- любое значение x больше значения max будет равно 1.
Возвращает значение в диапазоне от 0 до 1. Функция работает также как smoothstep, но более плавно. but more smooth. Эта функция - вариант функции smoothstep, имеющий A variation on smoothstep that has zero 1st and 2nd order derivatives at x=0 and x=1.

Исходники



Matrix3

Класс, представляющий матрицу 3×3. Вот статья русскоязычной Википедии о матрицах.

Пример

var m = new Matrix3();

Примечание о упорядочивании по рядам и колонкам

Метод set() принимает аргументы, упорядоченные по рядам, в то время как внутри они хранятся в массиве элементов, упорядоченном по колонкам.
Это значит, что вызов
m.set( 11, 12, 13,
       21, 22, 23,
       31, 32, 33 );
приведет в результате к массиву элементов, содержащему:
m.elements = [ 11, 21, 31,
               12, 22, 32,
               13, 23, 33 ];
и внутри все вычисления выполняются с использованием упорядочивания по колонкам. Однако, поскольку фактически порядок размещения элементов в матрице, с точки зрения математики, не имеет никакого значения, а большинство людей привыкли представлять матрицы упорядоченными по строкам, то в документации three.js матрицы также показываются упорядоченными по строкам. Просто имейте ввиду, чтобы понять смысл расчетов, при чтении исходного кода нужно переставлять (транспонировать, в англоязычном варианте - transpose) любые матрицы, представленные здесь. То есть, нужно каждую строчку исходной матрицы записать в виде столбца в том же порядке.

Конструктор

Matrix3( )
Создает и инициализирует Matrix3 как единичную матрицу 3×3.
Вот статья русскоязычной Википедии о единичной матрице.

Свойства


.elements
Список значений матрицы, упорядоченный по колонкам.

.isMatrix3
Свойство используется для проверки, является ли данный и производные от него классы матрицами 3×3. Значением по умолчанию является true.
Его нельзя изменять, так как оно используется внутри three.js для оптимизации.

Методы



применить к буферному атрибуту')" onmouseout="hide()">.applyToBufferAttribute
(
attribute - атрибут')" onmouseout="hide()">attribute
)

attribute - атрибут')" onmouseout="hide()">attribute
- атрибут из чисел с плавающей запятой, представляющий трехмерные векторы.
Умножает (применяет) данную матрицу на каждый трехмерный вектор, переданный в
attribute - атрибут')" onmouseout="hide()">attribute
.


clone - клонировать')" onmouseout="hide()">.clone
( )
Создает новую матрицу Matrix3 с точно такими же элементами как в данной.


copy - копировать')" onmouseout="hide()">.copy
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Метод копирует элементы матрицы, указанной в параметре
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, в данную матрицу.

.determinant( )
Метод вычисляет и возвращает определитель (determinant) данной матрицы.

.equals( 
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Возвращает значение true, если данная матрица и матрица, указанная в параметре m равны.


from array - из массива')" onmouseout="hide()">.fromArray
( array, offset )
array - массив, из которого считываются элементы.
offset - смещение в массиве (дополнительный, необязательный аргумент). Значением по умолчанию является 0.
Устанавливает элементы данной матрицы на основе массива (параметр array), упорядоченного по колонкам.


get inverse - получить инверсию')" onmouseout="hide()">.getInverse
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, throwOnDegenerate )

m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
- матрица, которая берется для инвертирования.
throwOnDegenerate - если установлено значение true, то при вырожденной матрице (необратимой) будет выброшено сообщение об ошибке. Дополнительный, необязательный аргумент.
Метод устанавливает данную матрицу обратной (inverse) по отношению к матрице, переданной в параметре
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, при помощи аналитического метода. Если аргумент throwOnDegenerate не установлен, а матрица необратима (т.е. обратной матрицы не существует), то данная матрица устанавливается как единичная матрица 3×3. Англоязычный вариант единичной матрицы называется identity matrix.


get normal matrix - получить нормальную матрицу')" onmouseout="hide()">.getNormalMatrix
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Устанавливает данную матрицу как верхнюю левую часть 3×3 нормальной матрицы (normal matrix) из переданной в аргументе
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
четырехмерной матрицы. Нормальная матрица - это инверсия The normal matrix is the inverse transpose of the matrix m.


identity - идентичный, единичный')" onmouseout="hide()">.identity
( )
Метод сбрасывает данную матрицу в единичную матрицу 3×3:
1, 0, 0
0, 1, 0
0, 0, 1


multiply - умножить')" onmouseout="hide()">.multiply
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Производится последующее умножение данной матрицы с матрицей, переданной в аргументе
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
.


multiply matrices - перемножить матрицы')" onmouseout="hide()">.multiplyMatrices
(
a - буква алфавита, в данном случае
обозначение первого сомножителя')" onmouseout="hide()">a
,
b - буква алфавита, в данном случае
обозначение второго сомножителя')" onmouseout="hide()">b
)
Устанавливает данную матрицу как результат действия
a - буква алфавита, в данном случае
обозначение первого сомножителя')" onmouseout="hide()">a
×
b - буква алфавита, в данном случае
обозначение второго сомножителя')" onmouseout="hide()">b
.


multiply scalar - умножить (матрицу на) скаляр')" onmouseout="hide()">.multiplyScalar
( s )
Метод перемножает каждый компонент данной матрицы на скалярное значение, переданное в аргументе s.


premultiply - предварительное умножение')" onmouseout="hide()">.premultiply
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Производится предварительное умножение данной матрицы с матрицей, переданной в аргументе
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
.


set - установить')" onmouseout="hide()">.set
( n11, n12, n13, n21, n22, n23, n31, n32, n33 )
n11 -- значение, которое требуется поместить в 1 ряду и 1 колонке.
n12 -- значение, которое требуется поместить в 1 ряду и 2 колонке.
...
...
n32 -- значение, которое требуется поместить в 3 ряду и 2 колонке.
n33 -- значение, которое требуется поместить в 3 ряду и 3 колонке.
Метод устанавливает значения матрицы 3×3 в заданной последовательности, упорядоченной по строкам.


set from matrix4 - установить из четырехмерной матрицы')" onmouseout="hide()">.setFromMatrix4
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Устанавливает эту матрицу как верхнюю матрицу 3×3 из четырехмерной матрицы (Matrix4), представленой в аргументе
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
.


set U v transform - установить ')" onmouseout="hide()">.setUvTransform
( tx, ty, sx, sy, rotation,
т.е. (координата) центра (по оси) X')" onmouseout="hide()">cx
,
т.е. (координата) центра (по оси) Y')" onmouseout="hide()">cy
)
tx - смещение по оси x
ty - смещение по оси y
sx - повтор x
sy - повтор y
rotation - угол поворота (в радианах).
cx - координата центра вращения по оси x
cy - координата центра вращения по оси y
Устанавливает матрицу преобразования координат UV по смещению (offset), повтору (repeat), повороту (rotation) и центру (center).

.toArray( array, offset )
array - массив для хранения результирующего вектора (дополнительный, необязательный параметр). Если параметр не задан, будет создан новый массив.
offset - смещение в массиве, где будет размещен результат (дополнительный, необязательный параметр).
Записывает элементы данной матрицы в массив, упорядочивая их по колонкам.


transpose - транспонировать')" onmouseout="hide()">.transpose
( )
Транспонирует данную матрицу на месте. Вот англоязычный вариант статьи о транспонировании.


transpose into array - транспонировать в массив')" onmouseout="hide()">.transposeIntoArray
( array )
array - массив для хранения результирующего вектора.
Транспонирует данную матрицу в предоставленный массив и возвращает саму себя без изменений.

Исходники



Matrix4

Класс, представляющий матрицу 4×4 (англоязычный вариант matrix).
Наиболее распространенным использование матрицы 4×4 в трехмерной компьютерной графике является матрица перехода (в англоязычном варианте Transformation Matrix). Чтобы иметь представление о матрицах перехода (матрицах трансформаций), используемых в WebGL, ознакомьтесь с этим руководством. Вот эта же статья на русском языке.
При помощи перемножения с матрицей, становятся возможными преобразования трехмерного вектора, представляющего точку в трехмерном пространстве, такие как перенос, вращение, сдвиг, масштабирование, отражение, ортогональное или перспективное проецирование и так далее. Это называется применением матрицы к вектору.
Каждый трехмерный объект (Object3D) имеет три взаимосвязанных четырехмерных матрицы:
  • Object3D.matrix: здесь хранится локальное изменение объекта.
  • Object3D.matrixWorld: глобальное или "мировое" изменение объекта. Это преобразование объекта относительно его родителя. Если у объекта нет родителя, то здесь все идентично с локальным изменением.
  • Object3D.modelViewMatrix: здесь представлено преобразование объекта относительно системы координат камеры. Матрица modelViewMatrix объекта - это матрица matrixWorld предварительно перемноженная с матрицей matrixWorldInverse камеры.
Камеры имеют две дополнительные матрицы Matrix4:
  • Camera.matrixWorldInverse: матрица просмотра - инверсия матрицы "мира" (matrixWorld) камеры.
  • Camera.projectionMatrix: представляет сведения о том, как проецировать сцену на пространство клипа.
Примечание: Object3D.normalMatrix является не Matrix4, а Matrix3.

Примечание о упорядочивании по рядам и колонкам

Метод set() принимает аргументы, упорядоченные по рядам, в то время как внутри они хранятся в массиве элементов, упорядоченном по колонкам.
Это значит, что вызов
var m = new Matrix4();
m.set( 11, 12, 13, 14, 21, 22, 23, 24, 31, 32, 33, 34, 41, 42, 43, 44 );
приведет к массиву элементов, содержащему:
m.elements = [ 11, 21, 31, 41,
               12, 22, 32, 42,
               13, 23, 33, 43,
               14, 24, 34, 44 ];
и внутри все вычисления выполняются с использованием упорядочивания по колонкам. Однако, поскольку фактически порядок размещения элементов в матрице, с точки зрения математики, не имеет никакого значения, а большинство людей привыкли представлять матрицы упорядоченными по строкам, то в документации three.js матрицы также показываются упорядоченными по строкам. Просто имейте ввиду, чтобы понять смысл расчетов, при чтении исходного кода нужно переставлять (транспонировать, в англоязычном варианте - transpose) любые матрицы, представленные здесь. То есть, нужно каждую строчку исходной матрицы записать в виде столбца в том же порядке.

Конструктор

Matrix4()
Создает и инициализирует Matrix4 как единичную матрицу 4×4 (в англоязычном варианте это identity matrix).

Свойства


.elements
Список значений матрицы, упорядоченный по колонкам.

.isMatrix4
Свойство используется для проверки, является ли данный и производные от него классы матрицами 4×4. Значением по умолчанию является true.
Его нельзя изменять, так как оно используется внутри three.js для оптимизации.

Методы



применить к буферному атрибуту')" onmouseout="hide()">.applyToBufferAttribute
( attribute )
attribute - атрибут из чисел с плавающей запятой, представляющий трехмерные векторы.
Умножает (применяет) данную матрицу на каждый трехмерный вектор, переданный в attribute.


clone - клонировать')" onmouseout="hide()">.clone
( )
Создает новую матрицу Matrix4 с точно такими же элементами как в данной.


compose - составить')" onmouseout="hide()">.compose
(
position - позиция, положение, место')" onmouseout="hide()">position
, quaternion,
scale - масштаб, шкала')" onmouseout="hide()">scale
)
Метод устанавливает в данную матрицу изменения, составленные из положения (параметр
position - позиция, положение, место')" onmouseout="hide()">position
), кватерниона (параметр quaternion) и масштаба (параметр
scale - масштаб, шкала')" onmouseout="hide()">scale
). При этом внутри метода сначала вызывается метод makeRotationFromQuaternion( quaternion ), затем метод scale(
scale - масштаб, шкала')" onmouseout="hide()">scale
)
и наконец метод setPosition(
position - позиция, положение, место')" onmouseout="hide()">position
)
.


copy - копировать')" onmouseout="hide()">.copy
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Метод копирует элементы матрицы, указанной в параметре
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, в данную матрицу.


copy position - копировать положение')" onmouseout="hide()">.copyPosition
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Копирует компонент перемещения (трансляции) из матрицы, переданной в параметре
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, в компонент перемещения данной матрицы.

.decompose( 
position - позиция, положение, место')" onmouseout="hide()">position
, quaternion,
scale - масштаб, шкала')" onmouseout="hide()">scale
)
Метод разлагает данную матрицу на составные части - положение (
position - позиция, положение, место')" onmouseout="hide()">position
), кватернион (quaternion) и масштаб (
scale - масштаб, шкала')" onmouseout="hide()">scale
).

.determinant( )
Метод вычисляет и возвращает определитель (determinant) данной матрицы.
Выполняется на основе метода, изложенного здесь.

.equals( 
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Возвращает значение true, если данная матрица и матрица, указанная в параметре m равны.


extract basis - извлечь базис,
т.е. основные (элементы)')" onmouseout="hide()">.extractBasis
(
x axis - ось x')" onmouseout="hide()">xAxis
,
y axis - ось y')" onmouseout="hide()">yAxis
,
z axis - ось z')" onmouseout="hide()">zAxis
)
Метод извлекает базис (basis), т.е. основные элементы матрицы, по трем представленным осевым векторам. Если задана такая матрица:
a, b, c, d,
e, f, g, h,
i, j, k, l,
m, n, o, p
то
x axis - ось x')" onmouseout="hide()">xAxis
,
y axis - ось y')" onmouseout="hide()">yAxis
,
z axis - ось z')" onmouseout="hide()">zAxis
будут установлены как:
xAxis = (a, e, i)
yAxis = (b, f, j)
zAxis = (c, g, k)


extract rotation - извлечь (элемент) вращения')" onmouseout="hide()">.extractRotation
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Метод извлекает из предоставленной матрицы
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
компонент вращения и устанавливает его как компонент вращения данной матрицы.


from array - из массива')" onmouseout="hide()">.fromArray
( array, offset )
array - массив, из которого считываются элементы.
offset - смещение в массиве (дополнительный, необязательный аргумент). Значением по умолчанию является 0.
Устанавливает элементы данной матрицы на основе массива (параметр array), упорядоченного по колонкам.


get inverse - получить инверсию')" onmouseout="hide()">.getInverse
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, throwOnDegenerate )

m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
- матрица, которая берется для инвертирования.
throwOnDegenerate - если установлено значение true, то при вырожденной матрице (необратимой) будет выброшено сообщение об ошибке. Дополнительный, необязательный аргумент.
Метод устанавливает данную матрицу обратной (inverse) по отношению к матрице, переданной в параметре
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
, при помощи способа, описанного здесь. Если аргумент throwOnDegenerate не установлен, а матрица необратима (т.е. обратной матрицы не существует), то данная матрица устанавливается как единичная матрица 4×4.


максимальный масштаб по осям')" onmouseout="hide()">.getMaxScaleOnAxis
( )
Метод получает максимальное значение масштаба по трем осям.


identity - идентичный, единичный')" onmouseout="hide()">.identity
( )
Метод сбрасывает данную матрицу в единичную матрицу (англоязычный вариант - identity matrix).


look at - смотреть на')" onmouseout="hide()">.lookAt
(
eye - глаз')" onmouseout="hide()">eye
,
center - центр')" onmouseout="hide()">center
,
up - вверх')" onmouseout="hide()">up
)
Метод создает матрицу вращения, наблюдающую из позиции, переданной в параметре
eye - глаз')" onmouseout="hide()">eye
, в направлении координат, переданных в параметре
center - центр')" onmouseout="hide()">center
, ориентируясь по вектору, переданному в
up - вверх')" onmouseout="hide()">up
.


make rotation axis - сделать оси вращения')" onmouseout="hide()">.makeRotationAxis
(
axis - оси')" onmouseout="hide()">axis
, theta )

axis - оси')" onmouseout="hide()">axis
— оси вращения, должны быть нормализованы.
theta — угол поворота в радианах.
Метод устанавливает данную матрицу как изменение вращения вокруг
axis - оси')" onmouseout="hide()">axis
на угол theta в радианах. Это немного спорная, но математически верная альтернатива вращению посредством кватернионов (Quaternion). Посмотрите обсуждение этой темы здесь.


make basis - сделать основные (элементы)')" onmouseout="hide()">.makeBasis
(
x axis - ось x')" onmouseout="hide()">xAxis
,
y axis - ось y')" onmouseout="hide()">yAxis
,
z axis - ось z')" onmouseout="hide()">zAxis
)
Set this to the basis matrix consisting of the three provided basis vectors:
xAxis.x, yAxis.x, zAxis.x, 0,
xAxis.y, yAxis.y, zAxis.y, 0,
xAxis.z, yAxis.z, zAxis.z, 0,
0,       0,       0,       1


make perspective - сделать перспективную (проекцию)')" onmouseout="hide()">.makePerspective
( left, right, top, bottom, near, far )
Метод создает матрицу перспективной проекции. Она используется внутри three.js методом PerspectiveCamera.updateProjectionMatrix.


make orthographic - сделать ортогональную (проекцию)')" onmouseout="hide()">.makeOrthographic
( left, right, top, bottom, near, far )
Метод создает матрицу ортогональной проекции. Она используется внутри three.js методом OrthographicCamera.updateProjectionMatrix.


make rotation from Euler -
сделать (компонент) вращения
по (углам) Эйлера')" onmouseout="hide()">.makeRotationFromEuler
( euler )
Устанавливает компонент вращения (левую верхнюю матрицу 3×3) данной матрицы как поворот, определенный представленными углами Эйлера (параметр euler). Оставшаяся часть матрицы устанавливается как единичная. В зависимости от свойства order угла Эйлера, возможны шесть вариантов. Полный список смотрите на этой странице. Вот матрица поворота на русском языке и отдельно rotation matrix на английском.


make rotation from quaternion -
сделать (компонент) вращения по
кватерниону')" onmouseout="hide()">.makeRotationFromQuaternion
(
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q
)
Устанавливает компонент вращения данной матрицы как поворот, определенный кватернионом (параметр
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q
), как описано здесь. Оставшаяся часть матрицы устанавливается как единичная. Так при заданном q = w + xi + yj + zk, результирующей матрицей будет:
1-2y2-2z2    2xy-2zw    2xz+2yw    0
2xy+2zw      1-2x2-2z2  2yz-2xw    0
2xz-2yw      2yz+2xw    1-2x2-2y2  0
0            0          0          1


make rotation X - сделать поворот (вокруг оси X)')" onmouseout="hide()">.makeRotationX
( theta )
theta — угол поворота в радианах.
Метод устанавливает данную матрицу как изменение поворота вокруг оси X на угол, указанный в параметре theta (θ), в радианах. В результате получится матрица:
1    0        0      0
0  cos(θ)  -sin(θ)   0
0  sin(θ)   cos(θ)   0
0    0        0      1


make rotation Y - сделать поворот (вокруг оси Y)')" onmouseout="hide()">.makeRotationY
( theta )
theta — угол поворота в радианах.
Метод устанавливает данную матрицу как изменение поворота вокруг оси Y на угол, указанный в параметре theta (θ), в радианах. В результате получится матрица:
 cos(θ)  0  sin(θ)  0
   0     1    0     0
-sin(θ)  0  cos(θ)  0
   0     0    0     1


make rotation Z - сделать поворот (вокруг оси Z)')" onmouseout="hide()">.makeRotationZ
( theta )
theta — угол поворота в радианах.
Метод устанавливает данную матрицу как изменение поворота вокруг оси Z на угол, указанный в параметре theta (θ), в радианах. В результате получится матрица:
cos(θ) -sin(θ)  0   0
sin(θ)  cos(θ)  0   0
  0      0      1   0
  0      0      0   1


make scale - сделать масштабирование')" onmouseout="hide()">.makeScale
( x, y, z )
x - величина масштабирования по оси X.
y - величина масштабирования по оси Y.
z - величина масштабирования по оси Z.
Устанавливает данную матрицу в измененном масштабе:
x, 0, 0, 0,
0, y, 0, 0,
0, 0, z, 0,
0, 0, 0, 1


make shear - сделать сдвиг')" onmouseout="hide()">.makeShear
( x, y, z )
x - величина сдвига по оси X.
y - величина сдвига по оси Y.
z - величина сдвига по оси Z.
Устанавливает данную матрицу с изменением на величину сдвига:
1, y, z, 0,
x, 1, z, 0,
x, y, 1, 0,
0, 0, 0, 1


make translation - сделать перемещение')" onmouseout="hide()">.makeTranslation
( x, y, z )
x - величина для переноса по оси X.
y - величина для переноса по оси Y.
z - величина для переноса по оси Z.
Устанавливает данную матрицу с изменением перемещения:
1, 0, 0, x,
0, 1, 0, y,
0, 0, 1, z,
0, 0, 0, 1


multiply - умножать')" onmouseout="hide()">.multiply
(
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Последующее перемножение данной матрицы на матрицу, указанную в аргументе
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
.


multiply matrices - умножение матриц')" onmouseout="hide()">.multiplyMatrices
(
здесь буквой a обозначен первый сомножитель')" onmouseout="hide()">a
,
здесь буквой b обозначен второй сомножитель')" onmouseout="hide()">b
)
Устанавливает данную матрицу как произведение
здесь буквой a обозначен первый сомножитель')" onmouseout="hide()">a
×
здесь буквой b обозначен второй сомножитель')" onmouseout="hide()">b
.


multiply scalar - умножить (на) скаляр(ное значение)')" onmouseout="hide()">.multiplyScalar
( s )
Метод перемножает каждый компонент данной матрицы на скалярное значение, переданное в аргументе s.


premultiply - предварительное умножение')" onmouseout="hide()">.premultiply
(
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Предварительно умножает данную матрицу на матрицу, переданную в аргументе
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
.


scale - масштаб')" onmouseout="hide()">.scale
(
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод умножает колонки данной матрицы на вектор
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


set - установить')" onmouseout="hide()">.set
( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 )
Метод устанавливает элементы данной матрицы для представления значений n11, n12, ... n44, упорядоченными по рядам.


set position - установить позицию, положение')" onmouseout="hide()">.setPosition
(
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Устанавливает компонент положения данной матрицы из вектора
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
, не затрагивая оставшуюся часть матрицы - то есть, если матрица в настоящий момент выглядит так:
a, b, c, d,
e, f, g, h,
i, j, k, l,
m, n, o, p
то станет вот такой:
a, b, c, v.x,
e, f, g, v.y,
i, j, k, v.z,
m, n, o, p

.toArray( array, offset )
array - массив для хранения результирующего вектора (дополнительный, необязательный аргумент).
offset - смещение в массиве, где размещается результат (дополнительный, необязательный аргумент).
Записывает элементы данной матрицы в массив, упорядоченный по колонкам.


transpose - транспонировать')" onmouseout="hide()">.transpose
( )
Метод транспонирует данную матрицу. ( англоязычный вариант - transpose)

Исходники



Plane

Двумерная поверхность, расширяемая до бесконечности в трехмерном пространстве, представленная в Hessian normal form
к поверхности представляет собой вектор, перпендикулярный
поверхности в данной точке.')" onmouseout="hide()">нормальным вектором
единичной длины и константой.

Конструктор

Plane( 
normal - нормаль')" onmouseout="hide()">normal
, constant )

normal - нормаль')" onmouseout="hide()">normal
- трехмерный вектор (Vector3) единичной длины, определяющий нормаль к плоскости. Дополнительный, необязательный аргумент. Значением по умолчанию является (1, 0, 0).
constant - знаковое (т.е. может быть как положительным, так и отрицательным) расстояние от точки начала координат до плоскости. Дополнительный, необязательный параметр, значение по умолчанию равно 0.

Свойства


Методы



apply matrix 4 - применить четырехмерную матрицу')" onmouseout="hide()">.applyMatrix4
(
matrix - матрица')" onmouseout="hide()">matrix
,
optional normal matrix - дополнительная нормальная матрица')" onmouseout="hide()">optionalNormalMatrix
)
matrix - the Matrix4 to apply.
optionalNormalMatrix - нормальная трехмерная матрица, предварительно рассчитанная из применяемой четырехмерной матрицы. pre-computed normal Matrix3 of the Matrix4 being applied. Дополнительный, необязательный аргумент.
Метод применяет четырехмерную матрицу к плоскости. Матрица должна быть афинным, однородным преобразованием. Apply a Matrix4 to the plane. The matrix must be an affine, homogeneous transform. Если хочется предоставить optionalNormalMatrix, её можно создать вот так:
var optionalNormalMatrix = new THREE.Matrix3().getNormalMatrix( matrix );


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новую плоскость с такими же нормалью и константой, как у этой.


coplanar point - копланарная точка')" onmouseout="hide()">.coplanarPoint
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, то результат будет скопирован в данный трехмерный вектор (Vector3), в противном случае будет создан новый Vector3. Дополнительный, необязательный параметр.
Returns a Vector3 coplanar to the plane, by calculating the projection of the normal vector at the origin onto the plane.


copy - копировать')" onmouseout="hide()">.copy
(
plane - плоскость')" onmouseout="hide()">plane
)
Метод копирует значения свойств normal и constant плоскости, переданной в аргументе plane, в данную плоскость.

.distanceToPoint( 
point - точка')" onmouseout="hide()">point
)
Возвращает расстояние (со знаком, т.е. положительное или отрицательное) от переданной точки (аргумент point) до этой плоскости.

.distanceToSphere( 
sphere - сфера')" onmouseout="hide()">sphere
)
Возвращает расстояние (со знаком, т.е. положительное или отрицательное) от переданной сферы (аргумент sphere) до этой плоскости. Returns the signed distance from the sphere to the plane.

.equals( 
plane - плоскость')" onmouseout="hide()">plane
)
Метод проверяет, равны ли эти (т.е. данная и приведенная в аргументе plane) две плоскости (совпадают ли их свойства normal и constant).


intersect line - пересечение линии')" onmouseout="hide()">.intersectLine
(
line - линия')" onmouseout="hide()">line
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

line - линия')" onmouseout="hide()">line
- the Line3 to check for intersection.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, то результат будет скопирован в данный трехмерный вектор (Vector3), в противном случае будет создан новый Vector3. Дополнительный, необязательный параметр.
Returns the intersection point of the passed line and the plane. Returns undefined if the line does not intersect. Returns the line's starting point if the line is coplanar with the plane.

.intersectsBox( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)
box - the Box3 to check for intersection.
Определяет, пересекает или нет данная плоскость параллелепипед, переданный в аргументе box.

.intersectsLine( 
line - линия')" onmouseout="hide()">line
)
line - the Line3 to check for intersection.
Метод проверяет, пересекает ли (проходит через) плоскость отрезок линии.

.intersectsSphere( 
sphere - сфера')" onmouseout="hide()">sphere
)
sphere - the Sphere to check for intersection.
Определяет, пересекает или нет данная плоскость сферу, переданную в аргументе sphere.


negate - отрицать')" onmouseout="hide()">.negate
( )
Negates both the normal vector and the constant.


normalize - нормализовать')" onmouseout="hide()">.normalize
( )
Normalizes the normal vector, and adjusts the constant value accordingly.


project point - проецировать точку')" onmouseout="hide()">.projectPoint
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)
point - the Vector3 to project onto the plane.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, то результат будет скопирован в данный трехмерный вектор (Vector3), в противном случае будет создан новый Vector3. Дополнительный, необязательный параметр.
Метод проецирует точку (аргумент point) на плоскость.


set - установить')" onmouseout="hide()">.set
(
normal - нормаль')" onmouseout="hide()">normal
, constant )
normal - a unit length Vector3 defining the normal of the plane.
constant - the signed distance from the origin to the plane. Default is 0.
Sets the plane's normal and constant properties.

set components - установить компоненты')" onmouseout="hide()">.setComponents
( x, y, z, w )
x - x value of the unit length normal vector.
y - y value of the unit length normal vector.
z - z значение вектора нормали единичной длины.
w - the value of the plane's constant property.
Set the individual components that define the plane.

set from coplanar points - установить из копланарных
(т.е. лежащих в одной плоскости) точек')" onmouseout="hide()">.setFromCoplanarPoints
( a, b, c )
a - первая точка на плоскости.
b - вторая точка на плоскости.
c - третья точка на плоскости.
Определяет плоскость на основе трех предоставленных точек. Defines the plane based on the 3 provided points. The winding order is assumed to be counter-clockwise, and determines the direction of the normal.


set from normal and coplanar point - установить по нормали и копланарной точке')" onmouseout="hide()">.setFromNormalAndCoplanarPoint
( normal, point ) this
normal - a unit length Vector3 defining the normal of the plane.
point - Vector3
Устанавливает свойства плоскости Sets the plane's properties as defined by a normal and an arbitrary coplanar point.


translate - перенос, перевод')" onmouseout="hide()">.translate
(
offset - смещение')" onmouseout="hide()">offset
)

offset - смещение')" onmouseout="hide()">offset
- размер перемещения плоскости. the amount to move the plane by.
Перемещает плоскость на расстояние, определяемое вектором смещения (параметр
offset - смещение')" onmouseout="hide()">offset
). Обратите внимание, этот метод воздействует только на константу плоскости и не влияет на вектор нормали. Translates the plane by the distance defined by the offset vector. Note that this only affects the plane constant and will not affect the normal vector.

Исходники



Quaternion

Реализация кватерниона. Вот статья Википедии о кватернионе на русском языке.
Кватернионы используются при расчетах вращающихся элементов (вот эта статья Википедии на русском), при этом, среди других преимуществ, не встречаясь с ужасной проблемой «шарнирного замка». Вот статья Википедии о «шарнирном замке» на русском языке.

Пример

var quaternion = new THREE.Quaternion();
quaternion.setFromAxisAngle( new THREE.Vector3( 0, 1, 0 ), Math.PI / 2 );
var vector = new THREE.Vector3( 1, 0, 0 ); vector.applyQuaternion( quaternion );

Конструктор

Quaternion( x, y, z, w )
x - координата x.
y - координата y
z - координата z
w - координата w

Свойства


.x
Изменение этого свойства приведет к вызову метода onChangeCallback.

.y
Изменение этого свойства приведет к вызову метода onChangeCallback.

.z
Изменение этого свойства приведет к вызову метода onChangeCallback.

.w
Изменение этого свойства приведет к вызову метода onChangeCallback.

Методы



clone - клонировать')" onmouseout="hide()">.clone
( )
Создает новый Quaternion с такими же свойствами x, y, z и w как у данного.


conjugate - сопряженный, парный, соединенный')" onmouseout="hide()">.conjugate
( )
Возвращает конъюгат вращения к данному кватерниону. Конъюгат кватерниона представляет собой тоже самое вращение в обратном направлении вокруг осей вращения.


copy - копировать')" onmouseout="hide()">.copy
(
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q
)
Метод копирует свойства x, y, z и w кватерниона, указанного в параметре
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q
, в данный кватернион.

.equals( v )
v - кватернион, с которым будет сравниваться данный кватернион.
Метод сравнивает свойства x, y, z и w кватерниона, указанного в параметре v, с аналогичными свойствами данного кватерниона, чтобы определить представлено ли в них одно и то же вращение.


тот факт, что скалярное произведение принято
обозначать точкой, а векторное - знаком умножения,
т.е. диагональным крестиком)')" onmouseout="hide()">.dot
( v )
Метод вычисляет скалярное произведение (в англ. варианте - dot product) данного кватерниона и кватерниона, представленного в аргументе v.


from array - из массива')" onmouseout="hide()">.fromArray
( array, offset )
array - массив в формате (x, y, z, w), используемый для построения кватерниона.
offset - смещение в массиве (дополнительный, необязательный параметр).
Устанавливает свойства x, y, z и w данного кватерниона из массива.


inverse - инверсия, противоположность, обратный порядок')" onmouseout="hide()">.inverse
( )
Метод инвертирует данный кватернион - вычисляет конъюгат и затем нормализует результат.

.length( )
Метод вычисляет евклидово расстояние (Euclidean length), т.е. длину прямой линии данного кватерниона, рассматриваемого в качестве четырехмерного вектора.

.lengthSq( )
Метод вычисляет квадрат евклидова расстояния (Euclidean length), т.е. квадрат длины прямой линии данного кватерниона, рассматриваемого в качестве четырехмерного вектора. Его удобно применять при сравнении длин двух кватернионов, поскольку это несколько более эффективный расчет чем в методе length.


normalize - нормализовать, упорядочить')" onmouseout="hide()">.normalize
( )
Метод нормализует данный кватернион - то есть, вычисляет кватернион, выполняющий такое же вращение, как и данный, но имеет длину равную 1.
Вот статья Википедии о нормализованном, т.е. единичном векторе на русском языке.


multiply - умножить')" onmouseout="hide()">.multiply
(
сокращ. от англ. слова quaternion - кватернион')" onmouseout="hide()">q
)
Метод умножает данный кватернион на кватернион, указанный в аргументе
сокращ. от англ. слова quaternion - кватернион')" onmouseout="hide()">q
.


multiply quaternions - умножить кватернионы')" onmouseout="hide()">.multiplyQuaternions
(
a - обозначение сомножителя')" onmouseout="hide()">a
,
b - обозначение сомножителя')" onmouseout="hide()">b
)
Устанавливает этот кватернион равным
a - обозначение сомножителя')" onmouseout="hide()">a
×
b - обозначение сомножителя')" onmouseout="hide()">b
.
Умножение производится в соответствии с методом, приведенным здесь.


on change - на изменение')" onmouseout="hide()">.onChange
(
обратного вызова на изменение')" onmouseout="hide()">onChangeCallback
)
Устанавливает метод onChangeCallback.


on change callback - функция
обратного вызова на изменение')" onmouseout="hide()">.onChangeCallback
( )
Данная функция вызывается всякий раз, когда происходит одно из следующих событий:
По умолчанию это "пустая" функция, однако при необходимости вы можете ее изменить, воспользовавшись методом onChange( onChangeCallback ).


premultiply - предварительное умножение')" onmouseout="hide()">.premultiply
(
q - сокращ. от англ. слова quaternion - кватернион')" onmouseout="hide()">q
)
Метод предварительно умножает данный кватернион с заданным в аргументе q.


slerp - сокращ. англ. слов
spherical linear interpolation -
сферическая линейная интерполяция')" onmouseout="hide()">.slerp
(
qb - сокращ. англ. слов quaternion b -
т.е. кватернион обозначенный буквой b
или второй кватернион, первым будет тот,
от которого вызван этот метод')" onmouseout="hide()">qb
, t )
t -- коэффициент интерполяции (interpolation factor) в закрытом (замкнутом) интервале (closed interval) [0, 1].
Метод осуществляет сферическую линейную интерполяцию между кватернионами. Аргумент t представляет суммарный поворот между данным кватернионом (при t равном 0) и кватернионом, переданным в аргументе qb (при t равном 1). This quaternion is set to the result. Также посмотрите статическую версию метода slerp ниже.
// rotate a mesh towards a target quaternion
// поворачиваем сетку (mesh) к целевому кватерниону
mesh.quaternion.slerp( endQuaternion, 0.01 );
Примечание переводчика: Вот статья английской Википедии о сферической линейной интерполяции. А здесь статья gamedev.ru о интерполяции кватернионов на русском языке.


set - установить')" onmouseout="hide()">set
( x, y, z, w )
Устанавливает свойства x, y, z, w данного кватерниона.


set from axis angle - установить по оси (и) углу')" onmouseout="hide()">.setFromAxisAngle
(
axis - ось')" onmouseout="hide()">axis
, angle )
Устанавливает этот кватернион из вращения, заданного осью и углом. Sets this quaternion from rotation specified by axis and angle.
Adapted from http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm.
Предполагается, что оси (axis) нормализованы, а угол (angle) представлен в радианах.


set from Euler - установить по (углу) Эйлера')" onmouseout="hide()">.setFromEuler
(
euler - (угол) Эйлера')" onmouseout="hide()">euler
)
Sets this quaternion from rotation specified by Euler angle.


set from rotation matrix -
установить по матрице вращения')" onmouseout="hide()">.setFromRotationMatrix
(
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Sets this quaternion from rotation component of *m*.
Adapted from http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm.


set from unit vectors -
установить по единичным
векторам')" onmouseout="hide()">.setFromUnitVectors
(
сокращ. англ. слов vector from - вектор из')" onmouseout="hide()">vFrom
,
сокращ. англ. слов vector to - вектор для')" onmouseout="hide()">vTo
)
Sets this quaternion to the rotation required to rotate direction vector *vFrom* to direction vector *vTo*.
Adapted from http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors.
*vFrom* and *vTo* are assumed to be normalized.

.toArray( array, offset )
array -- дополнительный, необязательный массив для хранения кватерниона. Если этот параметр не указан, будет создан новый массив.
offset -- дополнительное, необязательное смещение в выходном массиве. (optional) if specified, the result will be copied into this Array.
Метод возвращает числовые элементы данного кватерниона как массив в формате [x, y, z, w].

Статические методы

Статические методы (в противоположность методам для отдельных экземпляров) разработаны для вызова непосредственно от класса, а не от отдельного экземпляра. Поэтому для использования статической версии метода, вызов делается так:
THREE.Quaternion.slerp( qStart, qEnd, qTarget, t );
Для сравнения, чтобы вызвать "обычный" или "экземплярный" метод slerp нужно сделать следующее:
// instantiate a quaternion with default values
// создаем экземпляр кватерниона со значениями по умолчанию
var q = new THREE.Quaternion();
// call the instanced slerp method (вызов "экземплярного" метода slerp) q.slerp( qb, t )


сокращение от англ. слов spherical linear interpolation
- сферическая линейная интерполяция')" onmouseout="hide()">.slerp
(
сокращ. англ. слов starting quaternion - начальный кватернион')" onmouseout="hide()">qStart
,
сокращ. англ. слов ending quaternion - конечный кватернион')" onmouseout="hide()">qEnd
,
сокращ. англ. слов target quaternion - целевой кватернион')" onmouseout="hide()">qTarget
, t )

сокращ. англ. слов target quaternion - целевой кватернион')" onmouseout="hide()">qTarget
-- целевой кватернион, который устанавливается в результате операции.
t -- коэффициент интерполяции в замкнутом интервале [0, 1].
В отличие от обычного метода, статическая версия slerp в результате операции сферического линейного интерполирования устанавливает целевой кватернион.
// Code setup (код настройки)
  var startQuaternion = new THREE.Quaternion().set( 0, 0, 0, 1 ).normalize();
  var endQuaternion = new THREE.Quaternion().set( 1, 1, 1, 1 ).normalize();
  var t = 0;
// Update a mesh's rotation in the loop (обновление вращения сетки в цикле) t = ( t + 0.01 ) % 1; // constant angular momentum (постоянный угловой момент) THREE.Quaternion.slerp( startQuaternion, endQuaternion, mesh.quaternion, t );


interpolation flat - сферическая линейная
интерполяция "плоских" (массивов чисел)')" onmouseout="hide()">.slerpFlat
(
место назначения, конечный, целевой')" onmouseout="hide()">dst
,
целевое, конечное смещение, т.е.
смещение в выходном массиве')" onmouseout="hide()">dstOffset
,
- здесь имеется ввиду начальный исходный массив
с коэффициентом интерполяции равным 0')" onmouseout="hide()">src0
,
смещение в начальном исходном массиве
с коэффициентом интерполяции равным 0')" onmouseout="hide()">srcOffset0
,
здесь имеется ввиду целевой исходный массив
с коэффициентом интерполяции равным 1')" onmouseout="hide()">src1
,
смещение в целевом исходном массиве
с коэффициентом интерполяции равным 1')" onmouseout="hide()">srcOffset1
, t )
t -- коэффициент интерполяции в замкнутом интервале [0, 1].
Работает также как и статический метод slerp, описанный выше, но оперирует непосредственно с "плоскими" массивами чисел.

Исходники



Ray

Луч (ray), который испускается из источника в определенном направлении. Данный класс используется RayCaster'ом для оказания помощи с raycasting. Вот описание рейкастинга в Википедии на русском языке. Рейкастинг используется для выборки курсором мышки (вычисляет какие из объектов в трехмерном пространстве накрывает курсор мышки) среди других объектов.

Конструктор

Ray( 
origin - источник')" onmouseout="hide()">origin
,
direction - направление')" onmouseout="hide()">direction
)

origin - источник')" onmouseout="hide()">origin
-- источник луча (Ray). Дополнительный, необязательный параметр, значением по умолчанию является трехмерный вектор (Vector3) с координатами (0, 0, 0).

direction - направление')" onmouseout="hide()">direction
-- Vector3 The direction of the Ray. This must be normalized (with Vector3.normalize) for the methods to operate properly. Default is a Vector3 at (0, 0, 0).
Создает новый Ray.

Свойства



origin - источник')" onmouseout="hide()">.origin
Источник луча (Ray). Значением по умолчанию является трехмерный вектор (Vector3) с координатами (0, 0, 0).


direction - направление')" onmouseout="hide()">.direction
Направление луча (Ray). Для правильной работы методов, этот вектор должен быть нормализован (с помощью метода normalize).

Методы



apply Matrix4 - применить четырехмерную матрицу')" onmouseout="hide()">.applyMatrix4
(
matrix4 - четырехмерная матрица')" onmouseout="hide()">matrix4
)
Метод изменяет данный луч с помощью четырехмерной матрицы.


at - предлог "в"')" onmouseout="hide()">.at
( t,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)
t - расстояние вдоль луча (Ray) the distance along the Ray to retrieve a position for.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Метод получает трехмерный вектор (Vector3) that is a given distance along this Ray.


clone - клонировать')" onmouseout="hide()">.clone
( )
Создает новый луч (Ray) со свойствами origin и direction идентичными свойствам данного луча.


closest point to point - ближайшая точка к точке')" onmouseout="hide()">.closestPointToPoint
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

point - точка')" onmouseout="hide()">point
- точка, для которой нужно получить ближайшее место на луче.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Метод получает точку на данном луче (Ray), которая ближе всего находится к предоставленому трехмерному вектору (аргумент point).


copy - копировать')" onmouseout="hide()">.copy
(
ray - луч')" onmouseout="hide()">ray
)
Метод копирует свойства origin и direction переданного луча (аргумент
ray - луч')" onmouseout="hide()">ray
) в данный луч.

.distanceSqToPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- точка (Vector3), до которой нужно вычислить расстояние.
Метод получает квадрат наименьшего расстояния между лучом (Ray) и переданным Vector3 (аргумент
point - точка')" onmouseout="hide()">point
).


квадрат расстояния до сегмента')" onmouseout="hide()">.distanceSqToSegment
(
v0 - это сокращ. от англ.
слова vector с номером 0')" onmouseout="hide()">v0
,
v1 - это сокращ. от англ.
слова vector с номером 1')" onmouseout="hide()">v1
,
optional point on ray - дополнительная точка на луче')" onmouseout="hide()">optionalPointOnRay
,
optional point on segment - дополнительная точка на сегменте')" onmouseout="hide()">optionalPointOnSegment
)

optional point on ray - дополнительная точка на луче')" onmouseout="hide()">optionalPointOnRay
- если этот параметр представлен, он принимается как точка данного луча (Ray), ближайшая к данному отрезку линии. Дополнительный, необязательный параметр.

optional point on segment - дополнительная точка на сегменте')" onmouseout="hide()">optionalPointOnSegment
- если этот параметр представлен, он принимается как точка данного отрезка линии, ближайшая к данному лучу (Ray). Дополнительный, необязательный параметр.
Метод получает квадрат расстояния между данным лучом (Ray) и отрезком линии.

.distanceToPlane( 
plane - плоскость')" onmouseout="hide()">plane
)

plane - плоскость')" onmouseout="hide()">plane
- плоскость, до которой нужно получить расстояние.
Получает расстояние от исходной точки луча (origin) до плоскости, или значение null, если данный луч не пересекается с данной плоскостью.

.distanceToPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
- точка (Vector3), до которой нужно вычислить расстояние.
Метод получает наименьшее расстояние между лучом (Ray) и точкой (аргумент
point - точка')" onmouseout="hide()">point
).

.equals( 
ray - луч')" onmouseout="hide()">ray
)

ray - луч')" onmouseout="hide()">ray
- сравниваемый луч (Ray).
Возвращает значение true, если свойства origin и direction переданного луча (аргумент ray) и данного, равны.


intersect box - пересечение параллелепипеда')" onmouseout="hide()">.intersectBox
(
box - коробка, ящик, клетка')" onmouseout="hide()">box
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- Box3, с которым пересекается луч.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Пересечение данного луча (Ray) с параллелепипедом (Box3), возвращает точку пересечения или значение null, если пересечения нет.


intersect plane - пересечение плоскости')" onmouseout="hide()">.intersectPlane
(
plane - плоскость')" onmouseout="hide()">plane
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

plane - плоскость')" onmouseout="hide()">plane
- плоскость (Plane), с которой пересекается луч.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Пересечение данного луча (Ray) с плоскостью (Plane), возвращает точку пересечения или значение null, если пересечения нет.


intersect sphere - пересечение сферы')" onmouseout="hide()">.intersectSphere
(
sphere - сфера')" onmouseout="hide()">sphere
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

sphere - сфера')" onmouseout="hide()">sphere
- сфера (Sphere), с которой пересекается луч.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Пересечение данного луча (Ray) со сферой (Sphere), возвращает точку пересечения или значение null, если пересечения нет.


intersect triangle - пересечение треугольника')" onmouseout="hide()">.intersectTriangle
(
a - буква алфавита, в данном случае
обозначающая координаты точки')" onmouseout="hide()">a
,
b - буква алфавита, в данном случае
обозначающая координаты точки')" onmouseout="hide()">b
,
c - буква алфавита, в данном случае
обозначающая координаты точки')" onmouseout="hide()">c
,
(заднюю) сторону')" onmouseout="hide()">backfaceCulling
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

(заднюю) сторону')" onmouseout="hide()">backfaceCulling
- будет или нет отбрасываться оборотная (задняя) сторона.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Пересечение данного луча (Ray) с треугольником, возвращает точку пересечения или значение null, если пересечения нет.

.intersectsBox( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- Box3, для проверки на пересечение.
Метод возвращает значение true, если данный луч пересекается с данным Box3.

.intersectsPlane( 
plane - плоскость')" onmouseout="hide()">plane
)

plane - плоскость')" onmouseout="hide()">plane
- Plane для проверки на пересечение.
Метод возвращает значение true, если данный луч пересекается с данной Plane.

.intersectsSphere( 
sphere - сфера')" onmouseout="hide()">sphere
)
Метод возвращает значение true, если данный луч пересекается с данной Sphere.


look at - смотреть на')" onmouseout="hide()">.lookAt
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Устанавливает направление луча на точку с "мировыми" координатами, переданными в векторе.


recast - перебросить')" onmouseout="hide()">.recast
( t )
t - расстояние вдоль луча для The distance along the Ray to interpolate.
Сдвиг исходной точки данного луча по его направлению на заданное расстояние.


set - установить')" onmouseout="hide()">.set
(
origin - источник')" onmouseout="hide()">origin
,
direction - направление')" onmouseout="hide()">direction
)

origin - источник')" onmouseout="hide()">origin
- точка, откуда изпускается луч (Ray).

direction - направление')" onmouseout="hide()">direction
- направление луча (Ray). Для правильной работы методов, этот вектор должен быть нормализован (с помощью метода normalize).
Метод копирует параметры свойств, переданных в аргументах origin и direction, в данный луч (Ray).

Исходники



Sphere

Сфера, определяемая центром и радиусом.

Конструктор

Sphere( 
center - центр')" onmouseout="hide()">center
, radius )

center - центр')" onmouseout="hide()">center
-- центр сферы. Значением по умолчанию является Vector3 с координатами (0, 0, 0).
radius -- радиус сферы. Значение по умолчанию равно 0.
Создает новую сферу.

Свойства



center - центр')" onmouseout="hide()">.center
Трехмерный вектор, определяющий центр сферы. Значением по умолчанию является (0, 0, 0).

.radius
Радиус сферы. Значение по умолчанию равно 0.

Методы



apply matrix 4 - применить четырехмерную матрицу')" onmouseout="hide()">.applyMatrix4
(
matrix - матрица')" onmouseout="hide()">matrix
)
Метод выполняет преобразование данной сферы с помощью предоставленной матрицы.


clamp point - прижать (закрепить) точку')" onmouseout="hide()">.clampPoint
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

point - точка')" onmouseout="hide()">point
- закрепляемая точка.

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Фиксирует точку в пределах сферы. Если точка находится вне сферы (снаружи), она будет прикреплена к ближайшей точке на поверхности сферы. Точки, находящиеся внутри сферы, не будут затронуты.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новую сферу с точно такими же свойствами center и radius как у данной.

.containsPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
-- проверяемая точка.
Метод проверяет, содержит ли сфера предоставленную точку, включая и поверхность сферы.


copy - копировать')" onmouseout="hide()">.copy
(
sphere - сфера')" onmouseout="hide()">sphere
)

sphere - сфера')" onmouseout="hide()">sphere
-- копируемая сфера.
Копирует значения свойств center и radius, переданной сферы в данную сферу.

.distanceToPoint( 
point - точка')" onmouseout="hide()">point
)

point - точка')" onmouseout="hide()">point
-- точка (Vector3), до которой вычисляется расстояние.
Возвращает наикратчайшее расстояние от ограничительной сферы до точки. Если точка находится внутри сферы, расстояние будет отрицательным.

.empty( )
Проверяет, является ли сфера пустой (радиус установлен как 0).

.equals( 
sphere - сфера')" onmouseout="hide()">sphere
)

sphere - сфера')" onmouseout="hide()">sphere
-- сфера, проверяемая на равность.
Метод проверяет, равны ли свойства center и radius двух сфер.


get bounding box - получить ограничительную рамку')" onmouseout="hide()">.getBoundingBox
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если аргумент указан, результат будет скопирован в приведенный Box3, в противном случае будет создан новый Box3. Дополнительный, необязательный аргумент.
Возвращает минимальную ограничительную рамку (Minimum Bounding Box) для данной сферы.

.intersectsBox( 
box - коробка, ящик, клетка')" onmouseout="hide()">box
)

box - коробка, ящик, клетка')" onmouseout="hide()">box
- Box3, проверяемый на пересечение с данной сферой.
Метод определяет, пересекается или нет данная сфера с параллелепипедом, предоставленным в аргументе box.

.intersectsPlane( 
plane - плоскость')" onmouseout="hide()">plane
)

plane - плоскость')" onmouseout="hide()">plane
- плоскость, проверяемая на пересечение с данной сферой.
Метод определяет, пересекается или нет данная сфера с плоскостью, предоставленной в аргументе plane.

.intersectsSphere( 
sphere - сфера')" onmouseout="hide()">sphere
)
Метод проверяет, не пересекаются ли две сферы.


set - установить')" onmouseout="hide()">.set
(
center - центр')" onmouseout="hide()">center
, radius )
radius -- радиус сферы.
Метод устанавливает свойства center и radius для этой сферы.


set from points - установить')" onmouseout="hide()">.setFromPoints
( points,
optional center - дополнительный (необязательный) центр')" onmouseout="hide()">optionalCenter
)
points -- массив позиций трехмерных векторов (Vector3).
Метод вычисляет минимальную ограничивающую сферу для массива точек (переданного в параметре points). Если параметр
optional center - дополнительный (необязательный) центр')" onmouseout="hide()">optionalCenter
задан, то он будет использоваться в качестве центра сферы. В противном случае, вычисляется центр ограничивающей рамки, выровненной по осям и охватывающей весь массив точек (points).


translate - перевести, перенести')" onmouseout="hide()">.translate
(
offset - смещение')" onmouseout="hide()">offset
)
Метод переносит центр сферы на представленный вектор смещения (параметр offset).

Исходники



Spherical

Координаты точки в сферической системе координат.
Сферическая система координат на русском языке.

Конструктор

Spherical( radius, phi, theta )
radius - радиус или эвклидово расстояние (расстояние по прямой) от точки до начала координат. Значение по умолчанию равно 1.0.
phi - полярный угол от оси y (верх). Значение по умолчанию равно 0.
Примечание переводчика: в русском языке принято называть этот угол зенитным.
theta - экваториальный угол вокруг оси y (верх). Значение по умолчанию равно 0.
Примечание переводчика: в русском языке принято называть этот угол азимутальным.
Полюсы (phi) находятся на положительной и отрицательной сторонах оси y. Экватор (theta) начинается с положительной стороны оси z.

Свойства


Методы



clone - клонировать')" onmouseout="hide()">.clone
()
Метод возвращает новую плоскость с теми же свойствами .radius, .phi и .theta, что и у данной.


copy - копировать')" onmouseout="hide()">.copy
(
s - сокращ. англ. слова spherical - сферический')" onmouseout="hide()">s
)
Копирует значения свойств .radius, .phi и .theta Spherical, переданной в аргументе s, в данную Spherical.


make safe - сделать безопасным')" onmouseout="hide()">.makeSafe
( )
Метод ограничивает полярный угол .phi между 0.000001 и pi - 0.000001.


set - установить')" onmouseout="hide()">.set
( radius, phi, theta )
Устанавливает значения свойств .radius, .phi и .theta данной точки в сферических координатах.


set from vector 3 - установить из трехмерного вектора')" onmouseout="hide()">.setFromVector3
(
vec3 - сокращ. англ. слов vector 3 - трехмерный вектор')" onmouseout="hide()">vec3
)
Метод устанавливает значения свойств .radius, .phi и .theta данной точки в сферических координатах из трехмерного вектора.
В качестве значения свойства .radius устанавливается длина вектора, в то время как свойства .phi и .theta устанавливаются из его направления.

Исходники



Triangle

Треугольник - геометрическая фигура, определяемая тремя трехмерными векторами (Vector3), представляющими три его угла.

Конструктор

Triangle( a, b, c )
a - первый угол треугольника. Значением по умолчанию является трехмерный вектор (0, 0, 0).
b - второй угол треугольника. Значением по умолчанию является трехмерный вектор (0, 0, 0).
c - последний угол треугольника. Значением по умолчанию является трехмерный вектор (0, 0, 0).
Создает новый Triangle.

Свойства


.a
Первый угол треугольника. Значением по умолчанию является трехмерный вектор (0, 0, 0).

.b
Второй угол треугольника. Значением по умолчанию является трехмерный вектор (0, 0, 0).

.c
Последний угол треугольника. Значением по умолчанию является трехмерный вектор (0, 0, 0).

Методы


.area( )
Метод возвращает площадь треугольника.


сокращ. англ. слов barycentric coordinates from point
- барицентрические координаты из точки')" onmouseout="hide()">.barycoordFromPoint
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

point - точка')" onmouseout="hide()">point
- трехмерный вектор (Vector3).

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, результат будет скопирован в заданный трехмерный вектор (Vector3), в противном случае будет создан новый трехмерный вектор. Дополнительный, необязательный параметр.
Метод возвращает барицентрические координаты (barycentric coordinate) из заданного вектора.
Изображение барицентрических координат.


clone - клонировать')" onmouseout="hide()">.clone
( )
Метод возвращает новый треугольник с точно такими же свойствами a, b и c как и у данного.


closest point to point - точка, ближайшая к точке')" onmouseout="hide()">.closestPointToPoint
(
point - точка')" onmouseout="hide()">point
,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, результат будет скопирован в заданный трехмерный вектор (Vector3), в противном случае будет создан новый трехмерный вектор. Дополнительный, необязательный параметр.
Метод возвращает точку на треугольнике, ближайшую к указанной в аргументе
point - точка')" onmouseout="hide()">point
.

.containsPoint( 
point - точка')" onmouseout="hide()">point
)
Метод возвращает значение true, если переданная точка, проецируемая на плоскость треугольника, находится внутри треугольника.


copy - копировать')" onmouseout="hide()">.copy
(
triangle - треугольник')" onmouseout="hide()">triangle
)
Копирует значения свойств a, b и c треугольника, переданного в аргументе
triangle - треугольник')" onmouseout="hide()">triangle
, с подобными значениями данного треугольника.

.equals( 
triangle - треугольник')" onmouseout="hide()">triangle
)
Метод возвращает значение true, если два треугольника имеют одинаковые свойства a, b и c.


midpoint - сокращ. англ. слов middle point (triangle)
- (треугольник на) средних точках (сторон)')" onmouseout="hide()">.midpoint
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, результат будет скопирован в заданный трехмерный вектор (Vector3), в противном случае будет создан новый трехмерный вектор. Дополнительный, необязательный параметр.
Вычисляет серединный треугольник (англоязычный вариант - midpoint triangle) данного треугольника.


normal - нормаль')" onmouseout="hide()">.normal
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, результат будет скопирован в заданный трехмерный вектор (Vector3), в противном случае будет создан новый трехмерный вектор. Дополнительный, необязательный параметр.
Метод вычисляет вектор нормали () треугольника.


plane - плоскость')" onmouseout="hide()">.plane
(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
)

optional target - дополнительная цель')" onmouseout="hide()">optionalTarget
- если этот параметр указан, результат будет скопирован в заданную плоскость (Plane), в противном случае будет создана новая Plane. Дополнительный, необязательный параметр.
Метод создает плоскость на основе данного треугольника.


set - установить')" onmouseout="hide()">.set
(
a - буква латинского алфавита, в данном
случае обозначает вершину треугольника')" onmouseout="hide()">a
,
b - буква латинского алфавита, в данном
случае обозначает вершину треугольника')" onmouseout="hide()">b
,
c - буква латинского алфавита, в данном
случае обозначает вершину треугольника')" onmouseout="hide()">c
)
Устанавливает свойства a, b и c данного треугольника по переданным трехмерным векторам (аргументы a, b и c).


set from points and indices -
установить из точек и индексов')" onmouseout="hide()">.setFromPointsAndIndices
( points, i0, i1, i2 )
points - массив трехмерных векторов (Vector3).
i0 - целочисленный индекс.
i1 - целочисленный индекс.
i2 - целочисленный индекс.
Метод устанавливает векторы треугольника по векторам предоставленного массива (аргумент points).

Исходники



Vector2

Класс, представляющий двумерный (2D) вектор. (Вот статья Википедии о векторном пространстве на русском языке.) Вектор 2D - это упорядоченная пара чисел (помеченных как x и y), которая может использоваться для представления ряда вещей, таких как:
  • Точка в двумерном пространстве (т.е. позиция на плоскости).
  • Направление и расстояние по плоскости. В three.js расстояние всегда будет Эвклидовым расстоянием (т.е. расстоянием по прямой линии) от точки начала координат (0, 0) до координат заданной точки (x, y), направление также измеряется от (0, 0) к (x, y).
  • Любая произвольная упорядоченная пара чисел.
Имеются и другие вещи, которые можно представить как 2D-вектор, однако это его наиболее распространенное использование в three.js.

Пример

var a = new THREE.Vector2( 0, 1 );
// no arguments; will be initialised to (0, 0) // без аргументов вектор будет инициализирован как (0, 0) var b = new THREE.Vector2( );
var d = a.distanceTo( b );

Конструктор

Vector2( x, y )
x - значение x вектора, по умолчанию равно 0.
y - значение y вектора, по умолчанию равно 0.
Создает новый Vector2.

Свойства


.isVector2
Свойство используется для проверки, является ли данный класс и производные от него классы двумерными векторами (Vector2). Значением по умолчанию является true.
Не изменяйте это свойство, так как оно используется для оптимизации внутри three.js.

.height
Псевдоним (алиас) для y.

.width
Псевдоним (алиас) для x.

x


y

Методы



add - добавить, сложить, прибавить')" onmouseout="hide()">.add
(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод добавляет к данному вектору вектор
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
.


add scalar - прибавить скаляр(ное значение)')" onmouseout="hide()">.addScalar
(
т.е. величина, полностью определяемая в
любой координатной системе одним числом,
которое не меняется при изменении
пространственной системы координат.')" onmouseout="hide()">s
)
Метод добавляет скалярное значение s к значениям данного вектора x и y.


add scaled vector - прибавить скалярный вектор')" onmouseout="hide()">.addScaledVector
(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
,
т.е. величина, полностью определяемая в
любой координатной системе одним числом,
которое не меняется при изменении
пространственной системы координат.')" onmouseout="hide()">s
)
Добавляет к данному вектору множество из вектора
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
и скаляра s.


add vectors - сложить векторы')" onmouseout="hide()">.addVectors
(
a - первое слагаемое')" onmouseout="hide()">a
,
b - второе слагаемое')" onmouseout="hide()">b
)
Устанавливает данный вектор как
a - первое слагаемое')" onmouseout="hide()">a
+
b - второе слагаемое')" onmouseout="hide()">b
.

.angle( )
Метод вычисляет угол (в радианах) данного вектора относительно положительной оси x.


apply matrix 3 - применить матрицу 3 на 3')" onmouseout="hide()">.applyMatrix3
(
сокращ. от англ. слова matrix - матрица')" onmouseout="hide()">m
)
Метод перемножает данный вектор (с подразумеваемым включением 1 в качестве третьего компонента) с матрицей m.


ceil - потолок, перекрытие; в данном
случае означает округление вверх')" onmouseout="hide()">.ceil
( )
Компоненты x и y данного вектора округляются вверх до ближайшего целого значения.


clamp - зажать, в данном случае означает зафиксировать
значение в диапазоне, определенном минимальным и
максимальным значениями')" onmouseout="hide()">.clamp
(
min - сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min
,
max - сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">max
)
Если значение x или y данного вектора больше значения x или y вектора, указанного в параметре max, оно заменяется этим соответствующим значением.
Если значение x или y данного вектора меньше значения x или y вектора, указанного в параметре min, оно заменяется этим соответствующим значением.


clamp length - зажать длину')" onmouseout="hide()">.clampLength
( min, max )
min - минимальное значение длины, на котором она будет зафиксирована (зажата).
max - максимальное значение длины, на котором она будет зафиксирована (зажата).
Если длина данного вектора больше значения, указанного в параметре max, она заменяется на значение max.
Если длина данного вектора меньше значения, указанного в параметре min, она заменяется на значение min.


clamp scalar - зажать скалярное (значение)')" onmouseout="hide()">.clampScalar
( min, max )
min - минимальное значение компонентов, на котором они будут зафиксированы (зажаты).
max - максимальное значение компонентов, на котором они будут зафиксированы (зажаты).
Если значение x или y данного вектора больше значения, указанного в параметре max, оно заменяется на значение max.
Если значение x или y данного вектора меньше значения, указанного в параметре min, оно заменяется на значение min.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новый Vector2 с такими же значениями x и y, что и у данного вектора.


copy - копировать')" onmouseout="hide()">.copy
(
сокращ. англ. слова vector')" onmouseout="hide()">v
)
Копирует значения свойств x и y из вектора (Vector2), переданного в параметре v, в данный вектор (Vector2).

.distanceTo( 
сокращ. англ. слова vector')" onmouseout="hide()">v
)
Метод вычисляет расстояние от данного вектора до вектора, приведенного в аргументе
сокращ. англ. слова vector')" onmouseout="hide()">v
.

.manhattanDistanceTo( 
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычисляет манхэттенское расстояние (Manhattan length) от данного вектора до вектора, указанного в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.

.distanceToSquared( 
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Вычисляет квадрат расстояния от данного вектора до вектора, указанного в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
. Вместо простого сравнения одного расстояния с другим следует сравнивать именно квадраты расстояний, так как это вычисление несколько более эффективно.
Примечание переводчика: Вычисление расстояния методом distanceTo это вычисление квадратного корня из результата, полученного методом distanceToSquared.


divide - делить')" onmouseout="hide()">.divide
(
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод делит данный вектор на вектор, указанный в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


divide scalar - делить (на) скаляр')" onmouseout="hide()">.divideScalar
( s )
Делит данный вектор на скалярное значение s. Если значение скаляра равно нулю (s = 0), вектор устанавливается как (0, 0).


что скалярное произведение принято обозначать точкой,
а векторное - знаком умножения, т.е. диагональным крестиком)')" onmouseout="hide()">.dot
(
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычисляет скалярное произведение (dot product) данного вектора и вектора, переданного в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.

.equals( 
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод проверяет точное равенство данного вектора и вектора, переданного в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


floor - пол, нижний уровень, здесь имеется
ввиду что производится округление вниз')" onmouseout="hide()">.floor
( )
Этим методом компоненты вектора округляются вниз, до ближайшего целочисленного значения.


from array - из массива')" onmouseout="hide()">.fromArray
( array, offset )
array - исходный массив.
offset - смещение массива (дополнительный, необязательный параметр). Значение по умолчанию равно 0.
Метод устанавливает для данного вектора значение x как array[ offset ], а значение y как array[ offset + 1 ].


from buffer attribute - из буферного атрибута')" onmouseout="hide()">.fromBufferAttribute
(
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute
, index )
index - индекс в атрибуте.
Устанавливает значения x и y данного вектора из атрибута, указанного в параметре
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute
.

.getComponent( index )
index -- целочисленное значение, может быть 0 или 1.
Если индекс равен 0, возвращается значение x.
Если индекс равен 1, возвращается значение y.

.length( )
Вычисляет евклидову длину (Euclidean length), т.е. расстояние по прямой линии, от точки начала координат (0, 0) до точки с заданными координатами (x, y).

.manhattanLength( )
Метод вычисляет манхэттенское расстояние (Manhattan length) данного вектора.


- длина в квадрате или квадрат длины')" onmouseout="hide()">.lengthSq
( )
Метод вычисляет квадрат евклидовой длины (Euclidean length), т.е. квадрат расстояния по прямой линии, от точки начала координат (0, 0) до точки с заданными координатами (x, y). Вместо сравнения длин векторов следует сравнивать их квадраты, так как для расчета это несколько более эффективно.
Примечание переводчика: Вычисление длины вектора методом length это вычисление квадратного корня из результата, полученного методом lengthSq.


lerp - сокращ. англ. слов linearly
interpolate - линейная интерполяция')" onmouseout="hide()">.lerp
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
,
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
)

v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
- двумерный вектор (Vector2), до которого будет проводится операция интерполирования.

в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
- коэффициент интерполяции в закрытом интервале [0, 1].
Метод выполняет операцию линейного интерполирования между данным вектором и вектором, переданным в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
с коэффициентом интерполяции
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
, причем alpha можно рассматривать как расстояние вдоль линии соединения этих двух векторов - при alpha = 0, он будет равен данному вектору, а при alpha = 1 - вектору v.


lerp vectors - сокращ. англ. слов
linearly interpolate vectors -
линейная интерполяция векторов')" onmouseout="hide()">.lerpVectors
(
сокращ. англ. слова vector - вектор,
в данном случае - первый вектор')" onmouseout="hide()">v1
,
сокращ. англ. слова vector - вектор,
в данном случае - второй вектор')" onmouseout="hide()">v2
,
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
)

в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
- коэффициент интерполяции в закрытом интервале [0, 1].
Метод устанавливает данный вектор как линейно интерполированный вектор между векторами v1 и v2, и где alpha - это расстояние вдоль линии соединения этих двух векторов - при alpha = 0, он будет равен вектору v1, при alpha = 1 - вектору v2.


max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">.max
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Если значение x или y данного вектора меньше значения x или y вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
, то оно заменяется соответствующим максимальным значением.


min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">.min
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Если значение x или y данного вектора больше значения x или y вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
, то оно заменяется соответствующим минимальным значением.


multiply - умножить')" onmouseout="hide()">.multiply
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод умножает данный вектор на вектор, указанный в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar
( s )
Метод умножает данный вектор на скаляр, переданный в параметре s.


negate - отрицать')" onmouseout="hide()">.negate
( )
Метод инвертирует данный вектор, т.е. устанавливает x = -x и y = -y.


normalize - нормализовать, упорядочивать')" onmouseout="hide()">.normalize
( )
Метод преобразовывает данный вектор в единичный вектор (unit vector) - то есть, направление его остается тем же самым, а длина вектора (length) устанавливается равной 1.


rotate around - повернуть вокруг')" onmouseout="hide()">.rotateAround
(
center - центр')" onmouseout="hide()">center
, angle )

center - центр')" onmouseout="hide()">center
- точка, вокруг которой производится поворот.
angle - угол поворота, в радианах.
Метод поворачивает вектор вокруг центра (координаты центра вращения передаются в аргументе
center - центр')" onmouseout="hide()">center
) на угол, переданный в параметре angle.


round - округлить')" onmouseout="hide()">.round
( )
Метод округляет компоненты вектора до ближайшего целочисленного значения.


round to zero - округлить к нулю')" onmouseout="hide()">.roundToZero
( )
Метод округляет компоненты вектора к нулю (если значение отрицательно - происходит округление вверх, если положительное - вниз) до целочисленного значения.


set - установить')" onmouseout="hide()">.set
( x, y )
Устанавливает компоненты x и y данного вектора.

.setComponent( index, value )
index -- целочисленное значение, может быть 0 или 1.
value -- число с плавающей запятой.
Если индекс равен 0, устанавливается значение x.
Если индекс равен 1, устанавливается значение y.


set length - установить длину')" onmouseout="hide()">.setLength
( l )
Метод устанавливает данный вектор как вектор с тем же самым направлением, но длиной (length) равной l.


set scalar - установить скаляр')" onmouseout="hide()">.setScalar
( scalar )
Устанавливает все значения x и y данного вектора равными скалярному значению, указанному в параметре scalar.


set X - установить (координату) X')" onmouseout="hide()">.setX
( x )
Заменяет значение x данного вектора на значение, приведенное в аргументе x.


set Y - установить (координату) Y')" onmouseout="hide()">.setY
( y )
Заменяет значение y данного вектора на значение, приведенное в аргументе y.


сокращ. от англ. слова subtract - вычитать')" onmouseout="hide()">.sub
(
v - сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычитает из данного вектора вектор
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
.


сокращ. от англ. слов subtract scalar - вычесть скаляр')" onmouseout="hide()">.subScalar
( s )
Вычитает скаляр s из компонентов x и y данного вектора.


сокращ. от англ. слов subtract vectors - вычесть векторы')" onmouseout="hide()">.subVectors
( a, b )
Устанавливает данный вектор как a - b.

.toArray( array, offset )
array - дополнительный, необязательный массив для хранения вектора. Если он не предоставлен, будет создан новый массив.
offset - дополнительное, необязательное смещение в массиве.
Возвращает массив в виде [x, y] или копирует x и y в предоставленный (array) массив.

Исходники



Vector3

Класс, представляющий трехмерный (3D) вектор. (Вот статья Википедии о векторном пространстве на русском языке.) Вектор 3D - это упорядоченная тройка (триплет) чисел (помеченных как x, y и z), которая может использоваться для представления ряда вещей, таких как:
  • Точка в трехмерном пространстве.
  • Направление и расстояние в трехмерном пространстве. В three.js расстояние всегда будет Эвклидовым расстоянием (т.е. расстоянием по прямой линии) от точки начала координат (0, 0, 0) до координат заданной точки (x, y, z), направление также измеряется от (0, 0, 0) к (x, y, z).
  • Любая произвольная упорядоченная тройка (триплет) чисел.
Имеются и другие вещи, которые можно представить как 3D-вектор (такие как векторы импульса и т. д.), однако это его наиболее распространенное использование в three.js.

Пример

var a = new THREE.Vector3( 0, 1, 0 );
// no arguments; will be initialised to (0, 0, 0) // без аргументов вектор будет инициализирован как (0, 0, 0) var b = new THREE.Vector3( );
var d = a.distanceTo( b );

Конструктор

Vector3 ( x, y, z )
x - значение x вектора, по умолчанию равно 0.
y - значение y вектора, по умолчанию равно 0.
z - значение z вектора, по умолчанию равно 0.
Создает новый трехмерный вектор Vector3.

Свойства


.isVector3
Свойство используется для проверки, является ли данный класс и производные от него классы трехмерными векторами (Vector3). Значением по умолчанию является true.
Не изменяйте это свойство, так как оно используется для оптимизации внутри three.js.

.x


.y


.z

Методы



add - добавить')" onmouseout="hide()">.add
(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод добавляет к данному вектору вектор
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
.


add scalar - добавить скаляр(ное значение)')" onmouseout="hide()">.addScalar
(
полностью определяемая в любой координатной системе одним
числом, которое не меняется при изменении пространственной
системы координат.')" onmouseout="hide()">s
)
Метод добавляет скалярное значение s к значениям данного вектора x, y и z.


add scaled vector - добавить')" onmouseout="hide()">.addScaledVector
(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
,
полностью определяемая в любой координатной системе одним
числом, которое не меняется при изменении пространственной
системы координат.')" onmouseout="hide()">s
)
Добавляет к данному вектору множество из вектора (v) и скаляра (s).


add vectors - сложить векторы')" onmouseout="hide()">.addVectors
(
a - первое слагаемое')" onmouseout="hide()">a
,
b - второе слагаемое')" onmouseout="hide()">b
)
Устанавливает данный вектор как
a - первое слагаемое')" onmouseout="hide()">a
+
b - второе слагаемое')" onmouseout="hide()">b
.

.angleTo( 
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод возвращает угол в радианах между данным вектором и вектором, указанном в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


apply axis angle - применить оси (и) угол')" onmouseout="hide()">.applyAxisAngle
(
axis - оси')" onmouseout="hide()">axis
, angle )

axis - оси')" onmouseout="hide()">axis
- нормализованный вектор Vector3.
angle - угол в радианах.
Метод применяет к данному вектору поворот, определяемый осями (параметр axis) и углом (параметр angle).


apply Euler - применить преобразование Эйлера')" onmouseout="hide()">.applyEuler
(
угол Эйлера')" onmouseout="hide()">euler
)
Метод применяет к данному вектору преобразование Эйлера путем конвертирования объекта Euler в кватернион и Applies euler transform to this vector by converting the Euler object to a Quaternion and applying.


apply matrix 3 - применить матрицу 3×3')" onmouseout="hide()">.applyMatrix3
(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Метод умножает данный вектор на матрицу, указанную в параметре
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
.


apply matrix 4 - применить матрицу 4×4')" onmouseout="hide()">.applyMatrix4
(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Перемножает данный вектор (с подразумеваемой 1 в четвертом измерении) с матрицей
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
и делит на перспективу. Multiplies this vector (with an implicit 1 in the 4th dimension) and m, and divides by perspective.

.applyQuaternion ( quaternion )
Метод применяет к данному вектору преобразование Applies a Quaternion transform to this vector.


ceil - перекрытие, потолок')" onmouseout="hide()">.ceil
( )
Компоненты вектора x, y и z округляются вверх до ближайшего целочисленного значения.


clamp - зажать, в данном случае означает
зафиксировать значение в диапазоне,
определенном минимальным и
максимальным значениями')" onmouseout="hide()">.clamp
(
min - сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min
,
max - сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">max
)
min - минимальные значения x, y и z в желаемом диапазоне.
max - максимальные значения x, y и z в желаемом диапазоне.
Если значение x, y или z данного вектора больше значения x, y или z вектора, указанного в параметре max, оно заменяется этим соответствующим значением.
Если значение x, y или z данного вектора меньше значения x, y или z вектора, указанного в параметре min, оно заменяется этим соответствующим значением.


clamp length - зажать длину')" onmouseout="hide()">.clampLength
( min, max )
min - минимальное значение длины, на котором она будет зафиксирована (зажата).
max - максимальное значение длины, на котором она будет зафиксирована (зажата).
Если длина данного вектора больше значения, указанного в параметре max, она заменяется на значение max.
Если длина данного вектора меньше значения, указанного в параметре min, она заменяется на значение min.


clamp scalar - зажать скалярное (значение)')" onmouseout="hide()">.clampScalar
( min, max )
min - минимальное значение компонентов, на котором они будут зафиксированы (зажаты).
max - максимальное значение компонентов, на котором они будут зафиксированы (зажаты).
Если значение x, y или z данного вектора больше значения, указанного в параметре max, оно заменяется на значение max.
Если значение x, y или z данного вектора меньше значения, указанного в параметре min, оно заменяется на значение min.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новый Vector3 с такими же значениями x, y и z, что и у данного вектора.


copy - копировать')" onmouseout="hide()">.copy
(
сокращ. англ. слова vector')" onmouseout="hide()">v
)
Копирует значения свойств x, y и z из вектора, переданного в параметре v, в данный трехмерный вектор.


cross - пересекать, крестик - здесь скорее всего
отражается тот факт, что векторное произведение
принято обозначать знаком умножения, т.е.
диагональным крестиком, а скалярное - точкой')" onmouseout="hide()">.cross
(
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод устанавливает данный вектор как векторное произведение (в англоязычном варианте это cross product) самого себя и вектора, указанного в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


cross vectors - пересекать, крестик + векторы -
здесь скорее всего отражается тот факт, что
векторное произведение принято обозначать знаком
умножения, т.е. диагональным крестиком, а
скалярное - точкой; т.е. здесь имеется ввиду
умножение векторов')" onmouseout="hide()">.crossVectors
(
буквой a здесь обозначен первый множитель')" onmouseout="hide()">a
,
буквой b здесь обозначен второй множитель')" onmouseout="hide()">b
)
Устанавливает данный вектор как векторное произведение (в англоязычном варианте это cross product) векторов, указанных в параметрах
буквой a здесь обозначен первый множитель')" onmouseout="hide()">a
и
буквой b здесь обозначен второй множитель')" onmouseout="hide()">b
.

.distanceTo( 
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычисляет расстояние от данного вектора до вектора, указанного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


манхэттенское расстояние до (чего-либо)')" onmouseout="hide()">.distanceToManhattan
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычисляет манхэттенское расстояние (Manhattan length) от данного вектора до вектора, указанного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.

.distanceToSquared( 
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Вычисляет квадрат расстояния от данного вектора до вектора, указанного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
. При простом сравнении одного расстояния с другим взамен следует сравнивать именно квадраты расстояний, так как это вычисление несколько более эффективно.
Примечание переводчика: Вычисление расстояния методом distanceTo это вычисление квадратного корня из результата, полученного методом distanceToSquared.


divide - делить')" onmouseout="hide()">.divide
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод делит данный вектор на вектор, указанный в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


divide scalar - делить (на) скаляр')" onmouseout="hide()">.divideScalar
( s )
Делит данный вектор на скалярное значение s. Если значение скаляра равно нулю (s = 0), вектор устанавливается как (0, 0, 0).


что скалярное произведение принято обозначать точкой,
а векторное - знаком умножения, т.е. диагональным крестиком)')" onmouseout="hide()">.dot
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычисляет скалярное произведение (dot product) данного вектора и вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.

.equals( 
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод проверяет точное равенство данного вектора и вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


floor - пол, нижний уровень, здесь имеется
ввиду что производится округление вниз')" onmouseout="hide()">.floor
( )
Этим методом компоненты вектора округляются вниз, до ближайшего целочисленного значения.


from array - из массива')" onmouseout="hide()">.fromArray
( array, offset )
array - исходный массив в виде [x, y, z, w].
offset - смещение массива (дополнительный, необязательный параметр). Значение по умолчанию равно 0.
Метод устанавливает для данного вектора значение x равное array[ offset + 0 ], значение y равное array[ offset + 1 ] и значение z равное array[ offset + 2 ].


from buffer attribute - из буферного атрибута')" onmouseout="hide()">.fromBufferAttribute
(
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute
, index )
index - индекс в атрибуте.
Устанавливает значения x, y и z данного вектора из атрибута, указанного в параметре
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute
.

.getComponent( index )
index -- целочисленное значение, может быть 0, 1 или 2.
Если индекс равен 0, возвращается значение x.
Если индекс равен 1, возвращается значение y.
Если индекс равен 2, возвращается значение z.

.length( )
Вычисляет евклидову длину (Euclidean length), т.е. расстояние по прямой линии, от точки начала координат (0, 0, 0) до точки с заданными координатами (x, y, z).

.lengthManhattan( )
Метод вычисляет манхэттенское расстояние (Manhattan length) данного вектора.


- длина в квадрате или квадрат длины')" onmouseout="hide()">.lengthSq
( )
Метод вычисляет квадрат евклидовой длины (Euclidean length), т.е. квадрат расстояния по прямой линии, от точки начала координат (0, 0, 0) до точки с заданными координатами (x, y, z). При сравнении длин векторов, взамен сравнения длин, следует сравнивать квадраты длины, так как для расчета это несколько более эффективно.
Примечание переводчика: Вычисление длины вектора методом length это вычисление квадратного корня из результата, полученного методом lengthSq.


lerp - сокращ. англ. слов linearly
interpolate - линейная интерполяция')" onmouseout="hide()">.lerp
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
,
в данном случае обозначает коэффициент
интерполяции')" onmouseout="hide()">alpha
)

v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
- трехмерный вектор (Vector3), до которого будет проводится операция интерполирования.

в данном случае обозначает коэффициент
интерполяции')" onmouseout="hide()">alpha
- коэффициент интерполяции в закрытом интервале [0, 1].
Метод выполняет операцию линейного интерполирования между данным вектором и вектором, переданным в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
с коэффициентом интерполяции
в данном случае обозначает коэффициент
интерполяции')" onmouseout="hide()">alpha
, причем alpha можно рассматривать как расстояние вдоль линии соединения этих двух векторов - при alpha = 0, он будет равен данному вектору, а при alpha = 1 - вектору v.


lerp vectors - сокращ. англ. слов linearly interpolate
vectors - линейная интерполяция векторов')" onmouseout="hide()">.lerpVectors
(
сокращ. англ. слова vector - вектор,
в данном случае - первый вектор')" onmouseout="hide()">v1
,
сокращ. англ. слова vector - вектор,
в данном случае - второй вектор')" onmouseout="hide()">v2
,
в данном случае обозначает коэффициент
интерполяции')" onmouseout="hide()">alpha
)

в данном случае обозначает коэффициент
интерполяции')" onmouseout="hide()">alpha
- коэффициент интерполяции в закрытом интервале [0, 1].
Метод устанавливает данный вектор как линейно интерполированный вектор между векторами v1 и v2, и где alpha - это расстояние вдоль линии соединения этих двух векторов - при alpha = 0, он будет равен вектору v1, при alpha = 1 - вектору v2.


max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">.max
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Если значение x, y или z данного вектора меньше значения x, y или z вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">.min
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Если значение x, y или z данного вектора больше значения x, y или z вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


multiply - умножить')" onmouseout="hide()">.multiply
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод умножает данный вектор на вектор, указанный в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar
( s )
Метод умножает данный вектор на скаляр, переданный в параметре s.


multiply vectors - умножить векторы')" onmouseout="hide()">.multiplyVectors
(
буквой a обозначен первый множитель')" onmouseout="hide()">a
,
буквой b обозначен второй множитель')" onmouseout="hide()">b
)
Устанавливает данный вектор равным
буквой a обозначен первый множитель')" onmouseout="hide()">a
×
буквой b обозначен второй множитель')" onmouseout="hide()">b
.


negate - отрицать')" onmouseout="hide()">.negate
( )
Метод инвертирует данный вектор, т.е. устанавливает x = -x, y = -y и z = -z.


normalize - нормализовать, упорядочивать')" onmouseout="hide()">.normalize
( )
Метод преобразовывает данный вектор в единичный вектор (unit vector) - то есть, направление его остается тем же самым, а длина вектора (length) устанавливается равной 1.


project - проецировать')" onmouseout="hide()">.project
(
camera - камера')" onmouseout="hide()">camera
)

camera - камера')" onmouseout="hide()">camera
— камера, используемая в проекции.
Метод проецирует вектор на камеру. Projects the vector with the camera.


project on plane - проецировать на плоскость')" onmouseout="hide()">.projectOnPlane
(
plane normal - нормаль к плоскости')" onmouseout="hide()">planeNormal
)

plane normal - нормаль к плоскости')" onmouseout="hide()">planeNormal
- вектор, представляющий нормаль к плоскости.
Метод проецирует данный вектор на плоскость путем вычитания из данного вектора проекции данного вектора на нормаль к этой плоскости.


project on vector - проецировать на вектор')" onmouseout="hide()">.projectOnVector
(
Vector3 - трехмерный вектор')" onmouseout="hide()">Vector3
)
Метод проецирует данный вектор на другой вектор (параметр
Vector3 - трехмерный вектор')" onmouseout="hide()">Vector3
).


reflect - отражать')" onmouseout="hide()">.reflect
(
normal - нормаль, перпендикуляр')" onmouseout="hide()">normal
)

normal - нормаль, перпендикуляр')" onmouseout="hide()">normal
- нормаль (перпендикуляр) к плоскости отражения.
Метод отражает вектор от плоскости, перпендикулярной (ортогональной) к нормали (параметр
normal - нормаль, перпендикуляр')" onmouseout="hide()">normal
). Предполагается что нормаль имеет единичную длину.


round - округлить')" onmouseout="hide()">.round
( )
Метод округляет компоненты вектора до ближайшего целочисленного значения.


round to zero - округлить к нулю')" onmouseout="hide()">.roundToZero
( )
Метод округляет компоненты вектора к нулю (если значение отрицательно - происходит округление вверх, если положительное - вниз) до целочисленного значения.


set - установить')" onmouseout="hide()">.set
( x, y, z )
Устанавливает компоненты x, y и z данного вектора.

.setComponent( index, value )
index -- целочисленное значение, может быть 0, 1 или 2.
value -- число с плавающей запятой.
Если индекс равен 0, устанавливается значение x.
Если индекс равен 1, устанавливается значение y.
Если индекс равен 2, устанавливается значение z.


set from cylindrical - установить
из цилиндрических (координат)')" onmouseout="hide()">.setFromCylindrical
(
c - сокращ. англ. слова cylindrical - цилиндрический')" onmouseout="hide()">c
)
Метод устанавливает данный вектор из координат в цилиндрической системе, переданных в
c - сокращ. англ. слова cylindrical - цилиндрический')" onmouseout="hide()">c
.


set from matrix column - установить из колонки матрицы')" onmouseout="hide()">.setFromMatrixColumn
(
matrix - матрица')" onmouseout="hide()">matrix
, index )
Устанавливает компоненты x, y и z данного вектора равными колонке матрицы (аргумент
matrix - матрица')" onmouseout="hide()">matrix
), определяемой по индексу (index).


set from matrix position - ')" onmouseout="hide()">.setFromMatrixPosition
(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Sets this vector to the position elements of the transformation matrix m.


set from matrix scale - ')" onmouseout="hide()">.setFromMatrixScale
(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Sets this vector to the scale elements of the transformation matrix m.


set from spherical - установить из
(координат) сферической (системе)')" onmouseout="hide()">.setFromSpherical
(
s - сокращ. англ. слова spherical - сферический')" onmouseout="hide()">s
)
Метод устанавливает данный вектор из координат в сферической системе, переданных в
s - сокращ. англ. слова spherical - сферический')" onmouseout="hide()">s
.


set length - установить длину')" onmouseout="hide()">.setLength
( l )
Метод устанавливает данный вектор как вектор с тем же самым направлением, но длиной (length) равной l.


set scalar - установить скаляр(ное значение)')" onmouseout="hide()">.setScalar
( scalar )
Устанавливает значения компонентов x, y и z данного вектора равными скалярному значению, указанному в параметре scalar.


set X - установить (значение координаты) X')" onmouseout="hide()">.setX
( x )
Метод заменяет значение x данного вектора на значение, переданное в параметре x.


set Y - установить (значение координаты) Y')" onmouseout="hide()">.setY
( y )
Метод заменяет значение y данного вектора на значение, переданное в параметре y.


set Z - установить (значение координаты) Z')" onmouseout="hide()">.setZ
( z )
Метод заменяет значение z данного вектора на значение, переданное в параметре z.


сокращ. англ. слова subtract - вычитать')" onmouseout="hide()">.sub
(
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычитает из данного вектора вектор, указанный в параметре
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


сокращ. англ. слов subtract scalar
- вычесть скалярное (значение)')" onmouseout="hide()">.subScalar
( s )
Метод вычитает из компонентов x, y и z данного вектора скалярное значение, указанное в параметре s.


сокращ. англ. слов subtract vectors - вычитание векторов')" onmouseout="hide()">.subVectors
( a, b )
Метод устанавливает данный вектор как разность векторов a - b.

.toArray( array, offset )
array - дополнительный, необязательный массив для хранения вектора. Если он не предоставлен, создается новый массив.
offset - дополнительное, необязательное смещение в массиве.
Возвращает массив в виде [x, y, z], или копирует x, y и z в предоставленный (array) массив.


transform direction - преобразовать направление')" onmouseout="hide()">.transformDirection
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Метод изменяет данный вектор на матрицу (набор 3×3 вверху слева в матрице, переданной в параметре
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
) и затем нормализует результат.


unproject - снять проецирование')" onmouseout="hide()">.unproject
(
camera - камера')" onmouseout="hide()">camera
)

camera - камера')" onmouseout="hide()">camera
— камера, используемая в проекции.
Отменяет проецирование вектора на проекционную матрицу камеры. Unprojects the vector with the camera's projection matrix.

Исходники



Vector4

Класс, представляющий четырехмерный (4D) вектор. (Вот статья Википедии о векторном пространстве на русском языке.) Вектор 4D - это упорядоченная четверка (квадруплет) чисел (помеченных как x, y, z и w), которая может использоваться для представления ряда вещей, таких как:
  • Точка в четырехмерном пространстве.
  • Направление и расстояние в четырехмерном пространстве. В three.js расстояние всегда будет Эвклидовым расстоянием (т.е. расстоянием по прямой линии) от точки начала координат (0, 0, 0, 0) до координат заданной точки (x, y, z, w), направление также измеряется от (0, 0, 0, 0) к (x, y, z, w).
  • Любая произвольная упорядоченная четверка (квадруплет) чисел.
Имеются и другие вещи, которые можно представить как 4D-вектор, однако это его наиболее распространенное использование в three.js.

Пример

var a = new THREE.Vector4( 0, 1, 0, 0 );
// no arguments; will be initialised to (0, 0, 0, 1) // без аргументов вектор будет инициализирован как (0, 0, 0, 1) var b = new THREE.Vector4( );
var d = a.dot( b );

Конструктор

Vector4 ( x, y, z, w )
x - значение x вектора, по умолчанию равно 0.
y - значение y вектора, по умолчанию равно 0.
z - значение z вектора, по умолчанию равно 0.
w - значение w вектора, по умолчанию равно 1.
Создает новый Vector4.

Свойства


.isVector4
Свойство используется для проверки, является ли данный класс и производные от него классы четырехмерными векторами (Vector4). Значением по умолчанию является true.
Не изменяйте это свойство, так как оно используется для оптимизации внутри three.js.

.x


.y


.z


.w

Методы



add - добавить')" onmouseout="hide()">.add
(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод добавляет к данному вектору вектор v.


add scalar - добавить скаляр(ное значение)')" onmouseout="hide()">.addScalar
(
т.е. величина, полностью определяемая в
любой координатной системе одним числом,
которое не меняется при изменении
пространственной системы координат.')" onmouseout="hide()">s
)
Метод добавляет скалярное значение s к значениям данного вектора x, y, z и w.


add scaled vector - добавить скалярный вектор')" onmouseout="hide()">.addScaledVector
(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v
,
т.е. величина, полностью определяемая в
любой координатной системе одним числом,
которое не меняется при изменении
пространственной системы координат.')" onmouseout="hide()">s
)
Добавляет к данному вектору множество из вектора (v) и скаляра (s).


add vectors - сложить векторы')" onmouseout="hide()">.addVectors
(
a - первое слагаемое')" onmouseout="hide()">a
,
b - второе слагаемое')" onmouseout="hide()">b
)
Устанавливает данный вектор как
a - первое слагаемое')" onmouseout="hide()">a
+
b - второе слагаемое')" onmouseout="hide()">b
.


apply matrix 4 - применить матрицу 4×4')" onmouseout="hide()">.applyMatrix4
(
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)
Метод умножает данный вектор с матрицей 4×4, заданной в аргументе
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
.


ceil - перекрытие, потолок, здесь
подразумевается округление вверх')" onmouseout="hide()">.ceil
( )
Компоненты вектора x, y, z и w округляются вверх до ближайшего целочисленного значения.


clamp - зажать, в данном случае означает
зафиксировать значение в диапазоне,
определенном минимальным и
максимальным значениями')" onmouseout="hide()">.clamp
(
min - сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min
,
max - сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">max
)
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, оно заменяется этим соответствующим значением.


clamp length - зажать длину')" onmouseout="hide()">.clampLength
( min, max )
min - минимальное значение длины, на котором она будет зафиксирована (зажата).
max - максимальное значение длины, на котором она будет зафиксирована (зажата).
Если длина данного вектора больше значения, указанного в параметре max, она заменяется на значение max.
Если длина данного вектора меньше значения, указанного в параметре min, она заменяется на значение min.


clamp scalar - зажать скалярное (значение)')" onmouseout="hide()">.clampScalar
( min, max )
min - минимальное значение компонентов, на котором они будут зафиксированы (зажаты).
max - максимальное значение компонентов, на котором они будут зафиксированы (зажаты).
Если значение x, y, z или w данного вектора больше значения, указанного в параметре max, оно заменяется на значение max.
Если значение x, y, z или w данного вектора меньше значения, указанного в параметре min, оно заменяется на значение min.


clone - клонировать')" onmouseout="hide()">.clone
( )
Возвращает новый Vector4 с такими же значениями x, y, z и w, что и у данного вектора.


copy - копировать')" onmouseout="hide()">.copy
(
сокращ. англ. слова vector')" onmouseout="hide()">v
)
Копирует значения свойств x, y, z и w из вектора, переданного в параметре v, в данный четырехмерный вектор.


divide scalar - делить (на) скаляр')" onmouseout="hide()">.divideScalar
( s )
Делит данный вектор на скалярное значение s. Если значение скаляра равно нулю (s = 0), вектор устанавливается как (0, 0).


что скалярное произведение принято обозначать точкой,
а векторное - знаком умножения, т.е. диагональным крестиком)')" onmouseout="hide()">.dot
(
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычисляет скалярное произведение (dot product) данного вектора и вектора, переданного в параметре
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.

.equals( 
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод проверяет точное равенство данного вектора и вектора, переданного в параметре
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


floor - пол, нижний уровень, здесь
имеется ввиду что производится
округление вниз')" onmouseout="hide()">.floor
( )
Этим методом компоненты вектора округляются вниз, до ближайшего целочисленного значения.


from array - из массива')" onmouseout="hide()">.fromArray
( array, offset )
array - исходный массив в виде [x, y, z, w].
offset - смещение массива (дополнительный, необязательный параметр). Значение по умолчанию равно 0.
Метод устанавливает для данного вектора значение x равное array[ offset + 0 ], значение y равное array[ offset + 1 ], значение z равное array[ offset + 2 ] и значение w равное array[ offset + 3 ].


from buffer attribute - из буферного атрибута')" onmouseout="hide()">.fromBufferAttribute
(
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute
, index )
index - индекс в атрибуте.
Устанавливает значения x, y, z и w данного вектора из атрибута, указанного в параметре
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute
.

.getComponent( index )
index -- целочисленное значение, может быть 0, 1, 2, или 3.
Если индекс равен 0, возвращается значение x.
Если индекс равен 1, возвращается значение y.
Если индекс равен 2, возвращается значение z.
Если индекс равен 3, возвращается значение w.

.length( )
Вычисляет евклидову длину (Euclidean length), т.е. расстояние по прямой линии, от точки начала координат (0, 0, 0, 0) до точки с заданными координатами (x, y, z, w).

.lengthManhattan( )
Метод вычисляет манхэттенское расстояние (Manhattan length) данного вектора.


- длина в квадрате или квадрат длины')" onmouseout="hide()">.lengthSq
( )
Метод вычисляет квадрат евклидовой длины (Euclidean length), т.е. квадрат расстояния по прямой линии, от точки начала координат (0, 0, 0, 0) до точки с заданными координатами (x, y, z, w). При сравнении длин векторов, взамен сравнения длин, следует сравнивать квадраты длины, так как для расчета это несколько более эффективно.
Примечание переводчика: Вычисление длины вектора методом length это вычисление квадратного корня из результата, полученного методом lengthSq.


lerp - сокращ. англ. слов linearly interpolate
- линейная интерполяция')" onmouseout="hide()">.lerp
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
,
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
)

v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
- четырехмерный вектор (Vector4), до которого будет проводится операция интерполирования.

в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
- коэффициент интерполяции в закрытом интервале [0, 1].
Метод выполняет операцию линейного интерполирования между данным вектором и вектором, переданным в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
с коэффициентом интерполяции
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
, причем alpha можно рассматривать как расстояние вдоль линии соединения этих двух векторов - при alpha = 0, он будет равен данному вектору, а при alpha = 1 - вектору v.


lerp vectors - сокращ. англ. слов
linearly interpolate vectors -
линейная интерполяция векторов')" onmouseout="hide()">.lerpVectors
(
сокращ. англ. слова vector - вектор,
в данном случае - первый вектор')" onmouseout="hide()">v1
,
сокращ. англ. слова vector - вектор,
в данном случае - второй вектор')" onmouseout="hide()">v2
,
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
)

в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha
- коэффициент интерполяции в закрытом интервале [0, 1].
Метод устанавливает данный вектор как линейно интерполированный вектор между векторами v1 и v2, и где alpha - это расстояние вдоль линии соединения этих двух векторов - при alpha = 0, он будет равен вектору v1, при alpha = 1 - вектору v2.


max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">.max
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Если значение x, y, z или w данного вектора меньше значения x, y, z или w вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">.min
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Если значение x, y, z или w данного вектора больше значения x, y, z или w вектора, переданного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar
( s )
Метод умножает данный вектор на скаляр, переданный в параметре s.


negate - отрицать')" onmouseout="hide()">.negate
( )
Метод инвертирует данный вектор, т.е. устанавливает x = -x, y = -y, z = -z и w = -w.


normalize - нормализовать, упорядочивать')" onmouseout="hide()">.normalize
( )
Метод преобразовывает данный вектор в единичный вектор (unit vector) - то есть, направление его остается тем же самым, а длина вектора (length) устанавливается равной 1.


round - округлить')" onmouseout="hide()">.round
( )
Метод округляет компоненты вектора до ближайшего целочисленного значения.


round to zero - округлить к нулю')" onmouseout="hide()">.roundToZero
( )
Метод округляет компоненты вектора к нулю (если значение отрицательно - происходит округление вверх, если положительное - вниз) до целочисленного значения.


set - установить')" onmouseout="hide()">.set
( x, y, z, w )
Устанавливает компоненты x, y, z и w данного вектора.


set axis angle from quaternion -
установить осевой угол по кватерниону')" onmouseout="hide()">.setAxisAngleFromQuaternion
(
q - сокращ. от англ. слова quaternion - кватернион')" onmouseout="hide()">q
)
Метод устанавливает значения компонентов x, y, z данного вектора по осям кватерниона, а значение компонента w по углу.


set axis angle from rotation matrix -
установить осевой угол по матрице вращения')" onmouseout="hide()">.setAxisAngleFromRotationMatrix
(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
)

m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m
- матрица 4×4, в которой матрица 3×3, вверху слева, является простой матрицей вращения.
Метод устанавливает значения x, y, z по осям вращения, а значение w по углу.

.setComponent( index, value )
index -- целочисленное значение, может быть 0, 1, 2, или 3.
value -- число с плавающей запятой.
Если индекс равен 0, устанавливается значение x.
Если индекс равен 1, устанавливается значение y.
Если индекс равен 2, устанавливается значение z.
Если индекс равен 3, устанавливается значение w.


set length - установить длину')" onmouseout="hide()">.setLength
( l )
Метод устанавливает данный вектор как вектор с тем же самым направлением, но длиной (length) равной l.


set scalar - установить скаляр')" onmouseout="hide()">.setScalar
( scalar )
Устанавливает все значения x, y, z и w данного вектора равными скалярному значению, указанному в параметре scalar.


set X - установить (значение координаты) X')" onmouseout="hide()">.setX
( x )
Метод заменяет значение x данного вектора на значение, переданное в параметре x.


set Y - установить (значение координаты) Y')" onmouseout="hide()">.setY
( y )
Метод заменяет значение y данного вектора на значение, переданное в параметре y.


set Z - установить (значение координаты) Z')" onmouseout="hide()">.setZ
( z )
Метод заменяет значение z данного вектора на значение, переданное в параметре z.


set W - установить (значение координаты) W')" onmouseout="hide()">.setW
( w )
Метод заменяет значение w данного вектора на значение, переданное в параметре w.


сокращ. англ. слова subtract - вычитать')" onmouseout="hide()">.sub
(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
)
Метод вычитает из данного вектора вектор, указанный в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v
.


сокращ. англ. слов subtract scalar
- вычесть скалярное значение')" onmouseout="hide()">.subScalar
( s )
Метод вычитает из компонентов x, y, z и w данного вектора скалярное значение, указанное в параметре s.


subVectors - сокращ. англ. слов
subtract vectors - вычитание векторов')" onmouseout="hide()">.subVectors
( a, b )
Метод устанавливает данный вектор как разность векторов a - b.

.toArray( array, offset )
array - дополнительный, необязательный массив для хранения вектора. Если он не предоставлен, создается новый массив.
offset - дополнительное, необязательное смещение в массиве.
Возвращает массив в виде [x, y, z, w], или копирует x, y, z и w в предоставленный (array) массив.

Исходники