夸脱

类别: 内置类型

简要说明

四元数。

属性

float

w

1.0

float

x

0.0

float

y

0.0

float

z

0.0

方法

Quat

Quat ( Basis from )

Quat

Quat ( Vector3 euler )

Quat

Quat ( Vector3 axis, float angle )

Quat

Quat ( float x, float y, float z, float w )

Quat

cubic_slerp ( Quat b, Quat pre_a, Quat post_b, float t )

float

dot ( Quat b )

Vector3

get_euler ( )

Quat

inverse ( )

bool

is_normalized ( )

float

length ( )

float

length_squared ( )

Quat

normalized ( )

无效

set_axis_angle ( Vector3 axis, float angle )

无效

set_euler ( Vector3 euler )

Quat

slerp ( Quat b, float t )

Quat

slerpni ( Quat b, float t )

Vector3

xform ( Vector3 v )

常量

  • IDENTITY = 四元(0,0,0,1)

描述

用于表示三维旋转的单位四元数。

它类似于 Basis 它实现了旋转的矩阵表示,并且可以同时使用轴角对或欧拉角进行参数化。但是由于它的紧凑性和存储方式,某些操作(特别是获取轴角度和执行SLERP)对于浮点错误更为有效和强大。

四元数需要(重新)规范化。

属性描述

违约

1.0

四元数的w分量。

违约

0.0

四元数的x分量。

违约

0.0

四元数的y分量。

违约

0.0

四元数的z分量。

方法说明

返回与给定四元数对应的旋转矩阵。

返回一个四元数,该四元数将执行由Euler Angles指定的旋转(在YXZ约定中:首先是Z,然后是X,最后是Y),以矢量格式指定为(X Angle,Y Angle,Z Angle)。

返回将围绕给定轴按指定角度旋转的四元数。轴必须是标准化向量。

返回由这些值定义的四元数。

使用另一个四元数执行三次球面线性插值。

返回两个四元数的点积。

返回与单位四元数表示的旋转相对应的欧拉角(在YXZ约定中:先是Z,然后是X,最后是Y)。返回的向量包含格式为(x角、y角、z角)的旋转角度。

返回四元数的倒数。

  • bool is_normalized ( )

返回四元数是否规范化。

返回四元数的长度。

  • float length_squared ( )

返回四元数的长度,平方。

  • Quat normalized ( )

返回四元数的副本,已标准化为单位长度。

将四元数设置为围绕轴以指定角度(以弧度)旋转的旋转。轴必须是标准化向量。

将四元数设置为Euler Angles指定的旋转(在YXZ约定中:首先是Z,然后是X和Y Last),以矢量格式指定为(X Angle,Y Angle,Z Angle)。

使用另一个四元数执行球面线性插值。

使用另一个四元执行球面线性插值,而不检查旋转路径是否不大于90°。

变换矢量 v 四元数。