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 对象