基础

类别: 内置类型

简要说明

3×3矩阵数据类型。

属性

Vector3

x

矢量3(1,0,0)

Vector3

y

矢量3(0,1,0)

Vector3

z

矢量3(0,0,1)

描述

用于三维旋转和缩放的3×3矩阵。包含3个向量字段x、y和z作为其列,这些列可以解释为转换的局部基向量。也可以作为三维矢量数组访问。这些向量彼此正交,但不一定是标准化的(由于缩放)。几乎总是用作 Transform .

对于这种用途,它由一个比例和一个旋转矩阵组成,顺序为(m=r.s)。

属性描述

违约

矢量3(1,0,0)

基矩阵的x向量。

违约

矢量3(0,1,0)

基矩阵的y向量。

违约

矢量3(0,0,1)

基矩阵的z矢量。

方法说明

从给定的四元数创建旋转矩阵。

从指定的Euler角度创建旋转矩阵(在YXZ约定中:首先是Z,然后是X,最后是Y),矢量格式为(X角度,Y角度,Z角度)。

创建一个旋转矩阵,该矩阵围绕给定轴以指定角度(以弧度)旋转。轴必须是标准化向量。

从3个轴向量创建矩阵。

返回矩阵的行列式。

假设矩阵是适当的旋转矩阵(行列式为+1的正交矩阵),返回欧拉角(在y x z约定中:先是z,然后是x,最后是y)。返回的向量包含格式为(x角、y角、z角)的旋转角度。

  • int get_orthogonal_index ( )

此函数考虑单位球面上24个旋转点的离散化,沿向量(x,y,z)放置,每个分量为-1,0或1,并返回最能代表对象方向的点的索引。它主要由网格地图编辑器使用。有关更多详细信息,请参阅godot源代码。

  • Quat get_rotation_quat ( )

假设矩阵是旋转和缩放的组合,则返回沿每个轴的缩放因子的绝对值。

返回矩阵的逆矩阵。

  • Basis orthonormalized ( )

返回矩阵的标准化正交版本(用于不时调用以避免正交矩阵的舍入错误)。这将在矩阵的基础上执行一个gram-schmidt正交化。

以phi(弧度)围绕给定轴进行附加旋转。轴必须是标准化向量。

引入由给定的三维比例因子指定的其他比例。

假设该矩阵是一个适当的旋转矩阵,SLERP用另一个旋转矩阵进行球面线性插值。

用矩阵的X轴转置的点积。

用矩阵的Y轴转置的点积。

用矩阵的Z轴转置的点积。

返回矩阵的转置版本。

返回被矩阵转换(相乘)的向量。

返回用转置矩阵转换(相乘)的向量。

注: 只有当矩阵表示旋转反射时,才会导致矩阵的逆矩阵相乘。