new Vector3(x, y, z)
创建一个三维向量
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
x |
number | Object |
<optional> |
|
y |
number |
<optional> |
|
z |
number |
<optional> |
Members
-
isVector3 :boolean
-
是否为 Vector3
- Since:
- 7.7.0
- Default Value:
- true
-
x :number
-
-
y :number
-
-
z :number
-
Methods
-
add(Vector3) → {ht.Math.Vector3}
-
将传入的向量 Vector3 和当前向量相加
Parameters:
Name Type Description Vector3
Point3d Returns:
ht.Math.Vector3 -
addScalar(scalar) → {ht.Math.Vector3}
-
将传入的标量 scalar 和当前向量的 x 、y 和 z 相加
Parameters:
Name Type Description scalar
number Returns:
ht.Math.Vector3 -
addScaledVector(Vector3, scalar) → {ht.Math.Vector3}
-
将所传入的 Vector3 与 scalar 相乘所得的乘积和当前向量相加
Parameters:
Name Type Description Vector3
ht.Math.Vector3 scalar
number Returns:
ht.Math.Vector3 -
addVectors(a, b) → {ht.Math.Vector3}
-
将当前向量设置为 a + b
Parameters:
Name Type Description a
ht.Math.Vector3 b
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
angleTo(Vector3) → {number}
-
返回该向量与向量 Vector3 之间的角度(弧度制)
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
number -角度(弧度制)
-
applyAxisAngle(Vector3, rotation) → {ht.Math.Vector3}
-
将轴和角度所指定的旋转应用到当前向量上
Parameters:
Name Type Description Vector3
ht.Math.Vector3 旋转轴(需要归一化)
rotation
number 旋转量(弧度制)
Returns:
ht.Math.Vector3 -
applyEuler(Euler) → {ht.Math.Vector3}
-
将欧拉变换应用到当前向量上
Parameters:
Name Type Description Euler
ht.Math.Euler 欧拉角
Returns:
ht.Math.Vector3 -
applyMatrix3(Matrix3) → {ht.Math.Vector3}
-
将当前向量乘以三阶矩阵 Matrix3
Parameters:
Name Type Description Matrix3
ht.Math.Matrix3 Returns:
ht.Math.Vector3 -
applyMatrix4(Matrix4) → {ht.Math.Vector3}
-
将当前向量乘以四阶矩阵 Matrix4
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Vector3 -
applyQuaternion(Quaternion) → {ht.Math.Vector3}
-
将 Quaternion 变换应用到当前向量
Parameters:
Name Type Description Quaternion
ht.Math.Quaternion Returns:
ht.Math.Vector3 -
clone() → {ht.Math.Vector3}
-
返回一个新的 Vector3 ,与当前向量相同的 x 、y 和 z 相同
Returns:
ht.Math.Vector3 -
copy(Vector3) → {ht.Math.Vector3}
-
将所传入 Vector3 的 x、y 和 z 属性复制到当前向量
Parameters:
Name Type Description Vector3
Array.<number> | ht.Math.Vector3 | Point3d Returns:
ht.Math.Vector3 -
cross(Vector3) → {ht.Math.Vector3}
-
将当前向量设置为它本身与传入的 Vector3 的叉积
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
crossVectors(a, b) → {ht.Math.Vector3}
-
将当前向量设置为传入的向量 a 与 b 的叉积
Parameters:
Name Type Description a
ht.Math.Vector3 b
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
distanceTo(Vector3) → {number}
-
计算当前向量到所传入的 Vector3 间的距离
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
number -距离
-
distanceToSquared(Vector3) → {number}
-
计算当前向量到所传入的 Vector3 间的距离平方
Parameters:
Name Type Description Vector3
number Returns:
number -距离平方
-
divide(Vector3) → {ht.Math.Vector3}
-
将当前向量除以向量 Vector3
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
divideScalar(scalar) → {ht.Math.Vector3}
-
Parameters:
Name Type Description scalar
number Returns:
ht.Math.Vector3 -
divideVectors(a, b) → {ht.Math.Vector3}
-
将当前向量设置为向量 a 除以 b
Parameters:
Name Type Description a
ht.Math.Vector3 b
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
dot(Vector3) → {number}
-
计算当前向量和所传入 Vector3 的点积
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
number -
equals(Vector3) → {boolean}
-
当前向量和所传入 Vector3 是否相等
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
boolean -
fromArray(Array, offset) → {ht.Math.Vector3}
-
设置向量中的 x 值为 Array[ offset + 0 ],y 值为 Array[ offset + 1 ], z 值为 Array[ offset + 2 ]
Parameters:
Name Type Attributes Description Array
Array.<number> offset
number <optional>
数组的偏移量,默认值为 0
Returns:
ht.Math.Vector3 -
length() → {number}
-
计算从 (0, 0, 0) 到 (x, y, z) 的直线长度
Returns:
number -长度
-
lengthSq() → {number}
-
计算从 (0, 0, 0) 到 (x, y, z) 的直线长度平方
Returns:
number -长度平方
-
lerp(Vector3, alpha) → {ht.Math.Vector3}
-
当前向量与传入的向量 Vector3 之间的线性插值,alpha 是沿着线的长度的百分比
Parameters:
Name Type Description Vector3
ht.Math.Vector3 alpha
number Returns:
ht.Math.Vector3 -
lerpVectors(a, b, alpha) → {ht.Math.Vector3}
-
将当前向量设置为在 向量 a 和 b 之间进行线性插值的向量
Parameters:
Name Type Description a
ht.Math.Vector3 b
ht.Math.Vector3 alpha
number Returns:
ht.Math.Vector3 -
manhattanLength() → {number}
-
计算当前向量的曼哈顿长度
Returns:
number -曼哈顿长度
-
max(Vector3) → {ht.Math.Vector3}
-
如果当前向量的 x 值、y 值或 z 值小于所传入 Vector3 的 x 值、y 值或 z 值, 则将其替换为对应的最大值
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
min(Vector3) → {ht.Math.Vector3}
-
如果当前向量的 x 值、y 值或 z 值大于所传入 Vector3 的 x 值、y 值或 z 值, 则将其替换为对应的最小值
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
multiply(Vector3) → {ht.Math.Vector3}
-
将当前向量与所传入的向量 Vector3 相乘
Parameters:
Name Type Description Vector3
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
multiplyScalar(scalar) → {ht.Math.Vector3}
-
将当前向量与所传入的标量 scalar 相乘
Parameters:
Name Type Description scalar
number Returns:
ht.Math.Vector3 -
multiplyVectors(a, b) → {ht.Math.Vector3}
-
将当前向量设为向量 a 和 b 相乘的结果
Parameters:
Name Type Description a
ht.Math.Vector3 b
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
negate() → {ht.Math.Vector3}
-
将当前向量取反
Returns:
ht.Math.Vector3 -
normalize() → {ht.Math.Vector3}
-
将当前向量转换为单位向量
Returns:
ht.Math.Vector3 -
reflect(normal) → {ht.Math.Vector3}
-
将当前向量设置为 normal 法线定义的平面的反射向量
Parameters:
Name Type Description normal
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
set(x, y, z) → {ht.Math.Vector3}
-
设置当前向量的x、y 和 z 分量
Parameters:
Name Type Description x
number y
number z
number Returns:
ht.Math.Vector3 -
setFromMatrixColumn(Matrix4, index) → {ht.Math.Vector3}
-
从矩阵 Matrix4 由 index 指定的列中, 设置该向量的 x 值、y 值和 z 值
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 index
number Returns:
ht.Math.Vector3 -
setFromMatrixPosition(Matrix4) → {ht.Math.Vector3}
-
从矩阵(Matrix4 中, 设置当前向量为其中与位置相关的元素
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Vector3 -
setLength(length) → {ht.Math.Vector3}
-
将当前向量设置为方向相同,但是长度为 length 的向量
Parameters:
Name Type Description length
number Returns:
ht.Math.Vector3 -
setScalar(scalar) → {ht.Math.Vector3}
-
将当前向量的 x、y 和 z 值同时设置为等于传入的 scalar
Parameters:
Name Type Description scalar
number Returns:
ht.Math.Vector3 -
setX(x) → {ht.Math.Vector3}
-
将当前向量中的 x 值替换为 x
Parameters:
Name Type Description x
number Returns:
ht.Math.Vector3 -
setY(y) → {ht.Math.Vector3}
-
将当前向量中的 y 值替换为 y
Parameters:
Name Type Description y
number Returns:
ht.Math.Vector3 -
setZ(z) → {ht.Math.Vector3}
-
将当前向量中的 z 值替换为 z
Parameters:
Name Type Description z
number Returns:
ht.Math.Vector3 -
sub(Vector3) → {ht.Math.Vector3}
-
当前向量减去向量 Vector3
Parameters:
Name Type Description Vector3
Point3d Returns:
ht.Math.Vector3 -
subScalar(scalar) → {ht.Math.Vector3}
-
当前向量的 x、y 和 z 减去标量 scalar
Parameters:
Name Type Description scalar
number Returns:
ht.Math.Vector3 -
subVectors(a, b) → {ht.Math.Vector3}
-
将当前向量设置为 a - b
Parameters:
Name Type Description a
ht.Math.Vector3 b
ht.Math.Vector3 Returns:
ht.Math.Vector3 -
toArray(array, offset) → {Array.<number>}
-
返回一个数组,或者将 x 、y 和 z 复制到所传入的 array 中
Parameters:
Name Type Attributes Description array
Array.<Object> <optional>
用于存储向量的数组,如果未指定会创建一个新的数组
offset
number <optional>
数组中元素的偏移量
Returns:
Array.<number> -
transformDirection(Matrix4) → {ht.Math.Vector3}
-
通过传入的矩阵 Matrix4 变换当前向量的方向,并将结果进行归一化
Parameters:
Name Type Description Matrix4
ht.Math.Matrix4 Returns:
ht.Math.Vector3