Class: Vector3
三维向量
Properties
Accessors
Constructors
Methods
- set
- add
- addXYZW
- clone
- copyFrom
- crossProduct
- decrementBy
- distance
- distanceXZ
- dotProduct
- equals
- incrementBy
- divide
- negate
- normalize
- applyQuaternion
- scaleBy
- mul
- scale
- scaleToRef
- setTo
- copy
- subtract
- multiply
- divided
- div
- lerp
- clamp
- toString
- getTowPointbyDir
- pointToLine
- normalizeToWay2D_XY
- toArray
- copyToBytes
- cross
- multiplyScalar
- setFromArray
- divideScalar
- clampLength
- cross
- dot
- getPoints
- getPointNumbers
- getAngle
- sqrMagnitude
- getZYAngle
- sub
- add
- setScalar
Properties
MAX
▪ Static
MAX: Vector3
向量最大值
Defined in
MIN
▪ Static
MIN: Vector3
Defined in
SAFE_MAX
▪ Static
SAFE_MAX: Vector3
Defined in
SAFE_MIN
▪ Static
SAFE_MIN: Vector3
Defined in
X_AXIS
▪ Static
X_AXIS: Vector3
X轴坐标 (1,0,0).
Defined in
Y_AXIS
▪ Static
Y_AXIS: Vector3
Y轴坐标 (0,1,0).
Defined in
Z_AXIS
▪ Static
Z_AXIS: Vector3
Z轴坐标 (0,0,1).
Defined in
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
Defined in
ONE
• Static
get
ONE(): Vector3
返回一个新的x,y,z分量都为1的向量
Returns
Defined in
LEFT
• Static
get
LEFT(): Vector3
返回一个新的指向左方向的向量,即x为-1,y为0,z为0
Returns
Defined in
src/engine/math/Vector3.ts:101
RIGHT
• Static
get
RIGHT(): Vector3
返回一个新的指向右方向的向量,即x为1,y为0,z为0
Returns
Defined in
src/engine/math/Vector3.ts:107
UP
• Static
get
UP(): Vector3
返回一个新的指向上方的向量,即x为0,y为1,z为0
Returns
Defined in
src/engine/math/Vector3.ts:113
DOWN
• Static
get
DOWN(): Vector3
返回一个新的指向下方的向量,即x为0,y为-1,z为0
Returns
Defined in
src/engine/math/Vector3.ts:119
BACK
• Static
get
BACK(): Vector3
返回一个新的指向后方的向量,即x为0,y为0,z为-1
Returns
Defined in
src/engine/math/Vector3.ts:125
FORWARD
• Static
get
FORWARD(): Vector3
返回一个新的指向前方的向量,即x为0,y为0,z为1
Returns
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
Name | Type | Description |
---|---|---|
value | number | 设置给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
Name | Type | Description |
---|---|---|
value | number | 设置给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
Name | Type | Description |
---|---|---|
value | number | 设置给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
Name | Type | Description |
---|---|---|
value | number | 设置给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
Name | Type | Default value | Description |
---|---|---|---|
x | number | 0 | x的值 |
y | number | 0 | y的值 |
z | number | 0 | z的值 |
w | number | 0 | w的值 |
Defined in
src/engine/math/Vector3.ts:301
Methods
set
▸ set(x
, y
, z
, w?
): Vector3
设置当前向量x,y,z,w分量
Parameters
Name | Type | Default value |
---|---|---|
x | number | undefined |
y | number | undefined |
z | number | undefined |
w | number | 1 |
Returns
Defined in
src/engine/math/Vector3.ts:322
add
▸ add(a
, target?
): Vector3
该向量与向量相加
Parameters
Name | Type | Default value | Description |
---|---|---|---|
a | Vector3 | undefined | 相加的向量 |
target | Vector3 | null | 返回向量 |
Returns
Vector3 结果返回
Defined in
src/engine/math/Vector3.ts:359
addXYZW
▸ addXYZW(x
, y
, z
, w
, target?
): Vector3
Parameters
Name | Type | Default value |
---|---|---|
x | number | undefined |
y | number | undefined |
z | number | undefined |
w | number | undefined |
target | Vector3 | null |
Returns
Defined in
src/engine/math/Vector3.ts:376
clone
▸ clone(): Vector3
/**
- 克隆一个与当前向量分量相同的向量
Returns
Defined in
src/engine/math/Vector3.ts:405
copyFrom
▸ copyFrom(src
): Vector3
源向量的分量设置到当前向量中
Parameters
Name | Type | Description |
---|---|---|
src | Vector3 | 原向量 |
Returns
Defined in
src/engine/math/Vector3.ts:421
crossProduct
▸ crossProduct(a
, target?
): Vector3
两个向量进行叉乘, 叉乘后的结果是这两条向量的垂直向量
Parameters
Name | Type | Default value | Description |
---|---|---|---|
a | Vector3 | undefined | 求叉乘的另外一个向量 |
target | Vector3 | null | - |
Returns
Vector3 返回叉乘结果向量
Defined in
src/engine/math/Vector3.ts:455
decrementBy
▸ decrementBy(a
): void
两个向量相减,结果赋值给自己
Parameters
Name | Type | Description |
---|---|---|
a | Vector3 | 减去的向量 |
Returns
void
Defined in
src/engine/math/Vector3.ts:482
distance
▸ Static
distance(pt1
, pt2
): number
计算两个向量之间的距离
Parameters
Name | Type | Description |
---|---|---|
pt1 | Vector3 | 向量1 |
pt2 | Vector3 | 向量2 |
Returns
number
number 两个向量之间的距离
Defined in
src/engine/math/Vector3.ts:507
distanceXZ
▸ Static
distanceXZ(pt1
, pt2
): number
Parameters
Name | Type |
---|---|
pt1 | Vector3 |
pt2 | Vector3 |
Returns
number
Defined in
src/engine/math/Vector3.ts:514
dotProduct
▸ dotProduct(a
): number
计算两个向量的点积,返回两个向量之间的夹角关系
Parameters
Name | Type | Description |
---|---|---|
a | Vector3 | 需要计算的向量 |
Returns
number
number 返回两个向量之间的夹角关系
Defined in
src/engine/math/Vector3.ts:527
equals
▸ equals(toCompare
, allFour?
): boolean
求两个向量的值是否全等
Parameters
Name | Type | Default value | Description |
---|---|---|---|
toCompare | Vector3 | undefined | 进行比较的向量 |
allFour | boolean | false | 默认参数为1,是否比较w分量 |
Returns
boolean
boolean 全等返回true
Defined in
src/engine/math/Vector3.ts:549
incrementBy
▸ incrementBy(a
): void
当前向量加等于向量,只加x y z 3个分量
Parameters
Name | Type | Description |
---|---|---|
a | Vector3 | 加等的向量 |
Returns
void
Defined in
src/engine/math/Vector3.ts:569
divide
▸ divide(v
): Vector3
当前向量除以向量或者分量
Parameters
Name | Type | Description |
---|---|---|
v | any | 要除的向量或者分量 |
Returns
Vector3 返回自己,计算之后的结果
Defined in
src/engine/math/Vector3.ts:581
negate
▸ negate(): Vector3
当前向量x,y,z分量取反
Returns
Defined in
src/engine/math/Vector3.ts:608
normalize
▸ normalize(thickness?
): Vector3
当前向量标准化
Parameters
Name | Type | Default value | Description |
---|---|---|---|
thickness | number | 1 | 默认参数为1,使当前向量的长度为thickness 原点(0, 0, 0)到(x, y, z)的距离 |
Returns
Defined in
src/engine/math/Vector3.ts:631
applyQuaternion
▸ applyQuaternion(q
): Vector3
Parameters
Name | Type |
---|---|
q | any |
Returns
Defined in
src/engine/math/Vector3.ts:646
scaleBy
▸ scaleBy(s
): Vector3
当前向量扩大s倍
Parameters
Name | Type | Description |
---|---|---|
s | number | 扩大的倍数 |
Returns
Defined in
src/engine/math/Vector3.ts:688
mul
▸ mul(s
): Vector3
当前向量乘以标量s
Parameters
Name | Type | Description |
---|---|---|
s | number | 标量s |
Returns
Defined in
src/engine/math/Vector3.ts:700
scale
▸ scale(s
): Vector3
Parameters
Name | Type |
---|---|
s | Vector3 |
Returns
Defined in
src/engine/math/Vector3.ts:708
scaleToRef
▸ scaleToRef(s
, ref
): Vector3
Parameters
Name | Type |
---|---|
s | number |
ref | Vector3 |
Returns
Defined in
src/engine/math/Vector3.ts:715
setTo
▸ setTo(xa
, ya
, za
, wa?
): void
填充当前向量的分量
Parameters
Name | Type | Default value |
---|---|---|
xa | number | undefined |
ya | number | undefined |
za | number | undefined |
wa | number | 1 |
Returns
void
Defined in
src/engine/math/Vector3.ts:742
copy
▸ copy(src
): Vector3
复制源向量的分量到此向量
Parameters
Name | Type | Description |
---|---|---|
src | Vector3 | 源向量 |
Returns
Defined in
src/engine/math/Vector3.ts:754
subtract
▸ subtract(a
, target?
): Vector3
将该向量减去向量。
Parameters
Name | Type | Default value | Description |
---|---|---|---|
a | Vector3 | undefined | 相减的向量 |
target | Vector3 | null | 返回的向量 |
Returns
Defined in
src/engine/math/Vector3.ts:782
multiply
▸ multiply(other
, target?
): Vector3
将该向量乘以向量。
Parameters
Name | Type | Default value | Description |
---|---|---|---|
other | Vector3 | undefined | 相乘的向量 |
target | Vector3 | null | 返回的向量 |
Returns
Defined in
src/engine/math/Vector3.ts:796
divided
▸ divided(other
, target?
): Vector3
将该向量除以向量。
Parameters
Name | Type | Default value | Description |
---|---|---|---|
other | Vector3 | undefined | 相除的向量 |
target | Vector3 | null | 返回的向量 |
Returns
Defined in
src/engine/math/Vector3.ts:819
div
▸ div(v
, target?
): Vector3
将该向量除以标量
Parameters
Name | Type | Description |
---|---|---|
v | number | 相除的标量 |
target? | Vector3 | 输出Vector3向量 |
Returns
Defined in
src/engine/math/Vector3.ts:841
lerp
▸ lerp(v0
, v1
, t
): void
计算两个Vector3之间的线性插值,结果为当前对象
Parameters
Name | Type | Description |
---|---|---|
v0 | Vector3 | 向量1 |
v1 | Vector3 | 向量2 |
t | number | 时刻 |
Returns
void
Defined in
src/engine/math/Vector3.ts:862
clamp
▸ clamp(min
, max
): Vector3
将该向量x分量、 y分量以及z分量向上取整为最接近的整数。
Parameters
Name | Type | Description |
---|---|---|
min | Vector3 | x值、y值和z的最小值。 |
max | Vector3 | x值、y值和z的最大值。 |
Returns
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
Name | Type |
---|---|
dir | Vector3 |
tp1 | Vector3 |
tp2 | Vector3 |
width | number |
aix | Vector3 |
Returns
void
Defined in
src/engine/math/Vector3.ts:976
pointToLine
▸ Static
pointToLine(point1
, point2
, position
): number
Parameters
Name | Type |
---|---|
point1 | Vector3 |
point2 | Vector3 |
position | Vector3 |
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
Name | Type |
---|---|
byte | DataView |
Returns
void
Defined in
src/engine/math/Vector3.ts:1055
cross
▸ cross(a
, target?
): Vector3
两个Vector3进行叉乘 this 叉乘 a 叉乘后的结果是这两条向量的垂直向量
Parameters
Name | Type | Default value | Description |
---|---|---|---|
a | Vector3 | undefined | 求叉乘的另外一个向量 |
target | Vector3 | null | - |
Returns
Vector3 返回叉乘结果向量
Defined in
src/engine/math/Vector3.ts:1068
multiplyScalar
▸ multiplyScalar(scalar
): Vector3
Parameters
Name | Type |
---|---|
scalar | number |
Returns
Defined in
src/engine/math/Vector3.ts:1077
setFromArray
▸ setFromArray(array
, firstElementPos?
): void
Parameters
Name | Type | Default value |
---|---|---|
array | number [] | undefined |
firstElementPos | number | 0 |
Returns
void
Defined in
src/engine/math/Vector3.ts:1085
divideScalar
▸ divideScalar(scalar
): Vector3
Parameters
Name | Type |
---|---|
scalar | any |
Returns
Defined in
src/engine/math/Vector3.ts:1091
clampLength
▸ clampLength(min
, max
): Vector3
Parameters
Name | Type |
---|---|
min | number |
max | number |
Returns
Defined in
src/engine/math/Vector3.ts:1095
cross
▸ Static
cross(a
, b
, target?
): Vector3
Parameters
Name | Type | Default value |
---|---|---|
a | Vector3 | undefined |
b | Vector3 | undefined |
target | Vector3 | null |
Returns
Defined in
src/engine/math/Vector3.ts:1100
dot
▸ Static
dot(a
, b
): number
计算两个向量的点积(dot product)。
Parameters
Name | Type | Description |
---|---|---|
a | Vector3 | 向量a |
b | Vector3 | 向量b |
Returns
number
Defined in
src/engine/math/Vector3.ts:1114
getPoints
▸ Static
getPoints(total
, randSeed
): any
[]
Parameters
Name | Type |
---|---|
total | number |
randSeed | number |
Returns
any
[]
Defined in
src/engine/math/Vector3.ts:1118
getPointNumbers
▸ Static
getPointNumbers(total
, randSeed
): any
[]
Parameters
Name | Type |
---|---|
total | number |
randSeed | number |
Returns
any
[]
Defined in
src/engine/math/Vector3.ts:1127
getAngle
▸ Static
getAngle(from
, to
): number
返回 源向量 与 目标向量 之间的角度(以度为单位)。
Parameters
Name | Type | Description |
---|---|---|
from | Vector3 | 源向量。 |
to | Vector3 | 目标向量。 |
Returns
number
Defined in
src/engine/math/Vector3.ts:1149
sqrMagnitude
▸ Static
sqrMagnitude(arg0
): number
Parameters
Name | Type |
---|---|
arg0 | Vector3 |
Returns
number
Defined in
src/engine/math/Vector3.ts:1154
getZYAngle
▸ Static
getZYAngle(zd
, yd
): number
Parameters
Name | Type |
---|---|
zd | Vector3 |
yd | Vector3 |
Returns
number
Defined in
src/engine/math/Vector3.ts:1158
sub
▸ Static
sub(a
, b
, target?
): Vector3
两个向量相减
Parameters
Name | Type | Default value | Description |
---|---|---|---|
a | Vector3 | undefined | 向量a |
b | Vector3 | undefined | 向量b |
target | Vector3 | null | 输出向量 |
Returns
Defined in
src/engine/math/Vector3.ts:1168
add
▸ Static
add(a
, b
, target?
): Vector3
两个向量相加
Parameters
Name | Type | Default value | Description |
---|---|---|---|
a | Vector3 | undefined | 向量a |
b | Vector3 | undefined | 向量b |
target | Vector3 | null | 输出向量 |
Returns
Defined in
src/engine/math/Vector3.ts:1184
setScalar
▸ setScalar(value
): Vector3
Parameters
Name | Type |
---|---|
value | number |