Skip to content
Rotation

基础类型 / Rotation

Rotation Class
​

欧拉角


由分量 (x,y,z) 组成的三维空间中的旋转量。

Rotation 是三个欧拉角Pitch、Yaw、Roll的封装 绕三个轴的旋转值:Pitch,Yaw,Roll翻译为俯仰角,偏航角,翻滚角。分别代表绕X轴,Y轴,Z轴的旋转值。

Precautions

所有旋转值均以度为单位存储

Table of contents ​

Properties
​

x: number
旋转的 x 分量
y: number
旋转的 y 分量
z: number
旋转的 z 分量

Accessors
​

zero(): Rotation
获取一个空旋转的角度 (0, 0, 0)

Methods
​

add(a: Rotation, b: Rotation, outer?: Rotation): Rotation
旋转量a加上旋转量b
clone(): Rotation
克隆当前旋转量
equals(other: Rotation, epsilon?: number): boolean
判断当前角度是否在误差范围内与指定向量相等。
equalsAuthentic(other: Rotation, epsilon?: number): boolean
判断当前真实角度是否在误差范围内与指定向量相等。
fromQuaternion(v: Quaternion, outer?: Rotation): Rotation
转换Quaternion为Rotation
fromString(v: string, outer?: Rotation): Rotation
转换字符串数据为Rotation
fromVector(v: Vector, outer?: Rotation): Rotation
转换Vector为Rotation
getForce(outer?): Vector
获取此旋转后的方向向量
getInverse(outer?: Rotation): Rotation
返回一个新的反向旋转。
multiply(a: Rotation, b: Rotation, outer?: Rotation): Rotation
当前旋转量乘以一个旋转量
rotateVector(v): Vector
当前角度旋转一个向量
set(v: Rotation): Rotation
当前旋转量设置为新的旋转量
strictEquals(other: Rotation): boolean
判断当前角度是否与指定向量相等。
subtract(a: Rotation, b: Rotation, outer?: Rotation): Rotation
当前旋转量减去一个旋转量
toQuaternion(): Quaternion
当前Rotation输出为四元数
toString(): string
当前Rotation输出为字符串
add(a: Rotation, b: Rotation, outer?: Rotation): Rotation
旋转量a加上旋转量b
copy(a: Rotation, outer: Rotation): Rotation
复制目标旋转
fromQuaternion(v: Quaternion, outer?: Rotation): Rotation
转换Quaternion为Rotation
fromString(v: string, outer?: Rotation): Rotation
转换字符串数据为Rotation
fromVector(v: Vector, outer?: Rotation): Rotation
转换Vector为Rotation
lerp(a: Rotation, b: Rotation, alpha: number): Rotation
对两个旋转量进行插值
multiply(a: Rotation, b: Rotation, outer?: Rotation): Rotation
当前旋转量乘以一个旋转量
subtract(a: Rotation, b: Rotation, outer?: Rotation): Rotation
当前旋转量减去一个旋转量

构建一个新的 Rotation。值为(0, 0, 0)

• new Rotation(vector)

用给定的 vector 中的x, y, z值设定给 x, y, z 。

Parameters ​

vector Vector给定的 vector

• new Rotation(forward, up)

构造一个旋转,将旋转 Vector.FORWARD 以指向给定的前向矢量的方向,向上矢量作为参考。

Precautions

如果向前和向上指向完全相同 (或相反)的方向,或者其中之一的长度为 0,则返回 (0, 0, 0)。

Parameters ​

forward Vector前向矢量
up Vector向上矢量

• new Rotation(rotation)

复制rotation,并返回一个新的。

Parameters ​

rotation Rotation复制的 Rotation 对象

• new Rotation(v)

通过四元数构造

Parameters ​

v Quaternion四元数

• new Rotation(x, y, z)

通过三个分量构造

Parameters ​

x number旋转的 x 分量 range: 不做限制 type: 浮点数
y number旋转的 y 分量 range: 不做限制 type: 浮点数
z number旋转的 z 分量 range: 不做限制 type: 浮点数

Properties ​

x
​

• x: number

旋转的 x 分量


y
​

• y: number

旋转的 y 分量


z
​

• z: number

旋转的 z 分量

Accessors ​

zero
​

• Static get zero(): Rotation

获取一个空旋转的角度 (0, 0, 0)

Returns ​

RotationRotation (0, 0, 0)

Methods ​

add
​

• add(a): Rotation

当前旋转量加上一个旋转量

Parameters ​

a Rotation旋转量a
b Rotation旋转量b
outer? Rotation接收结果的旋转量,即旋转相加的结果 default:null

Returns ​

Rotation相加的结果

Parameters ​

a Rotation旋转量

clone
​

• clone(): Rotation

克隆当前旋转量

Returns ​

Rotation返回一个新的旋转量

equals
​

• equals(other, epsilon?): boolean

判断当前角度是否在误差范围内与指定向量相等。

Parameters ​

other Rotation比对的旋转量
epsilon? number误差值
default:1.e-7
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

boolean比对的结果

equalsAuthentic
​

• equalsAuthentic(other, epsilon?): boolean

判断当前真实角度是否在误差范围内与指定向量相等。

Parameters ​

other Rotation比对的旋转量
epsilon? number误差值
default:1.e-7
range: 建议传入小于 1 的值。 type:浮点数

Returns ​

boolean比对的结果

fromQuaternion
​

• fromQuaternion(v): void

当前Rotation读取一个四元数

Parameters ​

v QuaternionQuaternion
outer? Rotation传入的Rotation对象 default:null

Returns ​

RotationRotation

Parameters ​

v Quaternion读取的四元数数据

fromString
​

• fromString(str): void

当前Rotation读取一个字符串数据

Parameters ​

v string字符串 range:"0.00000,0.00000,0.00000"
outer? Rotation传入的Rotation对象 default:null

Returns ​

RotationRotation

Parameters ​

str string字符串数据 range:"P=-431602080.000000 Y=-431602080.000000 R=-431602080.000000"

fromVector
​

• fromVector(v): void

当前Rotation读取一个Vector

Parameters ​

v VectorVector
outer? Rotation传入的Rotation对象 default:null

Returns ​

RotationRotation

Parameters ​

v Vector读取的向量数据

getForce
​

• getForce(outer?): Vector

获取此旋转后的方向向量

Parameters ​

outer? Vector被写入数据的向量, 传入的 outer 不能为null/undefined default:null

Returns ​

Vector旋转的方向向量

Precautions

如果 outer 不为空, 返回 outer,否则返回一个新的 Rotation 对象, 建议传入 outer 来减少 new 对象且 outer 不能为 null/undefined


getInverse
​

• getInverse(outer?): Rotation

返回一个新的反向旋转。

Parameters ​

outer? Rotation被写入数据的旋转量 default:null

Returns ​

Rotation反方向的旋转

Precautions

如果 outer 不为空, 返回 outer,否则返回一个新的 Rotation 对象, 建议传入 outer 来减少 new 对象且 outer 不能为 null/undefined


multiply
​

• multiply(v): Rotation

当前旋转量乘以一个旋转量 (相当于四元数叉乘)

Parameters ​

a Rotation旋转量a
b Rotation旋转量b
outer? Rotation接收结果的旋转量变量 default:null

Returns ​

Rotation相乘的结果

Parameters ​

v Rotation旋转量

rotateVector
​

• rotateVector(v): Vector

当前角度旋转一个向量

Parameters ​

v Vector被旋转的向量

Returns ​

Vector旋转后的向量

set
​

• set(v): Rotation

当前旋转量设置为新的旋转量

Parameters ​

v Rotation旋转量

Returns ​

Rotation旋转量

• set(x, y, z): Rotation

为当前旋转量设置每个分量

Parameters ​

x number旋转的 x 分量 range:不做限制 type: 浮点数
y number旋转的 y 分量 range:不做限制 type: 浮点数
z number旋转的 z 分量 range:不做限制 type: 浮点数

Returns ​

Rotation旋转量

strictEquals
​

• strictEquals(other): boolean

判断当前角度是否与指定向量相等。

Parameters ​

other Rotation比对的旋转量

Returns ​

boolean比对的结果

subtract
​

• subtract(a): Rotation

当前旋转量减去一个旋转量

Parameters ​

a Rotation旋转量a
b Rotation旋转量b
outer? Rotation接收结果的旋转量变量 default:null

Returns ​

Rotation相减的结果

Parameters ​

a Rotation旋转量

toQuaternion
​

• toQuaternion(): Quaternion

当前Rotation输出为四元数

Returns ​

Quaternion输出的四元数

toString
​

• toString(): string

当前Rotation输出为字符串

Returns ​

string输出的字符串数据

add
​

• Static add(a, b, outer?): Rotation

旋转量a加上旋转量b

Precautions

outer 不能为 null/undefined

Parameters ​

a Rotation旋转量a
b Rotation旋转量b
outer? Rotation接收结果的旋转量,即旋转相加的结果 default:null

Returns ​

Rotation相加的结果

copy
​

• Static copy(a, outer): Rotation

复制目标旋转

Parameters ​

a Rotation目标旋转
outer Rotation接收结果的旋转

Returns ​

Rotation拷贝得到的新旋转对象

Precautions

outer 不能为 null/undefined


fromQuaternion
​

• Static fromQuaternion(v, outer?): Rotation

转换Quaternion为Rotation

Precautions

如果 outer 不为空, 返回 outer,否则返回一个新的 Rotation 对象, 建议传入 outer 来减少 new 对象且 outer 不能为 null/undefined

Parameters ​

v QuaternionQuaternion
outer? Rotation传入的Rotation对象 default:null

Returns ​

RotationRotation

fromString
​

• Static fromString(v, outer?): Rotation

转换字符串数据为Rotation

Precautions

如果 outer 不为空, 返回 outer,否则返回一个新的 Rotation 对象, 建议传入 outer 来减少 new 对象且 outer 不能为 null/undefined

Parameters ​

v string字符串 range:"0.00000,0.00000,0.00000"
outer? Rotation传入的Rotation对象 default:null

Returns ​

RotationRotation

fromVector
​

• Static fromVector(v, outer?): Rotation

转换Vector为Rotation

Precautions

如果 outer 不为空, 返回 outer,否则返回一个新的 Rotation 对象, 建议传入 outer 来减少 new 对象且 outer 不能为 null/undefined

Parameters ​

v VectorVector
outer? Rotation传入的Rotation对象 default:null

Returns ​

RotationRotation

lerp
​

• Static lerp(a, b, alpha): Rotation

对两个旋转量进行插值

Parameters ​

a Rotation旋转量 a
b Rotation旋转量 b
alpha number插值
range: [0, 1] type:浮点数

Returns ​

RotationRotation

multiply
​

• Static multiply(a, b, outer?): Rotation

当前旋转量乘以一个旋转量

Precautions

outer 不能为 null/undefined

Parameters ​

a Rotation旋转量a
b Rotation旋转量b
outer? Rotation接收结果的旋转量变量 default:null

Returns ​

Rotation相乘的结果

subtract
​

• Static subtract(a, b, outer?): Rotation

当前旋转量减去一个旋转量

Precautions

outer 不能为 null/undefined

Parameters ​

a Rotation旋转量a
b Rotation旋转量b
outer? Rotation接收结果的旋转量变量 default:null

Returns ​

Rotation相减的结果