Skip to content
本页内容

Class: Quaternion

四元数用于表示旋转。

Properties

Constructors

Methods

Accessors

Properties

HELP_0

Static HELP_0: Quaternion

Defined in

src/engine/math/Quaternion.ts:9


HELP_1

Static HELP_1: Quaternion

Defined in

src/engine/math/Quaternion.ts:10


HELP_2

Static HELP_2: Quaternion

Defined in

src/engine/math/Quaternion.ts:11


_zero

Static _zero: Quaternion

Defined in

src/engine/math/Quaternion.ts:12


CALCULATION_QUATERNION

Static CALCULATION_QUATERNION: Quaternion

Defined in

src/engine/math/Quaternion.ts:13

Constructors

constructor

new Quaternion(x?, y?, z?, w?)

创建一个新的四元素对象

Parameters

NameTypeDefault valueDescription
xnumber0四元数的 X 分量。请勿直接修改四元数。
ynumber0四元数的 y 分量。请勿直接修改四元数。
znumber0四元数的 z 分量。请勿直接修改四元数。
wnumber1四元数的 w 分量。请勿直接修改四元数。

Defined in

src/engine/math/Quaternion.ts:38

Methods

identity

Static identity(): Quaternion

单位旋转。

Returns

Quaternion

Defined in

src/engine/math/Quaternion.ts:49


set

set(x?, y?, z?, w?): void

设置现有四元数的 x、y、z 和 w 分量。

Parameters

NameTypeDefault valueDescription
xnumber0四元数的 X 分量。请勿直接修改四元数。
ynumber0四元数的 y 分量。请勿直接修改四元数。
znumber0四元数的 z 分量。请勿直接修改四元数。
wnumber1四元数的 w 分量。请勿直接修改四元数。

Returns

void

Defined in

src/engine/math/Quaternion.ts:64


divide

divide(v): Quaternion

Parameters

NameType
vany

Returns

Quaternion

Defined in

src/engine/math/Quaternion.ts:71


multiply

multiply(qa, qb): void

两个四元素相乘

Parameters

NameTypeDescription
qaQuaternion四元数1
qbQuaternion四元数2

Returns

void

Defined in

src/engine/math/Quaternion.ts:97


multiplyVector

multiplyVector(vector, target?): Quaternion

Parameters

NameTypeDefault value
vectorVector3undefined
targetQuaternionnull

Returns

Quaternion

Defined in

src/engine/math/Quaternion.ts:113


fromAxisAngle

fromAxisAngle(axis, angle): void

从由轴和角度所给定的旋转来设置该四元数。

Parameters

NameTypeDescription
axisVector3
anglenumber弧度

Returns

void

Defined in

src/engine/math/Quaternion.ts:135


toAxisAngle

toAxisAngle(axis): number

把四元数转成角度返回

Parameters

NameTypeDescription
axisVector3指定轴

Returns

number

Defined in

src/engine/math/Quaternion.ts:153


slerp

slerp(qa, qb, t): void

两个四元数之间球形插值,插值之间提供旋转恒定角变化率。

Parameters

NameTypeDescription
qaQuaternion四元数1
qbQuaternion四元数2
tnumber插值时刻

Returns

void

Defined in

src/engine/math/Quaternion.ts:187


lerp

lerp(qa, qb, t): void

两个四元数之间的线性插值

Parameters

NameTypeDescription
qaQuaternion四元数1
qbQuaternion四元数2
tnumber插值时刻

Returns

void

Defined in

src/engine/math/Quaternion.ts:247


fromEulerAngles

fromEulerAngles(ax, ay, az): Quaternion

用数值表示给定的欧拉旋转填充四元数对象。

Parameters

NameTypeDescription
axnumberx轴旋转角度
aynumbery轴旋转角度
aznumberz轴旋转角度

Returns

Quaternion

Quaternion 四元数对象

Defined in

src/engine/math/Quaternion.ts:296


toEulerAngles

toEulerAngles(target?): Vector3

把四元数转成欧拉角返回

Retruns

Vector3D 转成的欧拉返回值

Parameters

NameTypeDefault valueDescription
targetVector3null默认参数为null,转成的欧拉返回值,如果为null就新建一个对象返回

Returns

Vector3

Defined in

src/engine/math/Quaternion.ts:333


setFromRotationMatrix

setFromRotationMatrix(m): Quaternion

创建一个旋转

Parameters

NameType
many

Returns

Quaternion

Defined in

src/engine/math/Quaternion.ts:365


getEulerAngles

getEulerAngles(eulers?): Vector3

返回一个旋转

Parameters

NameType
eulers?Vector3

Returns

Vector3

Defined in

src/engine/math/Quaternion.ts:416


normalize

normalize(val?): void

单位化四元数。将此四元数转换为单位系数。

Parameters

NameTypeDefault valueDescription
valnumber1单位系数,默认为1

Returns

void

Defined in

src/engine/math/Quaternion.ts:448


toString

toString(): string

以字符串形式返回四元数的值

Returns

string

Defined in

src/engine/math/Quaternion.ts:461


fromMatrix

fromMatrix(matrix): void

用一个旋转矩阵生成四元数

Parameters

NameTypeDescription
matrixany旋转矩阵

Returns

void

Defined in

src/engine/math/Quaternion.ts:524


inverse

inverse(target?): Quaternion

返回一个把当前四元数取逆后的四元数

Parameters

NameTypeDefault valueDescription
targetQuaternionnull默认参数为null,如果当前参数为null那么就会new一个新的四元数对象返回

Returns

Quaternion

Quaternion 四元数

Defined in

src/engine/math/Quaternion.ts:539


clone

clone(): Quaternion

克隆一个四元数

Returns

Quaternion

Quaternion 当前四元数复制后返回新对象.

Defined in

src/engine/math/Quaternion.ts:568


transformVector

transformVector(vector, target?): Vector3

旋转一个3量坐标点

Parameters

NameTypeDefault valueDescription
vectorVector3undefined被旋转的对象
targetVector3null默认参数为null,旋转后的坐标对象。如果为null,将创建一个新的对象

Returns

Vector3

Vector3D 返回旋转后的坐标对象

Defined in

src/engine/math/Quaternion.ts:587


copyFrom

copyFrom(q): void

将数据从四元数复制到该实例

Parameters

NameTypeDescription
qVector3 | Quaternion被复制的四元数对象

Returns

void

Defined in

src/engine/math/Quaternion.ts:620


mul

mul(lhs, rhs, target?): Quaternion

from untiy API op

Parameters

NameType
lhsQuaternion
rhsQuaternion
target?Quaternion

Returns

Quaternion

Defined in

src/engine/math/Quaternion.ts:632


quaternionToMatrix

Static quaternionToMatrix(q, m): void

将四元素转换为矩阵

Parameters

NameTypeDescription
qQuaternion四元素对象
many矩阵

Returns

void

Defined in

src/engine/math/Quaternion.ts:646

Accessors

magnitude

get magnitude(): number

Returns

number

Defined in

src/engine/math/Quaternion.ts:53