Skip to content
本页内容

Class: Vector3

三维向量

Properties

Accessors

Constructors

Methods

Properties

MAX

Static MAX: Vector3

向量最大值

Defined in

src/engine/math/Vector3.ts:9


MIN

Static MIN: Vector3

Defined in

src/engine/math/Vector3.ts:10


SAFE_MAX

Static SAFE_MAX: Vector3

Defined in

src/engine/math/Vector3.ts:12


SAFE_MIN

Static SAFE_MIN: Vector3

Defined in

src/engine/math/Vector3.ts:13


X_AXIS

Static X_AXIS: Vector3

X轴坐标 (1,0,0).

Defined in

src/engine/math/Vector3.ts:22


Y_AXIS

Static Y_AXIS: Vector3

Y轴坐标 (0,1,0).

Defined in

src/engine/math/Vector3.ts:36


Z_AXIS

Static Z_AXIS: Vector3

Z轴坐标 (0,0,1).

Defined in

src/engine/math/Vector3.ts:46


x

x: number = 0

向量的x分量,默认值是0

Defined in

src/engine/math/Vector3.ts:144


y

y: number = 0

向量的y分量,默认值是0

Defined in

src/engine/math/Vector3.ts:154


z

z: number = 0

向量的z分量,默认值是0

Defined in

src/engine/math/Vector3.ts:165


w

w: number = 1

向量的z分量, 可作为一种透视投影的三维位置或投影 也可以做四元数中的w

Defined in

src/engine/math/Vector3.ts:172

Accessors

ZERO

Static get ZERO(): Vector3

返回一个新的x,y,z分量都为0的向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:87


ONE

Static get ONE(): Vector3

返回一个新的x,y,z分量都为1的向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:94


LEFT

Static get LEFT(): Vector3

返回一个新的指向左方向的向量,即x为-1,y为0,z为0

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:101


Static get RIGHT(): Vector3

返回一个新的指向右方向的向量,即x为1,y为0,z为0

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:107


UP

Static get UP(): Vector3

返回一个新的指向上方的向量,即x为0,y为1,z为0

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:113


DOWN

Static get DOWN(): Vector3

返回一个新的指向下方的向量,即x为0,y为-1,z为0

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:119


BACK

Static get BACK(): Vector3

返回一个新的指向后方的向量,即x为0,y为0,z为-1

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:125


FORWARD

Static get FORWARD(): Vector3

返回一个新的指向前方的向量,即x为0,y为0,z为1

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:131


a

get a(): number

得到w分量

Returns

number

获得w的值

Defined in

src/engine/math/Vector3.ts:211

set a(value): void

设置w分量

Parameters

NameTypeDescription
valuenumber设置给w的值

Returns

void

Defined in

src/engine/math/Vector3.ts:179


r

get r(): number

得到x分量

Returns

number

获得x的值

Defined in

src/engine/math/Vector3.ts:219

set r(value): void

设置x分量

Parameters

NameTypeDescription
valuenumber设置给x的值

Returns

void

Defined in

src/engine/math/Vector3.ts:186


g

get g(): number

得到y分量

Returns

number

获得y的值

Defined in

src/engine/math/Vector3.ts:227

set g(value): void

设置y分量

Parameters

NameTypeDescription
valuenumber设置给x的值

Returns

void

Defined in

src/engine/math/Vector3.ts:194


b

get b(): number

得到z分量

Returns

number

获得z的值

Defined in

src/engine/math/Vector3.ts:235

set b(value): void

设置z分量

Parameters

NameTypeDescription
valuenumber设置给x的值

Returns

void

Defined in

src/engine/math/Vector3.ts:203


length

get length(): number

向量的长度,原点(0, 0, 0)到(x, y, z)的距离

Returns

number

Defined in

src/engine/math/Vector3.ts:250


lengthSquared

get lengthSquared(): number

获得向量长度的平方

Returns

number

Defined in

src/engine/math/Vector3.ts:267


position

get position(): this

获得当前向量

Returns

this

Defined in

src/engine/math/Vector3.ts:310

Constructors

constructor

new Vector3(x?, y?, z?, w?)

创建一个对象实例,默认为(0, 0, 0, 0)

Platform

Native

Parameters

NameTypeDefault valueDescription
xnumber0x的值
ynumber0y的值
znumber0z的值
wnumber0w的值

Defined in

src/engine/math/Vector3.ts:301

Methods

set

set(x, y, z, w?): Vector3

设置当前向量x,y,z,w分量

Parameters

NameTypeDefault value
xnumberundefined
ynumberundefined
znumberundefined
wnumber1

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:322


add

add(a, target?): Vector3

该向量与向量相加

Parameters

NameTypeDefault valueDescription
aVector3undefined相加的向量
targetVector3null返回向量

Returns

Vector3

Vector3 结果返回

Defined in

src/engine/math/Vector3.ts:359


addXYZW

addXYZW(x, y, z, w, target?): Vector3

Parameters

NameTypeDefault value
xnumberundefined
ynumberundefined
znumberundefined
wnumberundefined
targetVector3null

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:376


clone

clone(): Vector3

/**

  • 克隆一个与当前向量分量相同的向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:405


copyFrom

copyFrom(src): Vector3

源向量的分量设置到当前向量中

Parameters

NameTypeDescription
srcVector3原向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:421


crossProduct

crossProduct(a, target?): Vector3

两个向量进行叉乘, 叉乘后的结果是这两条向量的垂直向量

Parameters

NameTypeDefault valueDescription
aVector3undefined求叉乘的另外一个向量
targetVector3null-

Returns

Vector3

Vector3 返回叉乘结果向量

Defined in

src/engine/math/Vector3.ts:455


decrementBy

decrementBy(a): void

两个向量相减,结果赋值给自己

Parameters

NameTypeDescription
aVector3减去的向量

Returns

void

Defined in

src/engine/math/Vector3.ts:482


distance

Static distance(pt1, pt2): number

计算两个向量之间的距离

Parameters

NameTypeDescription
pt1Vector3向量1
pt2Vector3向量2

Returns

number

number 两个向量之间的距离

Defined in

src/engine/math/Vector3.ts:507


distanceXZ

Static distanceXZ(pt1, pt2): number

Parameters

NameType
pt1Vector3
pt2Vector3

Returns

number

Defined in

src/engine/math/Vector3.ts:514


dotProduct

dotProduct(a): number

计算两个向量的点积,返回两个向量之间的夹角关系

Parameters

NameTypeDescription
aVector3需要计算的向量

Returns

number

number 返回两个向量之间的夹角关系

Defined in

src/engine/math/Vector3.ts:527


equals

equals(toCompare, allFour?): boolean

求两个向量的值是否全等

Parameters

NameTypeDefault valueDescription
toCompareVector3undefined进行比较的向量
allFourbooleanfalse默认参数为1,是否比较w分量

Returns

boolean

boolean 全等返回true

Defined in

src/engine/math/Vector3.ts:549


incrementBy

incrementBy(a): void

当前向量加等于向量,只加x y z 3个分量

Parameters

NameTypeDescription
aVector3加等的向量

Returns

void

Defined in

src/engine/math/Vector3.ts:569


divide

divide(v): Vector3

当前向量除以向量或者分量

Parameters

NameTypeDescription
vany要除的向量或者分量

Returns

Vector3

Vector3 返回自己,计算之后的结果

Defined in

src/engine/math/Vector3.ts:581


negate

negate(): Vector3

当前向量x,y,z分量取反

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:608


normalize

normalize(thickness?): Vector3

当前向量标准化

Parameters

NameTypeDefault valueDescription
thicknessnumber1默认参数为1,使当前向量的长度为thickness 原点(0, 0, 0)到(x, y, z)的距离

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:631


applyQuaternion

applyQuaternion(q): Vector3

Parameters

NameType
qany

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:646


scaleBy

scaleBy(s): Vector3

当前向量扩大s倍

Parameters

NameTypeDescription
snumber扩大的倍数

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:688


mul

mul(s): Vector3

当前向量乘以标量s

Parameters

NameTypeDescription
snumber标量s

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:700


scale

scale(s): Vector3

Parameters

NameType
sVector3

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:708


scaleToRef

scaleToRef(s, ref): Vector3

Parameters

NameType
snumber
refVector3

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:715


setTo

setTo(xa, ya, za, wa?): void

填充当前向量的分量

Parameters

NameTypeDefault value
xanumberundefined
yanumberundefined
zanumberundefined
wanumber1

Returns

void

Defined in

src/engine/math/Vector3.ts:742


copy

copy(src): Vector3

复制源向量的分量到此向量

Parameters

NameTypeDescription
srcVector3源向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:754


subtract

subtract(a, target?): Vector3

将该向量减去向量。

Parameters

NameTypeDefault valueDescription
aVector3undefined相减的向量
targetVector3null返回的向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:782


multiply

multiply(other, target?): Vector3

将该向量乘以向量。

Parameters

NameTypeDefault valueDescription
otherVector3undefined相乘的向量
targetVector3null返回的向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:796


divided

divided(other, target?): Vector3

将该向量除以向量。

Parameters

NameTypeDefault valueDescription
otherVector3undefined相除的向量
targetVector3null返回的向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:819


div

div(v, target?): Vector3

将该向量除以标量

Parameters

NameTypeDescription
vnumber相除的标量
target?Vector3输出Vector3向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:841


lerp

lerp(v0, v1, t): void

计算两个Vector3之间的线性插值,结果为当前对象

Parameters

NameTypeDescription
v0Vector3向量1
v1Vector3向量2
tnumber时刻

Returns

void

Defined in

src/engine/math/Vector3.ts:862


clamp

clamp(min, max): Vector3

将该向量x分量、 y分量以及z分量向上取整为最接近的整数。

Parameters

NameTypeDescription
minVector3x值、y值和z的最小值。
maxVector3x值、y值和z的最大值。

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:884


toString

toString(): string

返回当前向量的字符串形式

Returns

string

Defined in

src/engine/math/Vector3.ts:952


getTowPointbyDir

Static getTowPointbyDir(dir, tp1, tp2, width, aix): void

通过一个朝向,获取一条垂直有宽度的垂直线段

Parameters

NameType
dirVector3
tp1Vector3
tp2Vector3
widthnumber
aixVector3

Returns

void

Defined in

src/engine/math/Vector3.ts:976


pointToLine

Static pointToLine(point1, point2, position): number

Parameters

NameType
point1Vector3
point2Vector3
positionVector3

Returns

number

Defined in

src/engine/math/Vector3.ts:998


normalizeToWay2D_XY

normalizeToWay2D_XY(): void

规整为正轴

Returns

void

Defined in

src/engine/math/Vector3.ts:1033


toArray

toArray(): number[]

Returns

number[]

Defined in

src/engine/math/Vector3.ts:1051


copyToBytes

copyToBytes(byte): void

Parameters

NameType
byteDataView

Returns

void

Defined in

src/engine/math/Vector3.ts:1055


cross

cross(a, target?): Vector3

两个Vector3进行叉乘 this 叉乘 a 叉乘后的结果是这两条向量的垂直向量

Parameters

NameTypeDefault valueDescription
aVector3undefined求叉乘的另外一个向量
targetVector3null-

Returns

Vector3

Vector3 返回叉乘结果向量

Defined in

src/engine/math/Vector3.ts:1068


multiplyScalar

multiplyScalar(scalar): Vector3

Parameters

NameType
scalarnumber

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:1077


setFromArray

setFromArray(array, firstElementPos?): void

Parameters

NameTypeDefault value
arraynumber[]undefined
firstElementPosnumber0

Returns

void

Defined in

src/engine/math/Vector3.ts:1085


divideScalar

divideScalar(scalar): Vector3

Parameters

NameType
scalarany

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:1091


clampLength

clampLength(min, max): Vector3

Parameters

NameType
minnumber
maxnumber

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:1095


cross

Static cross(a, b, target?): Vector3

Parameters

NameTypeDefault value
aVector3undefined
bVector3undefined
targetVector3null

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:1100


dot

Static dot(a, b): number

计算两个向量的点积(dot product)。

Parameters

NameTypeDescription
aVector3向量a
bVector3向量b

Returns

number

Defined in

src/engine/math/Vector3.ts:1114


getPoints

Static getPoints(total, randSeed): any[]

Parameters

NameType
totalnumber
randSeednumber

Returns

any[]

Defined in

src/engine/math/Vector3.ts:1118


getPointNumbers

Static getPointNumbers(total, randSeed): any[]

Parameters

NameType
totalnumber
randSeednumber

Returns

any[]

Defined in

src/engine/math/Vector3.ts:1127


getAngle

Static getAngle(from, to): number

返回 源向量 与 目标向量 之间的角度(以度为单位)。

Parameters

NameTypeDescription
fromVector3源向量。
toVector3目标向量。

Returns

number

Defined in

src/engine/math/Vector3.ts:1149


sqrMagnitude

Static sqrMagnitude(arg0): number

Parameters

NameType
arg0Vector3

Returns

number

Defined in

src/engine/math/Vector3.ts:1154


getZYAngle

Static getZYAngle(zd, yd): number

Parameters

NameType
zdVector3
ydVector3

Returns

number

Defined in

src/engine/math/Vector3.ts:1158


sub

Static sub(a, b, target?): Vector3

两个向量相减

Parameters

NameTypeDefault valueDescription
aVector3undefined向量a
bVector3undefined向量b
targetVector3null输出向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:1168


add

Static add(a, b, target?): Vector3

两个向量相加

Parameters

NameTypeDefault valueDescription
aVector3undefined向量a
bVector3undefined向量b
targetVector3null输出向量

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:1184


setScalar

setScalar(value): Vector3

Parameters

NameType
valuenumber

Returns

Vector3

Defined in

src/engine/math/Vector3.ts:1243