Skip to main content

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​

Constructors​

constructor​

• new Vector3(x?, y?, z?): Vector3

Parameters​

NameTypeDefault valueDescription
xnumber0向量的x值,默认为0
ynumber0向量的y值,默认为0
znumber0向量的z值,默认为0

Returns​

Vector3

Overrides​

Vector.constructor

Defined in​

src/math/Vector3.ts:52

Properties​

elements​

• elements: Float32Array | Float64Array

Overrides​

Vector.elements

Defined in​

src/math/Vector3.ts:45

Accessors​

x​

• get x(): number

获取向量 x 值

Returns​

number

number;

Defined in​

src/math/Vector3.ts:64

• set x(x): void

设置向量 x 值

Parameters​

NameType
xnumber

Returns​

void

Defined in​

src/math/Vector3.ts:72


y​

• get y(): number

获取向量 y 值

Returns​

number

number;

Defined in​

src/math/Vector3.ts:80

• set y(y): void

设置向量 y 值

Parameters​

NameType
ynumber

Returns​

void

Defined in​

src/math/Vector3.ts:88


z​

• get z(): number

获取向量 z 值

Returns​

number

number;

Defined in​

src/math/Vector3.ts:96

• set z(z): void

设置向量 z 值

Parameters​

NameType
znumber

Returns​

void

Defined in​

src/math/Vector3.ts:105

Methods​

fromArray​

▸ fromArray(array, offset?): Vector3

从数组构建向量数据

Parameters​

NameTypeDefault valueDescription
arrayanyundefined原始数组
offsetnumber0数组偏移量

Returns​

Vector3

Inherited from​

Vector.fromArray

Defined in​

src/math/Vector.ts:15


toArray​

▸ toArray(out?, offset?): Float32Array | Float64Array | number[]

从向量转换到数组

Parameters​

NameTypeDefault valueDescription
outFloat32Array | Float64Array | number[][]输出数据
offsetnumber0偏移量

Returns​

Float32Array | Float64Array | number[]

Inherited from​

Vector.toArray

Defined in​

src/math/Vector.ts:28


fromObject​

▸ fromObject(object): Vector3

从对象赋值 Vector3 的 x、y、z 值

Parameters​

NameType
objectany

Returns​

Vector3

Defined in​

src/math/Vector3.ts:113


toObject​

▸ toObject(): Object

转换到对象

Returns​

Object

NameType
xnumber
ynumber
znumber

Defined in​

src/math/Vector3.ts:124


set​

▸ set(x, y, z): Vector3

设置向量的 x、y、z

Parameters​

NameType
xany
yany
zany

Returns​

Vector3

Defined in​

src/math/Vector3.ts:138


setScalar​

▸ setScalar(s): Vector3

将向量的每个值设置为标量 s

Parameters​

NameType
sany

Returns​

Vector3

Defined in​

src/math/Vector3.ts:147


length​

▸ length(): any

计算从 [0, 0, 0] 到此向量的直线距离

Returns​

any

Defined in​

src/math/Vector3.ts:154


add​

▸ add(vec): Vector3

将传入的向量vec和这个向量相加,会改变当前向量

Parameters​

NameTypeDescription
vecVector3传入的 Vector3

Returns​

Vector3

Defined in​

src/math/Vector3.ts:162


addScalar​

▸ addScalar(v): Vector3

将传入的标量量 v 和这个向量相加,会改变当前向量

Parameters​

NameTypeDescription
vnumber传入的 标量值

Returns​

Vector3

Defined in​

src/math/Vector3.ts:171


subtract​

▸ subtract(vec): Vector3

从此向量减去 vec 三维向量

Parameters​

NameTypeDescription
vecVector3传入的 Vector3

Returns​

Vector3

Defined in​

src/math/Vector3.ts:180


subtractScalar​

▸ subtractScalar(v): Vector3

从此向量各分量减去标量 v,默认构建一个三维向量 [v, v, v]

Parameters​

NameTypeDescription
vnumber标量值

Returns​

Vector3

Defined in​

src/math/Vector3.ts:189


subVectors​

▸ subVectors(a, b): Vector3

将向量 a 与向量 b 相减后的向量赋值给此向量

Parameters​

NameType
aVector3
bVector3

Returns​

Vector3

Defined in​

src/math/Vector3.ts:199


multiply​

▸ multiply(vec): Vector3

将此向量与 vec 向量相乘

Parameters​

NameType
vecVector3

Returns​

Vector3

Defined in​

src/math/Vector3.ts:208


multiplyScalar​

▸ multiplyScalar(v): Vector3

从此向量各分量与标量 v 相乘,默认构建一个三维向量 [v, v, v]

Parameters​

NameTypeDescription
vnumber标量值

Returns​

Vector3

Defined in​

src/math/Vector3.ts:217


divide​

▸ divide(vec): Vector3

将此向量与 vec 向量相除

Parameters​

NameType
vecany

Returns​

Vector3

Defined in​

src/math/Vector3.ts:226


divideScalar​

▸ divideScalar(v): Vector3

从此向量各分量与标量 v 相除,默认构建一个三维向量 [v, v, v]

Parameters​

NameTypeDescription
vany标量值

Returns​

Vector3

Defined in​

src/math/Vector3.ts:235


scale​

▸ scale(s): Vector3

缩放此向量

Parameters​

NameType
snumber

Returns​

Vector3

Defined in​

src/math/Vector3.ts:244


scaleAndAdd​

▸ scaleAndAdd(v, s): Vector3

按标量缩放 v 向量后与此向量相加

Parameters​

NameType
vVector3
snumber

Returns​

Vector3

Defined in​

src/math/Vector3.ts:254


distanceTo​

▸ distanceTo(vec): any

计算该向量到所传入的 vec 间的距离

Parameters​

NameType
vecVector3

Returns​

any

Defined in​

src/math/Vector3.ts:263


distanceToSquared​

▸ distanceToSquared(vec): any

计算两个 vec3 之间的平方距离

Parameters​

NameType
vecVector3

Returns​

any

Defined in​

src/math/Vector3.ts:271


angle​

▸ angle(vector): any

计算此向量相对于正 x 轴的弧度角

Parameters​

NameType
vectorVector3

Returns​

any

Defined in​

src/math/Vector3.ts:279


angleTo​

▸ angleTo(vector): any

以弧度返回该向量与向量 v 之间的角度

Parameters​

NameType
vectorVector3

Returns​

any

Defined in​

src/math/Vector3.ts:286


dot​

▸ dot(vec): any

计算此向量与 vec 向量的点积

Parameters​

NameType
vecVector3

Returns​

any

Defined in​

src/math/Vector3.ts:294


equals​

▸ equals(vec): any

判断传入的向量 vec 与此向量是否相等

Parameters​

NameType
vecVector3

Returns​

any

Defined in​

src/math/Vector3.ts:302


cross​

▸ cross(vec): Vector3

将该向量设置为它本身与传入的vec的叉积

Parameters​

NameType
vecVector3

Returns​

Vector3

Defined in​

src/math/Vector3.ts:310


negate​

▸ negate(): Vector3

针对此向量取反

Returns​

Vector3

Defined in​

src/math/Vector3.ts:318


inverse​

▸ inverse(): Vector3

针对此向量取倒数

Returns​

Vector3

Defined in​

src/math/Vector3.ts:326


lerp​

▸ lerp(vec, t): Vector3

从此向量到 vec 向量进行插值

Parameters​

NameTypeDescription
vecVector3目标向量
tnumber插值因数,范围一般在[0-1],通常在这两个值之间

Returns​

Vector3

Defined in​

src/math/Vector3.ts:336


normalize​

▸ normalize(): Vector3

将此向量转换为单位向量 (将其设置为与此向量具有相同方向但长度为 1 的向量)

Returns​

Vector3

Defined in​

src/math/Vector3.ts:344


applyEuler​

▸ applyEuler(euler): Vector3

通过将Euler(欧拉)对象转换为Quaternion(四元数)并应用, 将欧拉变换应用到此向量上

Parameters​

NameType
eulerany

Returns​

Vector3

Defined in​

src/math/Vector3.ts:353


applyMatrix3​

▸ applyMatrix3(matrix): Vector3

将此向量乘以 Matrix3

Parameters​

NameType
matrixMatrix3

Returns​

Vector3

Defined in​

src/math/Vector3.ts:362


applyMatrix4​

▸ applyMatrix4(matrix): Vector3

将此向量乘以 Matrix4

Parameters​

NameType
matrixMatrix4

Returns​

Vector3

Defined in​

src/math/Vector3.ts:371


applyQuaternion​

▸ applyQuaternion(quaternion): Vector3

将 Quaternion 变换应用到该向量

Parameters​

NameType
quaternionQuaternion

Returns​

Vector3

Defined in​

src/math/Vector3.ts:380


copy​

▸ copy(vec3): Vector3

将传递的 Vector3 的 x 和 y, z 属性的值复制到此 Vector3

Parameters​

NameType
vec3Vector3

Returns​

Vector3

Defined in​

src/math/Vector3.ts:389


clone​

▸ clone(): Vector3

克隆此向量

Returns​

Vector3

Defined in​

src/math/Vector3.ts:399


toString​

▸ toString(): string

转换为字符串

Returns​

string

Defined in​

src/math/Vector3.ts:406