基础类型 / 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 对象 |
---|