基础类型 / 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
• | ||
|---|---|---|
计算向量长度 (模) Returns
|
magnitude
• get magnitude(): number
计算向量的长度
Parameters
a Vector4 | 向量 a |
|---|
Returns
number | 向量长度 |
|---|
negative
• | ||
|---|---|---|
返回各个分量取反的新向量 Returns
|
normalized
• | ||
|---|---|---|
返回一个归一化的新向量,但不影响本向量. Returns
|
sqrLength
• | ||
|---|---|---|
计算向量长度 (模)的平方 Returns
|
sqrMagnitude
• get sqrMagnitude(): number
计算向量的长度平方
Parameters
a Vector4 | 向量 a |
|---|
Returns
number | 向量长度平方 |
|---|
negOne
• | ||
|---|---|---|
(-1, -1, -1, -1) Returns
|
one
• | ||
|---|---|---|
(1, 1, 1, 1) Returns
|
zero
• |
|---|
(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
string | Vector4 对象值的字符串 |
|---|
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 number | x 分量 range: 不限制 type:浮点数 |
y number | y 分量 range: 不限制 type:浮点数 |
z number | z 分量 range: 不限制 type:浮点数 |
w number | w 分量 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 对象 |
|---|