Class: Vector3
三维向量,三维向量表示的是一个有顺序的、三个为一组的数字组合,可以用来描述:
- 一个位于三维空间中的点。
- 一个在三维空间中的方向与长度的定义
const a = new Vector3(0, 1, 0);
const b = new Vector3(0, 0, 0);
const d = a.distanceTo(b);
Hierarchy
-
default
↳
Vector3
Table of contents
Constructors
Properties
Accessors
Methods
- fromArray
- toArray
- fromObject
- toObject
- set
- setScalar
- length
- add
- addScalar
- subtract
- subtractScalar
- subVectors
- multiply
- multiplyScalar
- divide
- divideScalar
- scale
- scaleAndAdd
- distanceTo
- distanceToSquared
- angle
- angleTo
- dot
- equals
- cross
- negate
- inverse
- lerp
- normalize
- applyEuler
- applyMatrix3
- applyMatrix4
- applyQuaternion
- copy
- clone
- toString
Constructors
constructor
• new Vector3(x?
, y?
, z?
): Vector3
Parameters
Name | Type | Default value | Description |
---|---|---|---|
x | number | 0 | 向量的x值,默认为0 |
y | number | 0 | 向量的y值,默认为0 |
z | number | 0 | 向量的z值,默认为0 |
Returns
Overrides
Vector.constructor
Defined in
Properties
elements
• elements: Float32Array
| Float64Array
Overrides
Vector.elements
Defined in
Accessors
x
• get
x(): number
获取向量 x 值
Returns
number
number;
Defined in
• set
x(x
): void
设置向量 x 值
Parameters
Name | Type |
---|---|
x | number |
Returns
void
Defined in
y
• get
y(): number
获取向量 y 值
Returns
number
number;
Defined in
• set
y(y
): void
设置向量 y 值
Parameters
Name | Type |
---|---|
y | number |
Returns
void
Defined in
z
• get
z(): number
获取向量 z 值
Returns
number
number;
Defined in
• set
z(z
): void
设置向量 z 值
Parameters
Name | Type |
---|---|
z | number |
Returns
void
Defined in
Methods
fromArray
▸ fromArray(array
, offset?
): Vector3
从数组构建向量数据
Parameters
Name | Type | Default value | Description |
---|---|---|---|
array | any | undefined | 原始数组 |
offset | number | 0 | 数组偏移量 |
Returns
Inherited from
Vector.fromArray
Defined in
toArray
▸ toArray(out?
, offset?
): Float32Array
| Float64Array
| number
[]
从向量转换到数组
Parameters
Name | Type | Default value | Description |
---|---|---|---|
out | Float32Array | Float64Array | number [] | [] | 输出数据 |
offset | number | 0 | 偏移量 |
Returns
Float32Array
| Float64Array
| number
[]
Inherited from
Vector.toArray
Defined in
fromObject
▸ fromObject(object
): Vector3
从对象赋值 Vector3 的 x、y、z 值
Parameters
Name | Type |
---|---|
object | any |
Returns
Defined in
toObject
▸ toObject(): Object
转换到对象
Returns
Object
Name | Type |
---|---|
x | number |
y | number |
z | number |
Defined in
set
▸ set(x
, y
, z
): Vector3
设置向量的 x、y、z
Parameters
Name | Type |
---|---|
x | any |
y | any |
z | any |
Returns
Defined in
setScalar
▸ setScalar(s
): Vector3
将向量的每个值设置为标量 s
Parameters
Name | Type |
---|---|
s | any |
Returns
Defined in
length
▸ length(): any
计算从 [0, 0, 0]
到此向量的直线距离
Returns
any
Defined in
add
▸ add(vec
): Vector3
将传入的向量vec和这个向量相加,会改变当前向量
Parameters
Name | Type | Description |
---|---|---|
vec | Vector3 | 传入的 Vector3 |
Returns
Defined in
addScalar
▸ addScalar(v
): Vector3
将传入的标量量 v 和这个向量相加,会改变当前向量
Parameters
Name | Type | Description |
---|---|---|
v | number | 传入的 标量值 |
Returns
Defined in
subtract
▸ subtract(vec
): Vector3
从此向量减去 vec 三维向量
Parameters
Name | Type | Description |
---|---|---|
vec | Vector3 | 传入的 Vector3 |
Returns
Defined in
subtractScalar
▸ subtractScalar(v
): Vector3
从此向量各分量减去标量 v,默认构建一个三维向量 [v, v, v]
Parameters
Name | Type | Description |
---|---|---|
v | number | 标量值 |
Returns
Defined in
subVectors
▸ subVectors(a
, b
): Vector3
将向量 a 与向量 b 相减后的向量赋值给此向量
Parameters
Name | Type |
---|---|
a | Vector3 |
b | Vector3 |
Returns
Defined in
multiply
▸ multiply(vec
): Vector3
将此向量与 vec 向量相乘
Parameters
Name | Type |
---|---|
vec | Vector3 |
Returns
Defined in
multiplyScalar
▸ multiplyScalar(v
): Vector3
从此向量各分量与标量 v 相乘,默认构建一个三维向量 [v, v, v]
Parameters
Name | Type | Description |
---|---|---|
v | number | 标量值 |
Returns
Defined in
divide
▸ divide(vec
): Vector3
将此向量与 vec 向量相除
Parameters
Name | Type |
---|---|
vec | any |
Returns
Defined in
divideScalar
▸ divideScalar(v
): Vector3
从此向量各分量与标量 v 相除,默认构建一个三维向量 [v, v, v]
Parameters
Name | Type | Description |
---|---|---|
v | any | 标量值 |
Returns
Defined in
scale
▸ scale(s
): Vector3
缩放此向量
Parameters
Name | Type |
---|---|
s | number |
Returns
Defined in
scaleAndAdd
▸ scaleAndAdd(v
, s
): Vector3
按标量缩放 v 向量后与此向量相加
Parameters
Name | Type |
---|---|
v | Vector3 |
s | number |
Returns
Defined in
distanceTo
▸ distanceTo(vec
): any
计算该向量到所传入的 vec 间的距离
Parameters
Name | Type |
---|---|
vec | Vector3 |
Returns
any
Defined in
distanceToSquared
▸ distanceToSquared(vec
): any
计算两个 vec3 之间的平方距离
Parameters
Name | Type |
---|---|
vec | Vector3 |
Returns
any
Defined in
angle
▸ angle(vector
): any
计算此向量相对于正 x 轴的弧度角
Parameters
Name | Type |
---|---|
vector | Vector3 |
Returns
any
Defined in
angleTo
▸ angleTo(vector
): any
以弧度返回该向量与向量 v 之间的角度
Parameters
Name | Type |
---|---|
vector | Vector3 |
Returns
any
Defined in
dot
▸ dot(vec
): any
计算此向量与 vec 向量的点积
Parameters
Name | Type |
---|---|
vec | Vector3 |
Returns
any
Defined in
equals
▸ equals(vec
): any
判断传入的向量 vec 与此向量是否相等
Parameters
Name | Type |
---|---|
vec | Vector3 |
Returns
any
Defined in
cross
▸ cross(vec
): Vector3
将该向量设置为它本身与传入的vec的叉积
Parameters
Name | Type |
---|---|
vec | Vector3 |
Returns
Defined in
negate
▸ negate(): Vector3
针对此向量取反
Returns
Defined in
inverse
▸ inverse(): Vector3
针对此向量取倒数
Returns
Defined in
lerp
▸ lerp(vec
, t
): Vector3
从此向量到 vec 向量进行插值
Parameters
Name | Type | Description |
---|---|---|
vec | Vector3 | 目标向量 |
t | number | 插值因数,范围一般在[0-1],通常在这两个值之间 |
Returns
Defined in
normalize
▸ normalize(): Vector3
将此向量转换为单位向量 (将其设置为与此向量具有相同方向但长度为 1 的向量)
Returns
Defined in
applyEuler
▸ applyEuler(euler
): Vector3
通过将Euler(欧拉)对象转换为Quaternion(四元数)并应用, 将欧拉变换应用到此向量上
Parameters
Name | Type |
---|---|
euler | any |
Returns
Defined in
applyMatrix3
▸ applyMatrix3(matrix
): Vector3
将此向量乘以 Matrix3
Parameters
Name | Type |
---|---|
matrix | Matrix3 |
Returns
Defined in
applyMatrix4
▸ applyMatrix4(matrix
): Vector3
将此向量乘以 Matrix4
Parameters
Name | Type |
---|---|
matrix | Matrix4 |
Returns
Defined in
applyQuaternion
▸ applyQuaternion(quaternion
): Vector3
将 Quaternion 变换应用到该向量
Parameters
Name | Type |
---|---|
quaternion | Quaternion |
Returns
Defined in
copy
▸ copy(vec3
): Vector3
将传递的 Vector3 的 x 和 y, z 属性的值复制到此 Vector3
Parameters
Name | Type |
---|---|
vec3 | Vector3 |
Returns
Defined in
clone
▸ clone(): Vector3
克隆此向量
Returns
Defined in
toString
▸ toString(): string
转换为字符串
Returns
string