Class: Quaternion
四元数,主要用于在三维世界描述旋转
const a = new Quaternion(0, 0, 0, 0);
Hierarchy
-
default
↳
Quaternion
Constructors
constructor
• new Quaternion(x?
, y?
, z?
, w?
): Quaternion
Parameters
Name | Type | Default value | Description |
---|---|---|---|
x | number | 0 | x 坐标,默认为 0 |
y | number | 0 | y 坐标,默认为 0 |
z | number | 0 | z 坐标,默认为 0 |
w | number | 0 | w 坐标,默认为 0 |
Returns
Overrides
Vector.constructor
Defined in
Properties
elements
• elements: Float32Array
| Float64Array
Overrides
Vector.elements
Defined in
Accessors
x
• get
x(): number
获取 x 值
Returns
number
number;
Defined in
• set
x(x
): void
设置 x 值
Parameters
Name | Type |
---|---|
x | number |
Returns
void
Defined in
y
• get
y(): number
获取 y 值
Returns
number
number;
Defined in
• set
y(y
): void
设置 y 值
Parameters
Name | Type |
---|---|
y | number |
Returns
void
Defined in
z
• get
z(): number
获取 z 值
Returns
number
number;
Defined in
• set
z(z
): void
设置 z 值
Parameters
Name | Type |
---|---|
z | number |
Returns
void
Defined in
w
• get
w(): number
获取 w 值
Returns
number
number;
Defined in
• set
w(w
): void
设置 w 值
Parameters
Name | Type |
---|---|
w | number |
Returns
void
Defined in
Methods
fromObject
▸ fromObject(object
): Quaternion
从对象赋值 Quaternion 的 x、y 、z、w 值
Parameters
Name | Type |
---|---|
object | Object |
object.x | any |
object.y | any |
object.z | any |
object.w | any |
Returns
Defined in
toObject
▸ toObject(): Object
转换到对象
Returns
Object
Name | Type |
---|---|
x | number |
y | number |
z | number |
w | number |
Defined in
fromAxisAngle
▸ fromAxisAngle(axis
, rad
): Quaternion
给定的角度和旋转轴设置此四元数的值
Parameters
Name | Type |
---|---|
axis | Vector3 |
rad | number |
Returns
Defined in
getAxisAngle
▸ getAxisAngle(axis?
): any
从此四元数获取旋转轴和旋转角度
Parameters
Name | Type |
---|---|
axis | Vector3 |
Returns
any
Defined in
fromEuler
▸ fromEuler(e
): Quaternion
从给定的欧拉角 e 创建四元数
Parameters
Name | Type |
---|---|
e | Euler |
Returns
Defined in
fromMat3
▸ fromMat3(m
): Quaternion
从给定的 3x3 旋转矩阵创建四元数
Parameters
Name | Type |
---|---|
m | Matrix3 |
Returns
Defined in
set
▸ set(x
, y
, z
, w
): Quaternion
Parameters
Name | Type |
---|---|
x | any |
y | any |
z | any |
w | any |
Returns
Defined in
length
▸ length(): any
计算四元数的直线长度
Returns
any
Defined in
multiply
▸ multiply(a
, b?
): Quaternion
计算四元数的乘积
Parameters
Name | Type |
---|---|
a | Quaternion |
b? | Quaternion |
Returns
Defined in
slerp
▸ slerp(q
, t
): Quaternion
处理四元数之间的球面线性插值
Parameters
Name | Type |
---|---|
q | Quaternion |
t | number |
Returns
Defined in
invert
▸ invert(): Quaternion
翻转该四元数
Returns
Defined in
conjugate
▸ conjugate(): Quaternion
计算此四元数的旋转共轭(围绕旋转轴在相反方向上的旋转)
Returns
Defined in
normalize
▸ normalize(): Quaternion
(归一化)四元数。 即计算与该四元数具有相同旋转、但长度为1的四元数
Returns
Defined in
dot
▸ dot(q
): any
计算四元数 q 与当前四元数的点积
Parameters
Name | Type |
---|---|
q | Quaternion |
Returns
any
Defined in
angleTo
▸ angleTo(q
): any
以弧度返回该四元数与四元数 q 之间的夹角。
Parameters
Name | Type |
---|---|
q | Quaternion |
Returns
any
Defined in
clone
▸ clone(): Quaternion
创建一个与该四元数具有相同x、y、z和w 属性的四元数
Returns
Defined in
copy
▸ copy(q
): Quaternion
复制四元数 q 的 x、y、z 和 w 属性到该四元数中。
Parameters
Name | Type |
---|---|
q | Quaternion |
Returns
Defined in
equals
▸ equals(q
): any
比较两个四元数是否相同
Parameters
Name | Type |
---|---|
q | Quaternion |
Returns
any
Defined in
onChange
▸ onChange(fn
): void
监听四元数变更
Parameters
Name | Type | Description |
---|---|---|
fn | ICallback | 回调函数 |
Returns
void
Defined in
triggerChange
▸ triggerChange(): void
触发所有的回调函数
Returns
void
Defined in
toString
▸ toString(): string
转换为字符串
Returns
string
Defined in
fromArray
▸ fromArray(array
, offset?
): Quaternion
从数组构建向量数据
Parameters
Name | Type | Default value | Description |
---|---|---|---|
array | any | undefined | 原始数组 |
offset | number | 0 | 数组偏移量 |
Returns
Inherited from
Vector.fromArray
Defined in
toArray
▸ toArray(out?
, offset?
): Float32Array
| Float64Array
| number
[]
从向量转换到数组
Parameters
Name | Type | Default value | Description |
---|---|---|---|
out | Float32Array | Float64Array | number [] | [] | 输出数据 |
offset | number | 0 | 偏移量 |
Returns
Float32Array
| Float64Array
| number
[]
Inherited from
Vector.toArray