xr-frame / Exports / Quaternion
# Class: Quaternion
# Table of contents
# Constructors
# Properties
# Accessors
# Methods
- add
- angleTo
- clone
- dot
- equal
- fromPhysics
- invert
- isDefault
- length
- multiply
- normalize
- premultiply
- rotateTowards
- set
- setArray
- setFromEulerAngles
- setFromUnitVectors
- setFromYawRollPitch
- setValue
- slerp
- sub
- toAxisUnit
- toEulerAngles
- toPhysics
- transformVector3
- clearPhysicsPool
- createFromArray
- createFromAxisAngle
- createFromMatrix4
- createFromNumber
- createFromTypedArray
- createFromUnitVectors
- fromEulerAngles
- fromPhysics
- lookRotation
# Constructors
# constructor
• new Quaternion(raw?, offset?)
# Parameters
| Name | Type |
|---|---|
raw? | Float32Array |
offset? | number |
# Properties
# DEFAULT
▪ Static Readonly DEFAULT: Quaternion
默认四元数,不要对该对象进行修改
readonly
static
memberof Quaternion
# Phys3D
▪ Static Optional Phys3D: typeof phys3D
# Accessors
# w
• get w(): number
w值
memberof Quaternion
# Returns
number
• set w(val): void
w值
# Parameters
| Name | Type |
|---|---|
val | number |
# Returns
void
# x
• get x(): number
x值
memberof Quaternion
# Returns
number
• set x(val): void
x值
# Parameters
| Name | Type |
|---|---|
val | number |
# Returns
void
# y
• get y(): number
y值
memberof Quaternion
# Returns
number
• set y(val): void
y值
# Parameters
| Name | Type |
|---|---|
val | number |
# Returns
void
# z
• get z(): number
z值
memberof Quaternion
# Returns
number
• set z(val): void
z值
# Parameters
| Name | Type |
|---|---|
val | number |
# Returns
void
# Methods
# add
▸ add(quat, dst?): Quaternion
四元数相加
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
quat | Quaternion | 目标四元数 |
dst? | Quaternion | - |
# Returns
计算结果
# angleTo
▸ angleTo(q): number
相对角度
# Parameters
| Name | Type |
|---|---|
q | Quaternion |
# Returns
number
# clone
▸ clone(): Quaternion
拷贝四元数
memberof Quaternion
# Returns
拷贝后的对象
# dot
▸ dot(q): number
点乘
# Parameters
| Name | Type |
|---|---|
q | Quaternion |
# Returns
number
# equal
▸ equal(quat): boolean
判断与目标四元数的值是否相等
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
quat | Quaternion | 目标四元数 |
# Returns
boolean
# fromPhysics
▸ fromPhysics(v): Quaternion
# Parameters
| Name | Type |
|---|---|
v | RawQuaternion |
# Returns
# invert
▸ invert(dst?): Quaternion
四元数反转
memberof Quaternion
# Parameters
| Name | Type |
|---|---|
dst? | Quaternion |
# Returns
计算结果
# isDefault
▸ isDefault(): boolean
四元数是否为默认四元数(表示零旋转)
memberof Quaternion
# Returns
boolean
# length
▸ length(): number
# Returns
number
# multiply
▸ multiply(quat, dst?): Quaternion
四元数相乘
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
quat | Quaternion | 目标四元数 |
dst? | Quaternion | - |
# Returns
计算结果
# normalize
▸ normalize(): Quaternion
# Returns
# premultiply
▸ premultiply(q): Quaternion
# Parameters
| Name | Type |
|---|---|
q | Quaternion |
# Returns
# rotateTowards
▸ rotateTowards(q, step): Quaternion
转向对应的角度
# Parameters
| Name | Type |
|---|---|
q | any |
step | any |
# Returns
# set
▸ set(quat): Quaternion
拷贝目标四元数的值到自身
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
quat | Quaternion | 目标四元数 |
# Returns
自身
# setArray
▸ setArray(value, offset?): Quaternion
# Parameters
| Name | Type |
|---|---|
value | ArrayLike<number> |
offset? | number |
# Returns
# setFromEulerAngles
▸ setFromEulerAngles(euler): void
# Parameters
| Name | Type |
|---|---|
euler | Vector3 |
# Returns
void
# setFromUnitVectors
▸ setFromUnitVectors(vFrom, vTo): Quaternion
# Parameters
| Name | Type |
|---|---|
vFrom | any |
vTo | any |
# Returns
# setFromYawRollPitch
▸ setFromYawRollPitch(yaw, roll, pitch): void
# Parameters
| Name | Type |
|---|---|
yaw | number |
roll | number |
pitch | number |
# Returns
void
# setValue
▸ setValue(x, y, z, w): Quaternion
设置四元数的值
memberof Quaternion
# Parameters
| Name | Type |
|---|---|
x | number |
y | number |
z | number |
w | number |
# Returns
自身
# slerp
▸ slerp(right, t, dst?): Quaternion
球面插值
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
right | Quaternion | 目标四元数 |
t | number | 插值系数,越接近 1 则结果越接近目标 |
dst? | Quaternion | - |
# Returns
计算结果
# sub
▸ sub(quat, dst?): Quaternion
四元数相减
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
quat | Quaternion | 目标四元数 |
dst? | Quaternion | - |
# Returns
计算结果
# toAxisUnit
▸ toAxisUnit(): Vector3
对[1,1,1]向量进行转换。
# Returns
# toEulerAngles
▸ toEulerAngles(dst?): Vector3
将该四元数转换成欧拉角,x代表Pitch,y代表Yaw,z代表Roll 旋转的顺序为YXZ
memberof Quaternion
# Parameters
| Name | Type |
|---|---|
dst? | Vector3 |
# Returns
计算结果
# toPhysics
▸ toPhysics(): RawQuaternion
created by shanexyzhou 生成物理引擎内的RawQuaternion
# Returns
RawQuaternion
# transformVector3
▸ transformVector3(vec): Vector3
# Parameters
| Name | Type |
|---|---|
vec | Vector3 |
# Returns
# clearPhysicsPool
▸ Static clearPhysicsPool(): void
# Returns
void
# createFromArray
▸ Static createFromArray(array): Quaternion
使用一个数组创建 此操作会拷贝一份数组
static
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
array | number[] | 数据源,长度必须为4,否则会抛出异常 |
# Returns
# createFromAxisAngle
▸ Static createFromAxisAngle(axis, rad, dst?): Quaternion
从轴向旋转创建
static
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
axis | Vector3 | 旋转轴 |
rad | number | 旋转幅度 |
dst? | Quaternion | - |
# Returns
计算结果
# createFromMatrix4
▸ Static createFromMatrix4(mat, dst?): Quaternion
从旋转矩阵创建
static
memberof Quaternion
# Parameters
| Name | Type |
|---|---|
mat | Matrix4 |
dst? | Quaternion |
# Returns
# createFromNumber
▸ Static createFromNumber(x, y, z, w): Quaternion
使用数值创建
static
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
x | number | x |
y | number | y |
z | number | z |
w | number | w |
# Returns
创建出来的四元数
# createFromTypedArray
▸ Static createFromTypedArray(array, offset?): Quaternion
使用某个已有的typedArray创建 此操作不会拷贝数据,而是在原来的内存区域上操作
static
memberof Quaternion
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
array | Float32Array | undefined | 数据源 |
offset | number | 0 | - |
# Returns
# createFromUnitVectors
▸ Static createFromUnitVectors(vFrom, vTo): Quaternion
通过俩个向量创建四元数
# Parameters
# Returns
# fromEulerAngles
▸ Static fromEulerAngles(euler, dst?): Quaternion
从欧拉角创建四元数
static
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
euler | Vector3 | 欧拉角,x代表pitch,y代表yaw,z代表roll |
dst? | Quaternion | - |
# Returns
# fromPhysics
▸ Static fromPhysics(v): Quaternion
created by shanexyzhou 从物理引擎内的RawQuaternion生成Quaternion
# Parameters
| Name | Type |
|---|---|
v | RawQuaternion |
# Returns
# lookRotation
▸ Static lookRotation(forward, up, dst?): Quaternion
由视角方向创建四元数
static
memberof Quaternion
# Parameters
| Name | Type | Description |
|---|---|---|
forward | Vector3 | 前方向 |
up | Vector3 | 上方向 |
dst? | Quaternion | - |
# Returns
计算结果