Transform

Transformación 3D (matriz 3×4).

Descripción

Matriz de 3×4 (3 filas, 4 columnas) usada para transformaciones lineales 3D. Puede representar transformaciones como la traslación, la rotación o el escalado. Consta de una basis (3 primeras columnas) y un Vector3 para el origin (última columna).

Para más información, lea el artículo de documentación "Matrices y transformaciones".

Propiedades

Basis

basis

Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )

Vector3

origin

Vector3( 0, 0, 0 )

Constantes

  • IDENTITY = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) --- Transform sin aplicar traslación, rotación o escalamiento. Cuando se aplica a otras estructuras de datos, IDENTITY no realiza ninguna transformación.

  • FLIP_X = Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) --- Transform con el espejo aplicado perpendicularmente al plano YZ.

  • FLIP_Y = Transform( 1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0 ) --- Transform con el espejo aplicado perpendicularmente al plano XZ.

  • FLIP_Z = Transform( 1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0 ) --- Transform con el espejo aplicado perpendicularmente al plano XY.

Descripciones de Propiedades

Default

Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )

La base es una matriz que contiene 3 Vector3 como sus columnas: Eje X, eje Y y eje Z. Estos vectores pueden ser interpretados como los vectores base del sistema de coordenadas locales que viajan con el objeto.


Default

Vector3( 0, 0, 0 )

El desplazamiento de la translación en la transformada (columna 3, la cuarta columna). Equivalente al índice del array 3.

Descripciones de Métodos

Construye una Transformada a partir de cuatro valores Vector3 (columnas de la matriz). Cada eje corresponde a vectores de base local (algunos de los cuales pueden ser escalados).


Construye una transformada a partir de un Basis y un Vector3.


Construye una Transformada a partir de un Transform2D.


Construye una Transformada a partir de un Quat. El origen será Vector3(0, 0, 0).


Construye la Transformada desde un Basis. El origen será el Vector3(0, 0, 0).


Devuelve el inverso de la transformada, bajo el supuesto de que la transformación se compone de rotación, escalado y traslación.


Interpola la transformada a otra Transformación por cantidad de pesos (en el rango de 0.0 a 1.0).


Devuelve el inverso de la transformada, bajo el supuesto de que la transformación se compone de rotación y traslación (sin escalamiento, use affine_inverse para las transformadas con escalamiento).


Devuelve true si esta transformada y transform son aproximadamente iguales, llamando a is_equal_approx en cada componente.


Devuelve una copia de la transformación girada de tal manera que su eje -Z apunta hacia la posición target.

La transformación se girará primero alrededor del vector up dado, y luego se alineará completamente con el objetivo mediante una nueva rotación alrededor de un eje perpendicular tanto al vector target como al up.

Las operaciones tienen lugar en el espacio global.


Devuelve la transformada con la base ortogonal (90 grados), y los vectores del eje normalizado.


Gira la transformación alrededor del eje dado por el ángulo dado (en radianes), usando la multiplicación de la matriz. El eje debe ser un vector normalizado.


Base de escala y origen de la transformación por el factor de escala dado, utilizando la multiplicación de la matriz.


Traduce la transformación por el desplazamiento dado, relativo a los vectores base de la transformación.

A diferencia de rotated y scaled, éste no utiliza la multiplicación de la matriz.


Transforms the given Vector3, Plane, AABB, or PoolVector3Array by this transform.


Inverse-transforms the given Vector3, Plane, AABB, or PoolVector3Array by this transform, under the assumption that the transformation is composed of rotation and translation (no scaling). Equivalent to calling inverse().xform(v) on this transform. For affine transformations (e.g. with scaling) see affine_inverse method.