ht.Math.Vector3(x, y, z)

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