Three.js
From three.js
Математика
В этом разделе рассматриваются некоторые объекты и функции, имеющие отношение к математике.
В чистом Javascript их нет, но для визуализации и анимации трехмерных объектов они просто необходимы.
Box2 - прямоугольник
Box3 - параллелепипед
Color - класс, представляющий цвет
Cylindrical - координаты точки в цилиндрической системе координат
Euler - класс, представляющий углы Эйлера
Frustum - класс для расчета объемных областей просмотра камеры и теневой камеры, в виде усеченных пирамид
Interpolant - базовый класс интерполянтов, т.е. интерполирующих функций
- CubicInterpolant - кубическая интерполяция
- DiscreteInterpolant - дискретная интерполяция
- LinearInterpolant - линейная интерполяция
- QuaternionLinearInterpolant - линейная интерполяция кватернионов
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.Свойства
Двумерный вектор (Vector2), представляющий нижнюю границу (x, y) прямоугольника. Значением по умолчанию является ( +Infinity, +Infinity ).
сокращ. от англ. слова minimum - минимум');" onmouseout="hide()">.min
Двумерный вектор (Vector2), представляющий верхнюю границу (x, y) прямоугольника. Значением по умолчанию является ( -Infinity, -Infinity ).
сокращ. от англ. слова maximum - максимум');" onmouseout="hide()">.max
Методы
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'а) в компьютерной графике является размещение некоей детали в полигоне - например, отверстие от пули в стене. Также зажим может использоваться для создания различных эффектов.
В компьютерной графике, зажим (clamping) - это процесс ограничения (фиксации) местоположения в какой-либо области. В отличие от упаковки (wrapping'а), зажим (clamping) просто перемещает точку к ближайшему доступному значению.
В общем случае, зажим (clamping) используется для ограничения значения в заданном диапазоне. Например, в OpenGL glClearColor принимает значение GLclampf, которым является число gl с плавающей запятой, «зажатое» в диапазоне [0,1].
Одно из многих применений зажима (clamping'а) в компьютерной графике является размещение некоей детали в полигоне - например, отверстие от пули в стене. Также зажим может использоваться для создания различных эффектов.
Возвращает новый Box2 с теми же самыми значениями min и max как у этого.
clone - клонировать')" onmouseout="hide()">.clone( )
.containsBox(
box - коробка, ящик, клетка')" onmouseout="hide()">box )
box - коробка, ящик, клетка')" onmouseout="hide()">box - прямоугольник
box - коробка, ящик, клетка')" onmouseout="hide()">Box2 для проверки на включение.
.containsPoint(
point - точка')" onmouseout="hide()">point )
point - точка')" onmouseout="hide()">point - двумерный вектор (Vector2) для проверки на включение.
point - точка')" onmouseout="hide()">point, лежит внутри или на границах данного прямоугольника.
Копирует значения min и max из прямоугольника указанного в
copy - копировать')" onmouseout="hide()">.copy(
box - коробка, ящик, клетка')" onmouseout="hide()">box )
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 - прямоугольник для сравнения с данным прямоугольником.
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 )
vector - вектор')" onmouseout="hide()">vector - Vector2 to expand the box by.
get center - получить центр')" onmouseout="hide()">.getCenter(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget )
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget — если этот параметр указан, то результат будет скопирован в данный двумерный вектор (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 - Box to intersect with.
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.
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).
set from points - установить из точек')" onmouseout="hide()">.setFromPoints( points )
points
- массив из двумерных векторов (Vector2), которые будет содержать получающийся прямоугольник.
Устанавливает верхние и нижние границы данного прямоугольника так, что в него будут входить все точки, указанные в points.
translate - перевод, перенос')" onmouseout="hide()">.translate(
offset - смещение')" onmouseout="hide()">offset )
offset - смещение')" onmouseout="hide()">offset - направление и расстояние смещения.
union - соединение')" onmouseout="hide()">.union(
box - коробка, ящик, клетка')" onmouseout="hide()">box )
box - коробка, ящик, клетка')" onmouseout="hide()">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 ).
Свойства
.isBox3
Свойство используется для проверки, является ли данный и производные от него классы Box3-ами. Значением по умолчанию является true.Его нельзя изменять, так как оно используется внутри three.js для оптимизации.
Трехмерный вектор (Vector3), представляющий нижнюю границу (x, y, z) Box3. Значением по умолчанию является ( +Infinity, +Infinity, +Infinity ).
сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">.min
Трехмерный вектор (Vector3), представляющий верхнюю границу (x, y, z) Box3. Значением по умолчанию является ( -Infinity, -Infinity, -Infinity ).
сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">.max
Методы
apply matrix 4 - применить четырехмерную матрицу')" onmouseout="hide()">.applyMatrix4(
matrix - матрица')" onmouseout="hide()">matrix )
matrix - матрица')" onmouseout="hide()">matrix - The Matrix4 to apply
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'а) в компьютерной графике является размещение некоей детали в полигоне - например, отверстие от пули в стене. Также зажим может использоваться для создания различных эффектов.
В компьютерной графике, зажим (clamping) - это процесс ограничения (фиксации) местоположения в какой-либо области. В отличие от упаковки (wrapping'а), зажим (clamping) просто перемещает точку к ближайшему доступному значению.
В общем случае, зажим (clamping) используется для ограничения значения в заданном диапазоне. Например, в OpenGL glClearColor принимает значение GLclampf, которым является число gl с плавающей запятой, «зажатое» в диапазоне [0,1].
Одно из многих применений зажима (clamping'а) в компьютерной графике является размещение некоей детали в полигоне - например, отверстие от пули в стене. Также зажим может использоваться для создания различных эффектов.
Возвращает новый Box3 с теми же самыми значениями min и max как у этого.
clone - клонировать')" onmouseout="hide()">.clone( )
.containsBox(
box - коробка, ящик, клетка')" onmouseout="hide()">box )
box - коробка, ящик, клетка')" onmouseout="hide()">box - параллелепипед
box - коробка, ящик, клетка')" onmouseout="hide()">box для проверки на включение.
.containsPoint(
point - точка')" onmouseout="hide()">point )
point - точка')" onmouseout="hide()">point - трехмерный вектор (Vector3) для проверки на включение.
point - точка')" onmouseout="hide()">point, лежит внутри или на границах данного параллелепипеда.
Копирует значения min и max из параллелепипеда указанного в
copy - копировать')" onmouseout="hide()">.copy (
box - коробка, ящик, клетка')" onmouseout="hide()">box )
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 - параллелепипед для сравнения с данным параллелепипедом.
expand by object - расширить по объекту')" onmouseout="hide()">.expandByObject(
object - объект')" onmouseout="hide()">object )
object - объект')" onmouseout="hide()">object - Object3D, под который нужно расширить параллелепипед.
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 )
vector - вектор')" onmouseout="hide()">vector - Vector3 to expand the box by.
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. Дополнительный, необязательный параметр.
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( ) : Box3Makes 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 параллелепипеда.
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 - направление и расстояние смещения.
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.Методы
Метод выполняет сложение RGB значений цвета, переданного в параметре
add - сложить, добавить')" onmouseout="hide()">.add(
color - цвет')" onmouseout="hide()">color )
color - цвет')" onmouseout="hide()">color, со RGB значениями данного цвета.
Метод устанавливает RGB значения данного цвета как сумму RGB значений, переданный в
add colors - сложить цвета')" onmouseout="hide()">.addColors(
color 1 - цвет номер один')" onmouseout="hide()">color1,
color 2 - цвет номер два')" onmouseout="hide()">color2 )
color 1 - цвет номер один')" onmouseout="hide()">color1 и
color 2 - цвет номер два')" onmouseout="hide()">color2.
Метод прибавляет значение аргумента s к RGB значениям данного цвета.
add scalar - прибавить скаляр(ное значение)')" onmouseout="hide()">.addScalar( s )
Метод возвращает новый экземпляр класса Color с теми же самыми значениями r, g и b как у данного.
clone - клонировать')" onmouseout="hide()">.clone( )
Метод копирует параметры r, g и b цвета, переданного в аргументе
copy - копировать')" onmouseout="hide()">.copy(
color - цвет')" onmouseout="hide()">color )
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(Метод сравнивает значения RGB, переданные в аргументе
color - цвет')" onmouseout="hide()">color )
color - цвет')" onmouseout="hide()">color с такими же значениями данного объекта. Если они одинаковы, возвращается значение true, в противном случае возвращается значение false.
from array - из массива')" onmouseout="hide()">.fromArray( array, offset )
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].
color - цвет')" onmouseout="hide()">color. Аргумент
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha можно рассматривать как соотношение между двумя цветами, где 0.0 означает данный цвет, а 1.0 - цвет, переданный в первом аргументе.
Умножает значения RGB данного цвета на значения RGB цвета, переданного в аргументе
multiply - умножить')" onmouseout="hide()">.multiply(
color - цвет')" onmouseout="hide()">color )
color - цвет')" onmouseout="hide()">color.
Метод умножает значения RGB данного цвета на число, переданное в аргументе s.
multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar( s )
Метод добавляет значения h, s, и l к значениям данного цвета. Внутри же метода, вначале конвертируются значения r, g и b в HSL, добавляются значения h, s, и l, а затем цвет конвертируется обратно в RGB.
offset H S L - возмещение (компенсация) значений hue - оттенок,
saturation - насыщенность и lightness - яркость, "светлота"')" onmouseout="hide()">.offsetHSL( h, s, l )
set - установить')" onmouseout="hide()">.set(
т.е. другой экземпляр класса Color,
hex - шестнадцатиричное значение
или string - строковое значение')">value )
т.е. другой экземпляр класса Color,
hex - шестнадцатиричное значение
или string - строковое значение')">value - значение для установки в данный цвет.
set hex - сокращ. англ. слов set hexadecimal
- установить шестнадцатиричное (значение)')" onmouseout="hide()">.setHex(
- шестнадцатиричное')" onmouseout="hide()">hex )
- шестнадцатиричное')" onmouseout="hide()">hex — значение цвета в шестнадцатиричном формате (у автора здесь hexadecimal triplet). Вот статья Википедии о цвете в HTML на русском языке.
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' (все буквы строчные).
Метод вычитает из RGB компонентов данного цвета компоненты RGB цвета, переданного в параметре
sub - сокращ. англ. слова subtract - вычитать')" onmouseout="hide()">.sub(
color - цвет')" onmouseout="hide()">color )
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.
Свойства
Методы
Метод возвращает новый cylindrical с теми же самыми свойствами radius, theta и y как у данного.
clone - клонировать')" onmouseout="hide()">.clone( )
Метод копирует значения свойств radius, theta и y Cylindrical, переданного в аргументе
copy - копировать')" onmouseout="hide()">.copy(
other - другой')" onmouseout="hide()">other )
other - другой')" onmouseout="hide()">other, в данный cylindrical.
Устанавливает значения свойств radius, theta и y данного 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 )
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.
Методы
Копирует значение, переданное в аргументе euler в данный Euler.
copy - копировать')" onmouseout="hide()">.copy ( euler )
Возвращает новый Euler с теми же самыми параметрами, как у этого.
clone - клонировать')" onmouseout="hide()">.clone( )
.equals( euler )Метод проверяет на строгое равенство данного Euler и приведенного в аргументе euler.
Массив array длиной 3 или 4. Дополнительный, необязательный 4-ый аргумент соответствует order.
from array - из массива')" onmouseout="hide()">.fromArray( array )
Присваивает углу x данного класса Euler значение array[0].
Присваивает углу y данного класса Euler значение array[1].
Присваивает углу z данного класса Euler значение array[2].
Дополнительно может присваивать свойству order данного класса Euler значение array[3].
on change - на изменение')" onmouseout="hide()">.onChange( onChangeCallback )
onChangeCallback
- устанавливает значение функции onChangeCallback().
По умолчанию это пустая функция, однако она может быть установлена через onChange(). Она вызывается после изменения свойств x, y, z или order, а также после вызова большинства устанавливающих функций (подробности смотрите в их описании).
on change callback - на изменение функции обратного вызова')" onmouseout="hide()">.onChangeCallback( )
Метод сбрасывает угол Эйлера с новым порядком, создавая кватернион с данным углом Эйлера и затем установливая данный угол Эйлера с кватернионом и новым порядком. 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.
reorder - переупорядочить')" onmouseout="hide()">.reorder( newOrder )
Предупреждение: при этом методе отбрасывается информация о вращении.
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 )
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q - нормализованный кватернион.
order - строка, представляющая последовательность применения вращения по разным осям. Дополнительный, необязательный параметр.
update
- будет ли вызываться onChangeCallback() после применения матрицы. Дополнительный, необязательный параметр.
Метод устанавливает углы изменения данного Euler из нормализованного кватерниона исходя из ориентации, определяемой по аргументу order.
set from vector3 - установить из трехмерного вектора')" onmouseout="hide()">.setFromVector3(
vector 3 - трехмерный вектор')" onmouseout="hide()">vector, order )
vector 3 - трехмерный вектор')" onmouseout="hide()">vector - трехмерный вектор (Vector3).
order - строка, представляющая последовательность применения вращения по разным осям. Дополнительный, необязательный параметр.
Метод устанавливает свойства x, y и z
и дополнительно обновляет order. После внесения всех этих изменений вызывается onChangeCallback()..toArray( array, offset )
array
- массив для хранения угла Эйлера. Дополнительный, необязательный аргумент.
offset
- смещение в массиве. Дополнительный, необязательный аргумент.
Возвращает массив в виде [ x, y, z, order ].Возвращает свойства x, y и z Euler'а в виде трехмерного вектора.
to vector3 - в трехмерный вектор')" onmouseout="hide()">.toVector3( )
Исходники
Frustum
Frustum'ы используются для определения того, что находится в поле просмотра камеры. Они помогают ускорить процесс визуализации (рендеринга) - объект, находящийся вне области просмотра камеры (в виде усеченной пирамиды), вполне можно благополучно исключить из визуализации.Статья о усеченной пирамиде в русскоязычной Википедии.
Этот класс в основном предназначен для внутреннего использования визуализатором (рендерером) для расчета областей просмотра (в виде усеченных пирамид) камеры и теневой камеры.
Конструктор
Frustum( p0, p1, p2, p3, p4, p5 )Создает новый Frustum.
Свойства
Методы
Возвращает новый Frustum с точно такими же параметрами, что и у данной.
clone - клонировать')" onmouseout="hide()">.clone( )
.containsPoint(
point - точка')" onmouseout="hide()">point )
point - точка')" onmouseout="hide()">point - проверяемый трехмерный вектор (Vector3).
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 для проверки на пересечение.
.intersectsObject(Метод проверяет, не пересекается ли с данной усеченной пирамидой области просмотра (Frustum) ограничительная сфера вокруг
object - объект')" onmouseout="hide()">object )
object - объект')" onmouseout="hide()">объекта.
Обратите внимание, объект должен иметь Geometry или BufferGeometry, чтобы можно было рассчитать ограничительную сферу.
.intersectsSphere(
sphere - сфера')" onmouseout="hide()">sphere )
sphere - сфера')" onmouseout="hide()">sphere - Sphere для проверки на пересечение.
sphere - сфера')" onmouseout="hide()">sphere, пересекается с данной усеченной пирамидой области просмотра (Frustum).
.intersectsSprite(Метод проверяет, не пересекается ли спрайт с данной усеченной пирамидой области просмотра (Frustum).
sprite - спрайт')" onmouseout="hide()">sprite )
Метод устанавливает текущую усеченную пирамиду области просмотра камеры (Frustum) из переданных плоскостей. Никакого упорядочения плоскостей не предполагается.
set - установить')" onmouseout="hide()">.set( p0, p1, p2, p3, p4, p5 )
set from matrix - установить из матрицы')" onmouseout="hide()">.setFromMatrix(
matrix - матрица')" onmouseout="hide()">matrix )
matrix - матрица')" onmouseout="hide()">matrix - четырехмерная матрица, используемая для установки плоскостей.
Исходники
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.
Свойства
Методы
Исходники
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 -- буфер для хранения результатов интерполяции.
Свойства
Методы
Исходники
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.
Свойства
Методы
Исходники
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).
Свойства
Трехмерный вектор (Vector3), представляющий начальную точку линии.
start - начало, старт')" onmouseout="hide()">.start
Трехмерный вектор (Vector3), представляющий конечную точку линии.
end - конец')" onmouseout="hide()">.end
Методы
Метод применяет матричное преобразование к отрезку линии.
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.
Возвращает новую Line3 с теми же самыми начальным (start) и конечным (end) векторами, что и у данного.
clone - клонировать')" onmouseout="hide()">.clone( )
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.Метод копирует начальный (start) и конечный (end) векторы линии, переданной в аргументе
copy - копировать')" onmouseout="hide()">.copy(
line - линия')" onmouseout="hide()">line )
line - линия')" onmouseout="hide()">line, в данную линию.
delta - название буквы греческого алфавита дельта,
обычно используется для обозначения промежутка
между какими-либо точками')" onmouseout="hide()">.delta(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget )
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget - дополнительный, необязательный аргумент. Если данный аргумент указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
.distance( )
Метод возвращает эвклидово расстояние (расстояние по прямой)
между начальной (start) и конечной (end) точками линии.Вот статья русскоязычной Википедии о Эвклидовой метрике.
.distanceSq( )
Метод возвращает квадрат эвклидова расстояния (расстояние по прямой)
между начальным (start) и конечным (end) векторами линии.Вот статья русскоязычной Википедии о Эвклидовой метрике.
.equals(
line - линия')" onmouseout="hide()">line )
line - линия')" onmouseout="hide()">line - линия (Line3), которая будет сравниваться с данной линией.
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 )
Возвращает случайное число с плавающей запятой в интервале чисел от low (нижняя граница) до high (верхняя граница интервала).
случайное число с плавающей запятой')" onmouseout="hide()">.randFloat( low, high )
Возвращает случайное число с плавающей запятой в интервале чисел от -range/2 до range/2.
- случайное число с плавающей запятой')" onmouseout="hide()">.randFloatSpread( range )
Возвращает случайное целое число в интервале от low (нижняя граница) до high (верхняя граница интервала).
integer - случайное целое число')" onmouseout="hide()">.randInt( 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.
Создает новую матрицу Matrix3 с точно такими же элементами как в данной.
clone - клонировать')" onmouseout="hide()">.clone( )
Метод копирует элементы матрицы, указанной в параметре
copy - копировать')" onmouseout="hide()">.copy(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m, в данную матрицу.
.determinant( )
Метод вычисляет и возвращает определитель (determinant) данной матрицы..equals(Возвращает значение true, если данная матрица и матрица, указанная в параметре 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 не установлен, а матрица необратима (т.е. обратной матрицы не существует), то данная матрица устанавливается как единичная матрица 3×3. Англоязычный вариант единичной матрицы называется identity matrix.
get normal matrix - получить нормальную матрицу')" onmouseout="hide()">.getNormalMatrix(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m - четырехмерная матрица Matrix4.
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m четырехмерной матрицы. Нормальная матрица - это инверсия The normal matrix is the inverse transpose of the matrix m.
Метод сбрасывает данную матрицу в единичную матрицу 3×3:
identity - идентичный, единичный')" onmouseout="hide()">.identity( )
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.
Метод перемножает каждый компонент данной матрицы на скалярное значение, переданное в аргументе s.
multiply scalar - умножить (матрицу на) скаляр')" onmouseout="hide()">.multiplyScalar( 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 в заданной последовательности, упорядоченной по строкам.Устанавливает эту матрицу как верхнюю матрицу 3×3 из четырехмерной матрицы (Matrix4), представленой в аргументе
set from matrix4 - установить из четырехмерной матрицы')" onmouseout="hide()">.setFromMatrix4(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
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 камеры.
- 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.Создает новую матрицу Matrix4 с точно такими же элементами как в данной.
clone - клонировать')" onmouseout="hide()">.clone( )
Метод устанавливает в данную матрицу изменения, составленные из положения (параметр
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(Возвращает значение true, если данная матрица и матрица, указанная в параметре m равны.
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
Метод извлекает базис (basis), т.е. основные элементы матрицы, по трем представленным осевым векторам. Если задана такая матрица:
extract basis - извлечь базис,
т.е. основные (элементы)')" onmouseout="hide()">.extractBasis(
x axis - ось x')" onmouseout="hide()">xAxis,
y axis - ось y')" onmouseout="hide()">yAxis,
z axis - ось z')" onmouseout="hide()">zAxis )
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 matrix).
identity - идентичный, единичный')" onmouseout="hide()">.identity( )
Метод создает матрицу вращения, наблюдающую из позиции, переданной в параметре
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). Посмотрите обсуждение этой темы здесь.
Set this to the basis matrix consisting of the three provided basis vectors:
make basis - сделать основные (элементы)')" onmouseout="hide()">.makeBasis(
x axis - ось x')" onmouseout="hide()">xAxis,
y axis - ось y')" onmouseout="hide()">yAxis,
z axis - ось z')" onmouseout="hide()">zAxis )
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
Метод создает матрицу перспективной проекции. Она используется внутри three.js методом PerspectiveCamera.updateProjectionMatrix.
make perspective - сделать перспективную (проекцию)')" onmouseout="hide()">.makePerspective( left, right, top, bottom, near, far )
Метод создает матрицу ортогональной проекции. Она используется внутри three.js методом OrthographicCamera.updateProjectionMatrix.
make orthographic - сделать ортогональную (проекцию)')" onmouseout="hide()">.makeOrthographic( left, right, top, bottom, near, far )
Устанавливает компонент вращения (левую верхнюю матрицу 3×3) данной матрицы как поворот, определенный представленными углами Эйлера (параметр euler). Оставшаяся часть матрицы устанавливается как единичная. В зависимости от свойства order угла Эйлера, возможны шесть вариантов. Полный список смотрите на этой странице. Вот матрица поворота на русском языке и отдельно rotation matrix на английском.
make rotation from Euler -
сделать (компонент) вращения
по (углам) Эйлера')" onmouseout="hide()">.makeRotationFromEuler( euler )
Устанавливает компонент вращения данной матрицы как поворот, определенный кватернионом (параметр
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.
Метод перемножает каждый компонент данной матрицы на скалярное значение, переданное в аргументе s.
multiply scalar - умножить (на) скаляр(ное значение)')" onmouseout="hide()">.multiplyScalar( 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.
Метод устанавливает элементы данной матрицы для представления значений n11, n12, ... n44, упорядоченными по рядам.
set - установить')" onmouseout="hide()">.set( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, 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)
transpose - транспонировать')" onmouseout="hide()">.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. Дополнительный, необязательный параметр.
Метод копирует значения свойств normal и constant плоскости, переданной в аргументе plane, в данную плоскость.
copy - копировать')" onmouseout="hide()">.copy(
plane - плоскость')" onmouseout="hide()">plane )
.distanceToPoint(Возвращает расстояние (со знаком, т.е. положительное или отрицательное) от переданной точки (аргумент point) до этой плоскости.
point - точка')" onmouseout="hide()">point )
.distanceToSphere(Возвращает расстояние (со знаком, т.е. положительное или отрицательное) от переданной сферы (аргумент sphere) до этой плоскости. Returns the signed distance from the sphere to the plane.
sphere - сфера')" onmouseout="hide()">sphere )
.equals(Метод проверяет, равны ли эти (т.е. данная и приведенная в аргументе plane) две плоскости (совпадают ли их свойства normal и constant).
plane - плоскость')" onmouseout="hide()">plane )
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. Дополнительный, необязательный параметр.
.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.Negates both the normal vector and the constant.
negate - отрицать')" onmouseout="hide()">.negate( )
Normalizes the normal vector, and adjusts the constant value accordingly.
normalize - нормализовать')" onmouseout="hide()">.normalize( )
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. Дополнительный, необязательный параметр.
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.Методы
Создает новый Quaternion с такими же свойствами x, y, z и w как у данного.
clone - клонировать')" onmouseout="hide()">.clone( )
Возвращает конъюгат вращения к данному кватерниону. Конъюгат кватерниона представляет собой тоже самое вращение в обратном направлении вокруг осей вращения.
conjugate - сопряженный, парный, соединенный')" onmouseout="hide()">.conjugate( )
Метод копирует свойства x, y, z и w кватерниона, указанного в параметре
copy - копировать')" onmouseout="hide()">.copy(
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q )
q - сокращ. англ. слова quaternion - кватернион')" onmouseout="hide()">q, в данный кватернион.
.equals( v )
v - кватернион, с которым будет сравниваться данный кватернион.
Метод сравнивает свойства x, y, z
и w кватерниона, указанного в параметре v, с аналогичными свойствами данного кватерниона, чтобы определить представлено ли в них одно и то же вращение.Метод вычисляет скалярное произведение (в англ. варианте - dot product) данного кватерниона и кватерниона, представленного в аргументе v.
тот факт, что скалярное произведение принято
обозначать точкой, а векторное - знаком умножения,
т.е. диагональным крестиком)')" onmouseout="hide()">.dot( 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.Метод нормализует данный кватернион - то есть, вычисляет кватернион, выполняющий такое же вращение, как и данный, но имеет длину равную 1.
normalize - нормализовать, упорядочить')" onmouseout="hide()">.normalize( )
Вот статья Википедии о нормализованном, т.е. единичном векторе на русском языке.
Метод умножает данный кватернион на кватернион, указанный в аргументе
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.
Умножение производится в соответствии с методом, приведенным здесь.
Устанавливает метод onChangeCallback.
on change - на изменение')" onmouseout="hide()">.onChange(
обратного вызова на изменение')" onmouseout="hide()">onChangeCallback )
Данная функция вызывается всякий раз, когда происходит одно из следующих событий:
on change callback - функция
обратного вызова на изменение')" onmouseout="hide()">.onChangeCallback ( )
- Изменились свойства x, y, z или w.
- Был вызов функций set, copy, clone, setFromAxisAngle, setFromRotationMatrix, conjugate, normalize, multiplyQuaternions, slerp или fromArray.
- Вызывалась функция setFromEuler со своим аргументом update, установленным как true.
По умолчанию это "пустая" функция, однако при необходимости вы можете ее изменить, воспользовавшись методом
onChange( onChangeCallback ).
qb - сокращ. англ. слов quaternion b -
т.е. кватернион обозначенный буквой b
или второй кватернион, первым будет тот,
от которого вызван этот метод')" onmouseout="hide()">.qb -- другой кватернион вращения.
Adapted from http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm.
Предполагается, что оси (axis) нормализованы, а угол (angle) представлен в радианах.
Adapted from http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm.
Adapted from http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors.
*vFrom* and *vTo* are assumed to be normalized.
Метод предварительно умножает данный кватернион с заданным в аргументе q.
premultiply - предварительное умножение')" onmouseout="hide()">.premultiply(
q - сокращ. от англ. слова quaternion - кватернион')" onmouseout="hide()">q )
slerp - сокращ. англ. слов
spherical linear interpolation -
сферическая линейная интерполяция')" onmouseout="hide()">.slerp(
qb - сокращ. англ. слов quaternion b -
т.е. кватернион обозначенный буквой b
или второй кватернион, первым будет тот,
от которого вызван этот метод')" onmouseout="hide()">qb, t )
qb - сокращ. англ. слов quaternion b -
т.е. кватернион обозначенный буквой b
или второй кватернион, первым будет тот,
от которого вызван этот метод')" onmouseout="hide()">.qb -- другой кватернион вращения.
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 о интерполяции кватернионов на русском языке.
Устанавливает свойства x, y, z, w данного кватерниона.
set - установить')" onmouseout="hide()">set( x, y, z, w )
Устанавливает этот кватернион из вращения, заданного осью и углом. Sets this quaternion from rotation specified by axis and angle.
set from axis angle - установить по оси (и) углу')" onmouseout="hide()">.setFromAxisAngle(
axis - ось')" onmouseout="hide()">axis, angle )
Adapted from http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm.
Предполагается, что оси (axis) нормализованы, а угол (angle) представлен в радианах.
Sets this quaternion from rotation specified by Euler angle.
set from Euler - установить по (углу) Эйлера')" onmouseout="hide()">.setFromEuler(
euler - (угол) Эйлера')" onmouseout="hide()">euler )
Sets this quaternion from rotation component of *m*.
set from rotation matrix -
установить по матрице вращения')" onmouseout="hide()">.setFromRotationMatrix(
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
Adapted from http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm.
Sets this quaternion to the rotation required to rotate direction vector *vFrom* to direction vector *vTo*.
set from unit vectors -
установить по единичным
векторам')" onmouseout="hide()">.setFromUnitVectors(
сокращ. англ. слов vector from - вектор из')" onmouseout="hide()">vFrom,
сокращ. англ. слов vector to - вектор для')" onmouseout="hide()">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 )
сокращ. англ. слов starting quaternion - начальный кватернион')" onmouseout="hide()">qStart -- начальный кватернион (когда t равно 0).
сокращ. англ. слов ending quaternion - конечный кватернион')" onmouseout="hide()">qEnd -- конечный кватернион (когда t равно 1).
сокращ. англ. слов 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 )
место назначения, конечный, целевой')" onmouseout="hide()">dst -- выходной массив.
целевое, конечное смещение, т.е.
смещение в выходном массиве')" onmouseout="hide()">dstOffset -- смещение в выходном массиве.
- здесь имеется ввиду начальный исходный массив
с коэффициентом интерполяции равным 0')" onmouseout="hide()">src0 -- исходный массив начального кватерниона.
смещение в начальном исходном массиве
с коэффициентом интерполяции равным 0')" onmouseout="hide()">srcOffset0 -- смещение в массиве src0.
здесь имеется ввиду целевой исходный массив
с коэффициентом интерполяции равным 1')" onmouseout="hide()">src1 -- исходный массив целевого кватерниона.
смещение в целевом исходном массиве
с коэффициентом интерполяции равным 1')" onmouseout="hide()">srcOffset1 -- смещение в массиве src1.
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). Значением по умолчанию является трехмерный вектор (Vector3) с координатами (0, 0, 0).
origin - источник')" onmouseout="hide()">.origin
Направление луча (Ray). Для правильной работы методов, этот вектор должен быть нормализован (с помощью метода normalize).
direction - направление')" onmouseout="hide()">.direction
Методы
apply Matrix4 - применить четырехмерную матрицу')" onmouseout="hide()">.applyMatrix4(
matrix4 - четырехмерная матрица')" onmouseout="hide()">matrix4 )
matrix4 - четырехмерная матрица')" onmouseout="hide()">matrix4 -- четырехмерная матрица для изменения данного луча.
at - предлог "в"')" onmouseout="hide()">.at( t,
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget )
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget - дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
Создает новый луч (Ray) со свойствами origin и direction идентичными свойствам данного луча.
clone - клонировать')" onmouseout="hide()">.clone( )
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.
Метод копирует свойства origin и direction переданного луча (аргумент
copy - копировать')" onmouseout="hide()">.copy(
ray - луч')" onmouseout="hide()">ray )
ray - луч')" onmouseout="hide()">ray) в данный луч.
.distanceSqToPoint(
point - точка')" onmouseout="hide()">point )
point - точка')" onmouseout="hide()">point - точка (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 )
v0 - это сокращ. от англ.
слова vector с номером 0')" onmouseout="hide()">v0 - начальная точка отрезка линии.
v1 - это сокращ. от англ.
слова vector с номером 1')" onmouseout="hide()">v1 - конечная точка отрезка линии.
optional point on ray - дополнительная точка на луче')" onmouseout="hide()">optionalPointOnRay - если этот параметр представлен, он принимается как точка данного луча (Ray), ближайшая к данному отрезку линии. Дополнительный, необязательный параметр.
optional point on segment - дополнительная точка на сегменте')" onmouseout="hide()">optionalPointOnSegment - если этот параметр представлен, он принимается как точка данного отрезка линии, ближайшая к данному лучу (Ray). Дополнительный, необязательный параметр.
.distanceToPlane(
plane - плоскость')" onmouseout="hide()">plane )
plane - плоскость')" onmouseout="hide()">plane - плоскость, до которой нужно получить расстояние.
.distanceToPoint(
point - точка')" onmouseout="hide()">point )
point - точка')" onmouseout="hide()">point - точка (Vector3), до которой нужно вычислить расстояние.
point - точка')" onmouseout="hide()">point).
.equals(
ray - луч')" onmouseout="hide()">ray )
ray - луч')" onmouseout="hide()">ray - сравниваемый луч (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.
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.
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.
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 )
a - буква алфавита, в данном случае
обозначающая координаты точки')" onmouseout="hide()">a,
b - буква алфавита, в данном случае
обозначающая координаты точки')" onmouseout="hide()">b,
c - буква алфавита, в данном случае
обозначающая координаты точки')" onmouseout="hide()">c - точки (трехмерные вектора), образующие треугольник (т.е. это вершины треугольника).
(заднюю) сторону')" onmouseout="hide()">backfaceCulling - будет или нет отбрасываться оборотная (задняя) сторона.
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget - дополнительный, необязательный аргумент. Если указан, то результат метода будет скопирован в предоставленный Vector3, в противном случае будет создан новый Vector3.
.intersectsBox(
box - коробка, ящик, клетка')" onmouseout="hide()">box )
box - коробка, ящик, клетка')" onmouseout="hide()">box - Box3, для проверки на пересечение.
.intersectsPlane(
plane - плоскость')" onmouseout="hide()">plane )
plane - плоскость')" onmouseout="hide()">plane - Plane для проверки на пересечение.
.intersectsSphere(
sphere - сфера')" onmouseout="hide()">sphere )
sphere - сфера')" onmouseout="hide()">sphere - the Sphere to intersect with.
look at - смотреть на')" onmouseout="hide()">.lookAt(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v - The Vector3 to look at.
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).
Исходники
Sphere
Сфера, определяемая центром и радиусом.Конструктор
Sphere(
center - центр')" onmouseout="hide()">center, radius )
center - центр')" onmouseout="hide()">center -- центр сферы. Значением по умолчанию является Vector3 с координатами (0, 0, 0).
radius
-- радиус сферы. Значение по умолчанию равно 0.
Создает новую сферу.Свойства
Трехмерный вектор, определяющий центр сферы. Значением по умолчанию является (0, 0, 0).
center - центр')" onmouseout="hide()">.center
.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.
Возвращает новую сферу с точно такими же свойствами center и radius как у данной.
clone - клонировать')" onmouseout="hide()">.clone( )
.containsPoint(
point - точка')" onmouseout="hide()">point )
point - точка')" onmouseout="hide()">point -- проверяемая точка.
copy - копировать')" onmouseout="hide()">.copy(
sphere - сфера')" onmouseout="hide()">sphere )
sphere - сфера')" onmouseout="hide()">sphere -- копируемая сфера.
.distanceToPoint(
point - точка')" onmouseout="hide()">point )
point - точка')" onmouseout="hide()">point -- точка (Vector3), до которой вычисляется расстояние.
.empty( )
Проверяет, является ли сфера пустой (радиус установлен как 0)..equals(
sphere - сфера')" onmouseout="hide()">sphere )
sphere - сфера')" onmouseout="hide()">sphere -- сфера, проверяемая на равность.
get bounding box - получить ограничительную рамку')" onmouseout="hide()">.getBoundingBox(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget )
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget - если аргумент указан, результат будет скопирован в приведенный Box3, в противном случае будет создан новый Box3. Дополнительный, необязательный аргумент.
.intersectsBox(
box - коробка, ящик, клетка')" onmouseout="hide()">box )
box - коробка, ящик, клетка')" onmouseout="hide()">box - Box3, проверяемый на пересечение с данной сферой.
.intersectsPlane(
plane - плоскость')" onmouseout="hide()">plane )
plane - плоскость')" onmouseout="hide()">plane - плоскость, проверяемая на пересечение с данной сферой.
.intersectsSphere(Метод проверяет, не пересекаются ли две сферы.
sphere - сфера')" onmouseout="hide()">sphere )
set - установить')" onmouseout="hide()">.set(
center - центр')" onmouseout="hide()">center, radius )
center - центр')" onmouseout="hide()">center -- центр сферы.
radius -- радиус сферы.
Метод устанавливает свойства center и radius для этой сферы.
set from points - установить')" onmouseout="hide()">.setFromPoints( points,
optional center - дополнительный (необязательный) центр')" onmouseout="hide()">optionalCenter )
optional center - дополнительный (необязательный) центр')" onmouseout="hide()">optionalCenter -- дополнительная позиция (Vector3) центра сферы.
optional center - дополнительный (необязательный) центр')" onmouseout="hide()">optionalCenter задан, то он будет использоваться в качестве центра сферы. В противном случае, вычисляется центр ограничивающей рамки, выровненной по осям и охватывающей весь массив точек (points).
Метод переносит центр сферы на представленный вектор смещения (параметр offset).
translate - перевести, перенести')" onmouseout="hide()">.translate(
offset - смещение')" onmouseout="hide()">offset )
Исходники
Spherical
Координаты точки в сферической системе координат.Сферическая система координат на русском языке.
Конструктор
Spherical( radius, phi, theta )
radius
- радиус или эвклидово расстояние (расстояние по прямой) от точки до начала координат. Значение по умолчанию равно 1.0.
phi
- полярный угол от оси y (верх). Значение по умолчанию равно 0.
Примечание переводчика: в русском языке принято называть этот угол зенитным.
theta
- экваториальный угол вокруг оси y (верх). Значение по умолчанию равно 0.
Полюсы (phi) находятся на положительной и отрицательной сторонах оси y. Экватор (theta) начинается с положительной стороны оси z.Примечание переводчика: в русском языке принято называть этот угол азимутальным.
Свойства
Методы
Метод возвращает новую плоскость с теми же свойствами .radius, .phi и .theta, что и у данной.
clone - клонировать')" onmouseout="hide()">.clone()
Копирует значения свойств .radius, .phi и .theta Spherical, переданной в аргументе s, в данную Spherical.
copy - копировать')" onmouseout="hide()">.copy(
s - сокращ. англ. слова spherical - сферический')" onmouseout="hide()">s )
Метод ограничивает полярный угол .phi между 0.000001 и pi - 0.000001.
make safe - сделать безопасным')" onmouseout="hide()">.makeSafe( )
Устанавливает значения свойств .radius, .phi и .theta данной точки в сферических координатах.
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 устанавливаются из его направления.
Исходники
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), в противном случае будет создан новый трехмерный вектор. Дополнительный, необязательный параметр.
Изображение барицентрических координат.
Метод возвращает новый треугольник с точно такими же свойствами a, b и c как и у данного.
clone - клонировать')" onmouseout="hide()">.clone( )
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 )
point - точка')" onmouseout="hide()">point - проверяемый трехмерный вектор.
Копирует значения свойств a, b и c треугольника, переданного в аргументе
copy - копировать')" onmouseout="hide()">.copy(
triangle - треугольник')" onmouseout="hide()">triangle )
triangle - треугольник')" onmouseout="hide()">triangle, с подобными значениями данного треугольника.
.equals(Метод возвращает значение true, если два треугольника имеют одинаковые свойства a, b и c.
triangle - треугольник')" onmouseout="hide()">triangle )
midpoint - сокращ. англ. слов middle point (triangle)
- (треугольник на) средних точках (сторон)')" onmouseout="hide()">.midpoint(
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget )
optional target - дополнительная цель')" onmouseout="hide()">optionalTarget - если этот параметр указан, результат будет скопирован в заданный трехмерный вектор (Vector3), в противном случае будет создан новый трехмерный вектор. Дополнительный, необязательный параметр.
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. Дополнительный, необязательный параметр.
Устанавливает свойства a, b и c данного треугольника по переданным трехмерным векторам (аргументы a, b и c).
set - установить')" onmouseout="hide()">.set(
a - буква латинского алфавита, в данном
случае обозначает вершину треугольника')" onmouseout="hide()">a,
b - буква латинского алфавита, в данном
случае обозначает вершину треугольника')" onmouseout="hide()">b,
c - буква латинского алфавита, в данном
случае обозначает вершину треугольника')" onmouseout="hide()">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).
- Любая произвольная упорядоченная пара чисел.
Пример
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.
Метод добавляет скалярное значение s к значениям данного вектора x и y.
add scalar - прибавить скаляр(ное значение)')" onmouseout="hide()">.addScalar(
т.е. величина, полностью определяемая в
любой координатной системе одним числом,
которое не меняется при изменении
пространственной системы координат.')" onmouseout="hide()">s )
Добавляет к данному вектору множество из вектора
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.Метод перемножает данный вектор (с подразумеваемым включением 1 в качестве третьего компонента) с матрицей m.
apply matrix 3 - применить матрицу 3 на 3')" onmouseout="hide()">.applyMatrix3(
сокращ. от англ. слова matrix - матрица')" onmouseout="hide()">m )
Компоненты x и y данного вектора округляются вверх до ближайшего целого значения.
ceil - потолок, перекрытие; в данном
случае означает округление вверх')" onmouseout="hide()">.ceil( )
clamp - зажать, в данном случае означает зафиксировать
значение в диапазоне, определенном минимальным и
максимальным значениями')" onmouseout="hide()">.clamp(
min - сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min,
max - сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">max )
min - сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min - минимальные значения x и y.
max - сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">max - максимальные значения x и y.
Если значение 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.
Возвращает новый Vector2 с такими же значениями x и y, что и у данного вектора.
clone - клонировать')" onmouseout="hide()">.clone( )
Копирует значения свойств x и y из вектора (Vector2), переданного в параметре v, в данный вектор (Vector2).
copy - копировать')" onmouseout="hide()">.copy(
сокращ. англ. слова vector')" onmouseout="hide()">v )
.distanceTo(Метод вычисляет расстояние от данного вектора до вектора, приведенного в аргументе
сокращ. англ. слова vector')" onmouseout="hide()">v )
сокращ. англ. слова vector')" onmouseout="hide()">v.
.manhattanDistanceTo(Метод вычисляет манхэттенское расстояние (Manhattan length) от данного вектора до вектора, указанного в параметре
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
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.
Делит данный вектор на скалярное значение s. Если значение скаляра равно нулю (s = 0), вектор устанавливается как (0, 0).
divide scalar - делить (на) скаляр')" onmouseout="hide()">.divideScalar( s )
Метод вычисляет скалярное произведение (dot product) данного вектора и вектора, переданного в параметре
что скалярное произведение принято обозначать точкой,
а векторное - знаком умножения, т.е. диагональным крестиком)')" onmouseout="hide()">.dot(
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
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 )
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute - исходный атрибут.
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 )
сокращ. англ. слова vector - вектор,
в данном случае - первый вектор')" onmouseout="hide()">v1 - начальный двумерный вектор (Vector2).
сокращ. англ. слова vector - вектор,
в данном случае - второй вектор')" onmouseout="hide()">v2 - двумерный вектор (Vector2), до которого будет проводится операция интерполирования.
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha - коэффициент интерполяции в закрытом интервале [0, 1].
Если значение x или y данного вектора меньше значения x или y вектора, переданного в параметре
max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">.max(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v, то оно заменяется соответствующим максимальным значением.
Если значение x или y данного вектора больше значения x или y вектора, переданного в параметре
min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">.min(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v, то оно заменяется соответствующим минимальным значением.
Метод умножает данный вектор на вектор, указанный в параметре
multiply - умножить')" onmouseout="hide()">.multiply(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Метод умножает данный вектор на скаляр, переданный в параметре s.
multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar( s )
Метод инвертирует данный вектор, т.е. устанавливает x = -x и y = -y.
negate - отрицать')" onmouseout="hide()">.negate( )
Метод преобразовывает данный вектор в единичный вектор (unit vector) - то есть, направление его остается тем же самым, а длина вектора (length) устанавливается равной 1.
normalize - нормализовать, упорядочивать')" onmouseout="hide()">.normalize( )
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( )
Устанавливает компоненты x и y данного вектора.
set - установить')" onmouseout="hide()">.set ( x, y )
.setComponent( index, value )
index -- целочисленное значение, может быть 0 или 1.
value -- число с плавающей запятой.
Если индекс равен 0, устанавливается значение x.Если индекс равен 1, устанавливается значение y.
Метод устанавливает данный вектор как вектор с тем же самым направлением, но длиной (length) равной l.
set length - установить длину')" onmouseout="hide()">.setLength( l )
Устанавливает все значения x и y данного вектора равными скалярному значению, указанному в параметре scalar.
set scalar - установить скаляр')" onmouseout="hide()">.setScalar( scalar )
Заменяет значение x данного вектора на значение, приведенное в аргументе x.
set X - установить (координату) X')" onmouseout="hide()">.setX( x )
Заменяет значение y данного вектора на значение, приведенное в аргументе y.
set Y - установить (координату) Y')" onmouseout="hide()">.setY( y )
Метод вычитает из данного вектора вектор
сокращ. от англ. слова subtract - вычитать')" onmouseout="hide()">.sub(
v - сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v )
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v.
Вычитает скаляр s из компонентов x и y данного вектора.
сокращ. от англ. слов subtract scalar - вычесть скаляр')" onmouseout="hide()">.subScalar( s )
Устанавливает данный вектор как a - b.
сокращ. от англ. слов subtract vectors - вычесть векторы')" onmouseout="hide()">.subVectors( 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).
- Любая произвольная упорядоченная тройка (триплет) чисел.
Пример
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.
Метод добавляет скалярное значение s к значениям данного вектора x, y и z.
add scalar - добавить скаляр(ное значение)')" onmouseout="hide()">.addScalar(
полностью определяемая в любой координатной системе одним
числом, которое не меняется при изменении пространственной
системы координат.')" onmouseout="hide()">s )
Добавляет к данному вектору множество из вектора (v) и скаляра (s).
add scaled vector - добавить')" onmouseout="hide()">.addScaledVector(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v,
полностью определяемая в любой координатной системе одним
числом, которое не меняется при изменении пространственной
системы координат.')" onmouseout="hide()">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).Метод применяет к данному вектору преобразование Эйлера путем конвертирования объекта Euler в кватернион и Applies euler transform to this vector by converting the Euler object to a Quaternion and applying.
apply Euler - применить преобразование Эйлера')" onmouseout="hide()">.applyEuler(
угол Эйлера')" onmouseout="hide()">euler )
Метод умножает данный вектор на матрицу, указанную в параметре
apply matrix 3 - применить матрицу 3×3')" onmouseout="hide()">.applyMatrix3(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m.
Перемножает данный вектор (с подразумеваемой 1 в четвертом измерении) с матрицей
apply matrix 4 - применить матрицу 4×4')" onmouseout="hide()">.applyMatrix4(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
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.
Компоненты вектора x, y и z округляются вверх до ближайшего целочисленного значения.
ceil - перекрытие, потолок')" onmouseout="hide()">.ceil( )
Если значение x, y или z данного вектора больше значения x, y или z вектора, указанного в параметре max, оно заменяется этим соответствующим значением.
clamp - зажать, в данном случае означает
зафиксировать значение в диапазоне,
определенном минимальным и
максимальным значениями')" onmouseout="hide()">.clamp(
min - сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min,
max - сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">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.
Возвращает новый Vector3 с такими же значениями x, y и z, что и у данного вектора.
clone - клонировать')" onmouseout="hide()">.clone( )
Копирует значения свойств x, y и z из вектора, переданного в параметре v, в данный трехмерный вектор.
copy - копировать')" onmouseout="hide()">.copy(
сокращ. англ. слова vector')" onmouseout="hide()">v )
Метод устанавливает данный вектор как векторное произведение (в англоязычном варианте это cross product) самого себя и вектора, указанного в параметре
cross - пересекать, крестик - здесь скорее всего
отражается тот факт, что векторное произведение
принято обозначать знаком умножения, т.е.
диагональным крестиком, а скалярное - точкой')" onmouseout="hide()">.cross(
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v это сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Устанавливает данный вектор как векторное произведение (в англоязычном варианте это cross product) векторов, указанных в параметрах
cross vectors - пересекать, крестик + векторы -
здесь скорее всего отражается тот факт, что
векторное произведение принято обозначать знаком
умножения, т.е. диагональным крестиком, а
скалярное - точкой; т.е. здесь имеется ввиду
умножение векторов')" onmouseout="hide()">.crossVectors(
буквой a здесь обозначен первый множитель')" onmouseout="hide()">a,
буквой b здесь обозначен второй множитель')" onmouseout="hide()">b )
буквой a здесь обозначен первый множитель')" onmouseout="hide()">a и
буквой b здесь обозначен второй множитель')" onmouseout="hide()">b.
.distanceTo(Метод вычисляет расстояние от данного вектора до вектора, указанного в параметре
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Метод вычисляет манхэттенское расстояние (Manhattan length) от данного вектора до вектора, указанного в параметре
манхэттенское расстояние до (чего-либо)')" onmouseout="hide()">.distanceToManhattan(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
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.
Делит данный вектор на скалярное значение s. Если значение скаляра равно нулю (s = 0), вектор устанавливается как (0, 0, 0).
divide scalar - делить (на) скаляр')" onmouseout="hide()">.divideScalar( s )
Метод вычисляет скалярное произведение (dot product) данного вектора и вектора, переданного в параметре
что скалярное произведение принято обозначать точкой,
а векторное - знаком умножения, т.е. диагональным крестиком)')" onmouseout="hide()">.dot(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
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 )
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute - исходный атрибут.
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 )
сокращ. англ. слова vector - вектор,
в данном случае - первый вектор')" onmouseout="hide()">v1 - начальный трехмерный вектор (Vector3).
сокращ. англ. слова vector - вектор,
в данном случае - второй вектор')" onmouseout="hide()">v2 - трехмерный вектор (Vector3), до которого будет проводится операция интерполирования.
в данном случае обозначает коэффициент
интерполяции')" onmouseout="hide()">alpha - коэффициент интерполяции в закрытом интервале [0, 1].
Если значение x, y или z данного вектора меньше значения x, y или z вектора, переданного в параметре
max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">.max(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Если значение x, y или z данного вектора больше значения x, y или z вектора, переданного в параметре
min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">.min(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Метод умножает данный вектор на вектор, указанный в параметре
multiply - умножить')" onmouseout="hide()">.multiply(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Метод умножает данный вектор на скаляр, переданный в параметре s.
multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar( s )
Устанавливает данный вектор равным
multiply vectors - умножить векторы')" onmouseout="hide()">.multiplyVectors(
буквой a обозначен первый множитель')" onmouseout="hide()">a,
буквой b обозначен второй множитель')" onmouseout="hide()">b )
буквой a обозначен первый множитель')" onmouseout="hide()">a×
буквой b обозначен второй множитель')" onmouseout="hide()">b.
Метод инвертирует данный вектор, т.е. устанавливает x = -x, y = -y и z = -z.
negate - отрицать')" onmouseout="hide()">.negate( )
Метод преобразовывает данный вектор в единичный вектор (unit vector) - то есть, направление его остается тем же самым, а длина вектора (length) устанавливается равной 1.
normalize - нормализовать, упорядочивать')" onmouseout="hide()">.normalize( )
project - проецировать')" onmouseout="hide()">.project(
camera - камера')" onmouseout="hide()">camera )
camera - камера')" onmouseout="hide()">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( )
Устанавливает компоненты x, y и z данного вектора.
set - установить')" onmouseout="hide()">.set( 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.
Устанавливает компоненты x, y и z данного вектора равными колонке матрицы (аргумент
set from matrix column - установить из колонки матрицы')" onmouseout="hide()">.setFromMatrixColumn(
matrix - матрица')" onmouseout="hide()">matrix, index )
matrix - матрица')" onmouseout="hide()">matrix), определяемой по индексу (index).
Sets this vector to the position elements of the transformation matrix m.
set from matrix position - ')" onmouseout="hide()">.setFromMatrixPosition(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
Sets this vector to the scale elements of the transformation matrix m.
set from matrix scale - ')" onmouseout="hide()">.setFromMatrixScale(
m это сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
Метод устанавливает данный вектор из координат в сферической системе, переданных в
set from spherical - установить из
(координат) сферической (системе)')" onmouseout="hide()">.setFromSpherical(
s - сокращ. англ. слова spherical - сферический')" onmouseout="hide()">s )
s - сокращ. англ. слова spherical - сферический')" onmouseout="hide()">s.
Метод устанавливает данный вектор как вектор с тем же самым направлением, но длиной (length) равной l.
set length - установить длину')" onmouseout="hide()">.setLength( l )
Устанавливает значения компонентов x, y и z данного вектора равными скалярному значению, указанному в параметре scalar.
set scalar - установить скаляр(ное значение)')" onmouseout="hide()">.setScalar( scalar )
Метод заменяет значение x данного вектора на значение, переданное в параметре x.
set X - установить (значение координаты) X')" onmouseout="hide()">.setX( x )
Метод заменяет значение y данного вектора на значение, переданное в параметре y.
set Y - установить (значение координаты) Y')" onmouseout="hide()">.setY( y )
Метод заменяет значение z данного вектора на значение, переданное в параметре z.
set Z - установить (значение координаты) Z')" onmouseout="hide()">.setZ( z )
Метод вычитает из данного вектора вектор, указанный в параметре
сокращ. англ. слова subtract - вычитать')" onmouseout="hide()">.sub (
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Метод вычитает из компонентов x, y и z данного вектора скалярное значение, указанное в параметре s.
сокращ. англ. слов subtract scalar
- вычесть скалярное (значение)')" onmouseout="hide()">.subScalar( s )
Метод устанавливает данный вектор как разность векторов a - b.
сокращ. англ. слов subtract vectors - вычитание векторов')" onmouseout="hide()">.subVectors( a, b )
.toArray( array, offset )
array - дополнительный, необязательный массив для хранения вектора. Если он не предоставлен, создается новый массив.
offset - дополнительное, необязательное смещение в массиве.
Возвращает массив в виде [x, y, z], или копирует x, y и z в предоставленный (array) массив.Метод изменяет данный вектор на матрицу (набор 3×3 вверху слева в матрице, переданной в параметре
transform direction - преобразовать направление')" onmouseout="hide()">.transformDirection(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m) и затем нормализует результат.
unproject - снять проецирование')" onmouseout="hide()">.unproject(
camera - камера')" onmouseout="hide()">camera )
camera - камера')" onmouseout="hide()">camera — камера, используемая в проекции.
Исходники
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).
- Любая произвольная упорядоченная четверка (квадруплет) чисел.
Пример
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
Методы
Метод добавляет к данному вектору вектор v.
add - добавить')" onmouseout="hide()">.add(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v )
Метод добавляет скалярное значение s к значениям данного вектора x, y, z и w.
add scalar - добавить скаляр(ное значение)')" onmouseout="hide()">.addScalar(
т.е. величина, полностью определяемая в
любой координатной системе одним числом,
которое не меняется при изменении
пространственной системы координат.')" onmouseout="hide()">s )
Добавляет к данному вектору множество из вектора (v) и скаляра (s).
add scaled vector - добавить скалярный вектор')" onmouseout="hide()">.addScaledVector(
сокращ. от англ. слова vector - вектор')" onmouseout="hide()">v,
т.е. величина, полностью определяемая в
любой координатной системе одним числом,
которое не меняется при изменении
пространственной системы координат.')" onmouseout="hide()">s )
Устанавливает данный вектор как
add vectors - сложить векторы')" onmouseout="hide()">.addVectors(
a - первое слагаемое')" onmouseout="hide()">a,
b - второе слагаемое')" onmouseout="hide()">b )
a - первое слагаемое')" onmouseout="hide()">a +
b - второе слагаемое')" onmouseout="hide()">b.
Метод умножает данный вектор с матрицей 4×4, заданной в аргументе
apply matrix 4 - применить матрицу 4×4')" onmouseout="hide()">.applyMatrix4(
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m.
Компоненты вектора x, y, z и w округляются вверх до ближайшего целочисленного значения.
ceil - перекрытие, потолок, здесь
подразумевается округление вверх')" onmouseout="hide()">.ceil( )
Если значение x, y, z или w данного вектора больше значения x, y, z или w вектора, указанного в параметре max, оно заменяется этим соответствующим значением.
clamp - зажать, в данном случае означает
зафиксировать значение в диапазоне,
определенном минимальным и
максимальным значениями')" onmouseout="hide()">.clamp(
min - сокращ. от англ. слова minimum - минимум')" onmouseout="hide()">min,
max - сокращ. от англ. слова maximum - максимум')" onmouseout="hide()">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.
Возвращает новый Vector4 с такими же значениями x, y, z и w, что и у данного вектора.
clone - клонировать')" onmouseout="hide()">.clone( )
Копирует значения свойств x, y, z и w из вектора, переданного в параметре v, в данный четырехмерный вектор.
copy - копировать')" onmouseout="hide()">.copy(
сокращ. англ. слова vector')" onmouseout="hide()">v )
Делит данный вектор на скалярное значение s. Если значение скаляра равно нулю (s = 0), вектор устанавливается как (0, 0).
divide scalar - делить (на) скаляр')" onmouseout="hide()">.divideScalar( s )
Метод вычисляет скалярное произведение (dot product) данного вектора и вектора, переданного в параметре
что скалярное произведение принято обозначать точкой,
а векторное - знаком умножения, т.е. диагональным крестиком)')" onmouseout="hide()">.dot(
сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
сокращ. англ. слова 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 )
attribute - атрибут, признак, свойство')" onmouseout="hide()">attribute - исходный атрибут.
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 )
сокращ. англ. слова vector - вектор,
в данном случае - первый вектор')" onmouseout="hide()">v1 - начальный четырехмерный вектор (Vector4).
сокращ. англ. слова vector - вектор,
в данном случае - второй вектор')" onmouseout="hide()">v2 - четырехмерный вектор (Vector4), до которого будет проводится операция интерполирования.
в данном случае обозначает коэффициент интерполяции')" onmouseout="hide()">alpha - коэффициент интерполяции в закрытом интервале [0, 1].
Если значение x, y, z или w данного вектора меньше значения x, y, z или w вектора, переданного в параметре
max - сокращ. англ. слова maximum - максимум')" onmouseout="hide()">.max(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Если значение x, y, z или w данного вектора больше значения x, y, z или w вектора, переданного в параметре
min - сокращ. англ. слова minimum - минимум')" onmouseout="hide()">.min(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v, то это значение заменяется соответствующим значением вектора
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Метод умножает данный вектор на скаляр, переданный в параметре s.
multiply scalar - умножить (на) скаляр')" onmouseout="hide()">.multiplyScalar( s )
Метод инвертирует данный вектор, т.е. устанавливает x = -x, y = -y, z = -z и w = -w.
negate - отрицать')" onmouseout="hide()">.negate( )
Метод преобразовывает данный вектор в единичный вектор (unit vector) - то есть, направление его остается тем же самым, а длина вектора (length) устанавливается равной 1.
normalize - нормализовать, упорядочивать')" onmouseout="hide()">.normalize( )
Метод округляет компоненты вектора до ближайшего целочисленного значения.
round - округлить')" onmouseout="hide()">.round( )
Метод округляет компоненты вектора к нулю (если значение отрицательно - происходит округление вверх, если положительное - вниз) до целочисленного значения.
round to zero - округлить к нулю')" onmouseout="hide()">.roundToZero( )
Устанавливает компоненты x, y, z и w данного вектора.
set - установить')" onmouseout="hide()">.set ( x, y, z, w )
set axis angle from quaternion -
установить осевой угол по кватерниону')" onmouseout="hide()">.setAxisAngleFromQuaternion(
q - сокращ. от англ. слова quaternion - кватернион')" onmouseout="hide()">q )
q - сокращ. от англ. слова quaternion - кватернион')" onmouseout="hide()">q - нормализованнй кватернион.
set axis angle from rotation matrix -
установить осевой угол по матрице вращения')" onmouseout="hide()">.setAxisAngleFromRotationMatrix(
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m )
m - сокращ. англ. слова matrix - матрица')" onmouseout="hide()">m - матрица 4×4, в которой матрица 3×3, вверху слева, является простой матрицей вращения.
.setComponent( index, value )
index
-- целочисленное значение, может быть 0, 1, 2, или 3.
value -- число с плавающей запятой.
Если индекс равен 0, устанавливается значение x.Если индекс равен 1, устанавливается значение y.
Если индекс равен 2, устанавливается значение z.
Если индекс равен 3, устанавливается значение w.
Метод устанавливает данный вектор как вектор с тем же самым направлением, но длиной (length) равной l.
set length - установить длину')" onmouseout="hide()">.setLength( l )
Устанавливает все значения x, y, z и w данного вектора равными скалярному значению, указанному в параметре scalar.
set scalar - установить скаляр')" onmouseout="hide()">.setScalar( scalar )
Метод заменяет значение x данного вектора на значение, переданное в параметре x.
set X - установить (значение координаты) X')" onmouseout="hide()">.setX( x )
Метод заменяет значение y данного вектора на значение, переданное в параметре y.
set Y - установить (значение координаты) Y')" onmouseout="hide()">.setY( y )
Метод заменяет значение z данного вектора на значение, переданное в параметре z.
set Z - установить (значение координаты) Z')" onmouseout="hide()">.setZ( z )
Метод заменяет значение w данного вектора на значение, переданное в параметре w.
set W - установить (значение координаты) W')" onmouseout="hide()">.setW( w )
Метод вычитает из данного вектора вектор, указанный в параметре
сокращ. англ. слова subtract - вычитать')" onmouseout="hide()">.sub(
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v )
v - сокращ. англ. слова vector - вектор')" onmouseout="hide()">v.
Метод вычитает из компонентов x, y, z и w данного вектора скалярное значение, указанное в параметре s.
сокращ. англ. слов subtract scalar
- вычесть скалярное значение')" onmouseout="hide()">.subScalar ( s )
Метод устанавливает данный вектор как разность векторов a - b.
subVectors - сокращ. англ. слов
subtract vectors - вычитание векторов')" onmouseout="hide()">.subVectors( a, b )
.toArray( array, offset )
array - дополнительный, необязательный массив для хранения вектора. Если он не предоставлен, создается новый массив.
offset - дополнительное, необязательное смещение в массиве.
Возвращает массив в виде [x, y, z, w], или копирует x, y, z и w в предоставленный
(array) массив.