Skip to content
Vector4

基础类型 / Vector4

Vector4 Class
​

齐次向量


由分量 (x,y,z,w) 组成的 4D 齐次向量

Table of contents ​

Properties
​

w: number
w 分量
x: number
x 分量
y: number
y 分量
z: number
z 分量

Accessors
​

length(): number
计算向量长度 (模)
magnitude(a: Vector4): number
向量长度
negative(): Vector4
返回各个分量取反的新向量
normalized(): Vector4
返回一个归一化的新向量,但不影响本向量.
sqrLength(): number
计算向量长度 (模)的平方
sqrMagnitude(a: Vector4): number
向量长度平方
negOne(): Vector4
(-1, -1, -1, -1)
one(): Vector4
(1, 1, 1, 1)
zero(): Vector4
(0, 0, 0, 0)

Methods
​

add(a: Vector4, b: Vector4, outer?: Vector4): Vector4
两个向量相加
clone(a: Vector4): Vector4
获得指定向量的拷贝
divide(a: Vector4, b: Vector4, outer?: Vector4): Vector4
遍历向量a的每个分量除以数字b
equals(a: Vector4, b: Vector4, epsilon?: number): boolean
判断两向量排除浮点数误差是否近似等价
fromString(str: string, outer?: Vector4): Vector4
通过一个字符串创建 Vector4 对象
multiply(a: Vector4, b: Vector4, outer?: Vector4): Vector4
向量 a 的每个分量乘以标量 b
normalize(a: Vector4, outer?: Vector4): Vector4
归一化向量
strictEquals(a: Vector4, b: Vector4): boolean
判断两向量是否相等
subtract(a: Vector4, b: Vector4, outer?: Vector4): Vector4
向量 a 减去向量 b
toString(): string
输出为格式化字符串
add(a: Vector4, b: Vector4, outer?: Vector4): Vector4
两个向量相加
ceil(a: Vector4, outer?: Vector4): Vector4
逐元素向量向上取整
clone(a: Vector4): Vector4
获得指定向量的拷贝
copy(a: Vector4, b: Vector4): Vector4
向量 a 的值赋给向量 b
distance(a: Vector4, b: Vector4): number
两向量的欧氏距离
divide(a: Vector4, b: Vector4, outer?: Vector4): Vector4
遍历向量a的每个分量除以数字b
dot(a: Vector4, b: Vector4): number
点积
equals(a: Vector4, b: Vector4, epsilon?: number): boolean
判断两向量排除浮点数误差是否近似等价
floor(a: Vector4, outer?: Vector4): Vector4
逐元素向量向下取整
fromString(str: string, outer?: Vector4): Vector4
通过一个字符串创建 Vector4 对象
invert(a: Vector4, outer?: Vector4): Vector4
逐元素向量取倒数,接近 0 时返回 Infinity
invertSafe(a: Vector4, outer?: Vector4, epsilon?: number): Vector4
逐元素向量取倒数,接近 0 时返回 0
lerp(a: Vector4, b: Vector4, t: number, outer?: Vector4): Vector4
向量 a 每个元素线性插值: a + t * (b - a)
magnitude(a: Vector4): number
向量长度
max(a: Vector4, b: Vector4, outer?: Vector4): Vector4
逐元素向量最大值
min(a: Vector4, b: Vector4, outer?: Vector4): Vector4
逐元素向量最小值
moveTowards(current: Vector4, target: Vector4, maxDistanceDelta: number, outer?: Vector4): Vector4
向目标向量移动
multiply(a: Vector4, b: Vector4, outer?: Vector4): Vector4
向量 a 的每个分量乘以标量 b
negate(a: Vector4, outer?: Vector4): Vector4
逐元素向量取负
normalize(a: Vector4, outer?: Vector4): Vector4
归一化向量
round(a: Vector4, outer?: Vector4): Vector4
逐元素向量四舍五入取整
set(a: Vector4, x: number, y: number, z: number, w: number): Vector4
设置向量值
sqrMagnitude(a: Vector4): number
向量长度平方
squaredDistance(a: Vector4, b: Vector4): number
两向量的欧氏距离平方
strictEquals(a: Vector4, b: Vector4): boolean
判断两向量是否相等
subtract(a: Vector4, b: Vector4, outer?: Vector4): Vector4
向量 a 减去向量 b

用给定的 x 值设定给 x,y,z,w

Parameters ​

x? number给定的 x 值 default:0.0 range: 不做限制 type: 浮点数

• new Vector4(x, y, z, w)

用给定的 x,y,z,w 分量构建一个新的 Vector4

Parameters ​

x number给定的 x 值 default:0.0 range: 不做限制 type: 浮点数
y number给定的 y 值 default:0.0 range: 不做限制 type: 浮点数
z number给定的 z 值 default:0.0 range: 不做限制 type: 浮点数
w number给定的 w 值 default:0.0 range: 不做限制 type: 浮点数

Properties ​

w
​

• w: number

w 分量


x
​

• x: number

x 分量


y
​

• y: number

y 分量


z
​

• z: number

z 分量

Accessors ​

length
​

• get length(): number

计算向量长度 (模)

Returns ​

number

magnitude
​

• get magnitude(): number

计算向量的长度

Parameters ​

a Vector4向量 a

Returns ​

number向量长度

negative
​

• get negative(): Vector4

返回各个分量取反的新向量

Returns ​

Vector4

normalized
​

• get normalized(): Vector4

返回一个归一化的新向量,但不影响本向量.

Returns ​

Vector4

sqrLength
​

• get sqrLength(): number

计算向量长度 (模)的平方

Returns ​

number

sqrMagnitude
​

• get sqrMagnitude(): number

计算向量的长度平方

Parameters ​

a Vector4向量 a

Returns ​

number向量长度平方

negOne
​

• Static get negOne(): Vector4

(-1, -1, -1, -1)

Returns ​

Vector4

one
​

• Static get one(): Vector4

(1, 1, 1, 1)

Returns ​

Vector4

zero
​

• Static get zero(): Vector4

(0, 0, 0, 0)

Returns ​

Vector4

Methods ​

add
​

• add(v): Vector4

加一个向量

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相加的结果 Vector4 对象

Parameters ​

v Vector4相加的向量对象

clone
​

• clone(): Vector4

克隆当前向量

Parameters ​

a Vector4向量 a

Returns ​

Vector4克隆得到的新 Vector4 对象

divide
​

• divide(v): Vector4

每个分量除以参数

Parameters ​

a Vector4向量 a
b number数字 b
range: 不限制 type:浮点数
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相除的结果 Vector4 对象

• Static divide(a, b, outer?): Vector4

向量 a 除以向量 b

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相除的结果 Vector4 对象

Parameters ​

v number相除的向量对象 range: 不做限制 type:浮点值
判断当前向量是否在误差范围内与向量a相等

Parameters ​

a Vector4向量 a
epsilon? number最小误差数 default:MathUtil.EPSILON
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

boolean是否相等

fromString
​

• fromString(str): void

读取字符串数据

Parameters ​

str string向量 a range:"0.000000,0.000000,0.000000,0.000000"
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4新创建的 Vector4 对象

Parameters ​

str string读取的字符串 range:"0.000000,0.000000,0.000000,0.000000"

multiply
​

• multiply(v): Vector4

乘以一个向量

Parameters ​

a Vector4向量 a
b number数字 b
range: 不限制 type:浮点数
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相乘的结果 Vector4 对象

• Static multiply(a, b, outer?): Vector4

向量 a 乘以向量 b

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相乘的结果 Vector4 对象

Parameters ​

v Vector4相乘的向量对象
将当前向量归一化

Returns ​

Vector4归一化后的自身对象

strictEquals
​

• strictEquals(a): boolean

判断当前向量是否与向量a相等

Parameters ​

a Vector4向量 a
b Vector4向量 b

Returns ​

boolean是否相等

subtract
​

• subtract(v): Vector4

减去一个向量

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相减的结果 Vector4 对象

Parameters ​

v Vector4相减的向量对象

toString
​

• toString(): string

输出为格式化字符串

Returns ​

stringVector4 对象值的字符串

add
​

• Static add(a, b, outer?): Vector4

两个向量相加

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相加的结果 Vector4 对象

ceil
​

• Static ceil(a, outer?): Vector4

逐元素向量向上取整

Parameters ​

a Vector4向量 a
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4逐元素向上取整得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


clone
​

• Static clone(a): Vector4

获得指定向量的拷贝

Parameters ​

a Vector4向量 a

Returns ​

Vector4克隆得到的新 Vector4 对象

copy
​

• Static copy(a, b): Vector4

向量 a 的值赋给向量 b

Parameters ​

a Vector4向量 a
b Vector4向量 b

Returns ​

Vector4向量a

distance
​

• Static distance(a, b): number

两向量的欧氏距离

Parameters ​

a Vector4向量 a
b Vector4向量 b

Returns ​

number两向量的欧氏距离

divide
​

• Static divide(a, b, outer?): Vector4

遍历向量a的每个分量除以数字b

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b number数字 b
range: 不限制 type:浮点数
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相除的结果 Vector4 对象

• Static divide(a, b, outer?): Vector4

向量 a 除以向量 b

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相除的结果 Vector4 对象

dot
​

• Static dot(a, b): number

点积

Parameters ​

a Vector4向量 a
b Vector4向量 b

Returns ​

number向量点积

equals
​

• Static equals(a, b, epsilon?): boolean

判断两向量排除浮点数误差是否近似等价

Parameters ​

a Vector4向量 a
b Vector4向量 b
epsilon? number最小误差数 对象 default:1.e-8
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

boolean是否相等

floor
​

• Static floor(a, outer?): Vector4

逐元素向量向下取整

Parameters ​

a Vector4向量 a
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4逐元素向下取整得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


fromString
​

• Static fromString(str, outer?): Vector4

通过一个字符串创建 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

str string向量 a range:"0.000000,0.000000,0.000000,0.000000"
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4新创建的 Vector4 对象

invert
​

• Static invert(a, outer?): Vector4

逐元素向量取倒数,接近 0 时返回 Infinity

Parameters ​

a Vector4向量 a
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4逐元素取倒数得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


invertSafe
​

• Static invertSafe(a, outer?, epsilon?): Vector4

逐元素向量取倒数,接近 0 时返回 0

Parameters ​

a Vector4向量 a
outer? Vector4接收结果的 Vector4 对象 default:null
epsilon? number最小误差数 default:MathUtil.EPSILON
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

Vector4逐元素取倒数得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


lerp
​

• Static lerp(a, b, t, outer?): Vector4

向量 a 每个元素线性插值: a + t * (b - a)

Parameters ​

a Vector4向量 a
b Vector4向量 b
t number插值
range:[0, 1] type:浮点数
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4插值得到的 Vector4 向量

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


magnitude
​

• Static magnitude(a): number

向量长度

Parameters ​

a Vector4向量 a

Returns ​

number向量长度

max
​

• Static max(a, b, outer?): Vector4

逐元素向量最大值

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4逐元素取最大值得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


min
​

• Static min(a, b, outer?): Vector4

逐元素向量最小值

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4逐元素向量取最小值得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


moveTowards
​

• Static moveTowards(current, target, maxDistanceDelta, outer?): Vector4

向目标向量移动

Parameters ​

current Vector4当前向量
target Vector4目标向量
maxDistanceDelta number最大平均移动距离
range: 不限制 type:浮点数
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4移动后的位置

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


multiply
​

• Static multiply(a, b, outer?): Vector4

向量 a 的每个分量乘以标量 b

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b number数字 b
range: 不限制 type:浮点数
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相乘的结果 Vector4 对象

• Static multiply(a, b, outer?): Vector4

向量 a 乘以向量 b

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相乘的结果 Vector4 对象

negate
​

• Static negate(a, outer?): Vector4

逐元素向量取负

Parameters ​

a Vector4向量 a
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4逐元素取负得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


normalize
​

• Static normalize(a, outer?): Vector4

归一化向量

Parameters ​

a Vector4向量 a
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4归一化后得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


round
​

• Static round(a, outer?): Vector4

逐元素向量四舍五入取整

Parameters ​

a Vector4向量 a
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4逐元素四舍五入取整得到的 Vector4 对象

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)


set
​

• Static set(a, x, y, z, w): Vector4

设置向量值

Parameters ​

a Vector4向量 a
x numberx 分量
range: 不限制 type:浮点数
y numbery 分量
range: 不限制 type:浮点数
z numberz 分量
range: 不限制 type:浮点数
w numberw 分量
range: 不限制 type:浮点数

Returns ​

Vector4修改后的向量a

sqrMagnitude
​

• Static sqrMagnitude(a): number

向量长度平方

Parameters ​

a Vector4向量 a

Returns ​

number向量长度平方

squaredDistance
​

• Static squaredDistance(a, b): number

两向量的欧氏距离平方

Parameters ​

a Vector4向量 a
b Vector4向量 b

Returns ​

number两向量的欧氏距离平方

strictEquals
​

• Static strictEquals(a, b): boolean

判断两向量是否相等

Parameters ​

a Vector4向量 a
b Vector4向量 b

Returns ​

boolean是否相等

subtract
​

• Static subtract(a, b, outer?): Vector4

向量 a 减去向量 b

outer 为可选参数。作用是:当传入 outer,计算结果会赋值给 outer。(传入的 outer 向量不能为 null/undefined)

Parameters ​

a Vector4向量 a
b Vector4向量 b
outer? Vector4接收结果的 Vector4 对象 default:null

Returns ​

Vector4相减的结果 Vector4 对象