Matrix4

Example

Matrix4 es una matriz de doble precisión 4x4 utilizada para transformaciones afines en espacio 3D. Se devuelve por Transform.getTransformMatrix() y GlobalTransform.getTransformMatrix(), y puede construirse a partir de descomposiciones de traslación, rotación y escala (TRS).

Example: com.aspose.threed

import com.aspose.threed.*;

Example

ExampleExample
Matrix4()Construye una matriz identidad
Matrix4(double m00, double m01, ... double m33)Construye a partir de 16 elementos individuales (por filas)

Campos estáticos

ExampleExampleExample
IDENTITYMatrix4La matriz identidad 4x4

Campos públicos (Acceso a elementos)

Matrix4 utiliza campos públicos para el acceso a elementos: m00, m01, … m33 (16 campos en total, disposición por filas).

Patrón de campoExampleExample
m00 … m33doubleElementos individuales de la matriz como campos públicos. Acceda como mat.m00, mat.m01, etc.

Los componentes de traslación están en la última columna: m03 (X), m13 (Y), m23 (Z).

Example

ExampleTipo de retornoExample
multiply(Matrix4 other)Matrix4Multiplicación de matrices; devuelve una nueva matriz
inverse()Matrix4Devuelve la matriz inversa
transpose()Matrix4Devuelve la matriz transpuesta
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanBoceto: siempre devuelve false. Destinado a descomponer la matriz en componentes TRS, pero aún no implementado.
determinant()doubleDevuelve el determinante de la matriz
transformPoint(Vector3 point)Vector3Transforma un punto (aplica traslación completa + rotación + escala)
transformDirection(Vector3 direction)Vector3Transforma un vector de dirección (aplica rotación + escala, ignora la traslación)

Métodos estáticos

ExampleTipo de retornoExample
Matrix4.translate(Vector3 t)Matrix4Crea una matriz de traslación
Matrix4.translate(double x, double y, double z)Matrix4Crea una matriz de traslación a partir de componentes
Matrix4.scale(Vector3 s)Matrix4Crea una matriz de escala
Matrix4.scale(double x, double y, double z)Matrix4Crea una matriz de escala a partir de componentes
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Crea una matriz de rotación a partir de un cuaternión

Example

import com.aspose.threed.*;

Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("box");
node.getTransform().setTranslation(1.0, 2.0, 3.0);
node.getTransform().setEulerAngles(0.0, 45.0, 0.0);

// Read the transform matrix
Matrix4 m = node.getTransform().getTransformMatrix();
System.out.println("Translation X: " + m.m03);   // 1.0

// Matrix multiplication
Matrix4 translate = Matrix4.translate(5.0, 0.0, 0.0);
Matrix4 scale = Matrix4.scale(2.0, 2.0, 2.0);
Matrix4 combined = translate.multiply(scale);

// Inverse
Matrix4 inv = m.inverse();

// Transform a point
Vector3 point = new Vector3(1.0, 0.0, 0.0);
Vector3 transformed = m.transformPoint(point);
System.out.println(transformed);

Ver también

 Español