夸脱¶
类别: 内置类型
简要说明¶
四元数。
方法¶
cubic_slerp ( Quat b, Quat pre_a, Quat post_b, float t ) |
|
get_euler ( ) |
|
inverse ( ) |
|
is_normalized ( ) |
|
length ( ) |
|
length_squared ( ) |
|
normalized ( ) |
|
无效 |
set_axis_angle ( Vector3 axis, float angle ) |
无效 |
|
常量¶
IDENTITY = 四元(0,0,0,1)
描述¶
用于表示三维旋转的单位四元数。
它类似于 Basis 它实现了旋转的矩阵表示,并且可以同时使用轴角对或欧拉角进行参数化。但是由于它的紧凑性和存储方式,某些操作(特别是获取轴角度和执行SLERP)对于浮点错误更为有效和强大。
四元数需要(重新)规范化。
属性描述¶
float w
违约 |
1.0 |
四元数的w分量。
float x
违约 |
0.0 |
四元数的x分量。
float y
违约 |
0.0 |
四元数的y分量。
float z
违约 |
0.0 |
四元数的z分量。
方法说明¶
返回与给定四元数对应的旋转矩阵。
返回一个四元数,该四元数将执行由Euler Angles指定的旋转(在YXZ约定中:首先是Z,然后是X,最后是Y),以矢量格式指定为(X Angle,Y Angle,Z Angle)。
返回将围绕给定轴按指定角度旋转的四元数。轴必须是标准化向量。
返回由这些值定义的四元数。
使用另一个四元数执行三次球面线性插值。
返回两个四元数的点积。
Vector3 get_euler ( )
返回与单位四元数表示的旋转相对应的欧拉角(在YXZ约定中:先是Z,然后是X,最后是Y)。返回的向量包含格式为(x角、y角、z角)的旋转角度。
Quat inverse ( )
返回四元数的倒数。
bool is_normalized ( )
返回四元数是否规范化。
float length ( )
返回四元数的长度。
float length_squared ( )
返回四元数的长度,平方。
Quat normalized ( )
返回四元数的副本,已标准化为单位长度。
将四元数设置为围绕轴以指定角度(以弧度)旋转的旋转。轴必须是标准化向量。
void set_euler ( Vector3 euler )
将四元数设置为Euler Angles指定的旋转(在YXZ约定中:首先是Z,然后是X和Y Last),以矢量格式指定为(X Angle,Y Angle,Z Angle)。
使用另一个四元数执行球面线性插值。
使用另一个四元执行球面线性插值,而不检查旋转路径是否不大于90°。
变换矢量 v
四元数。