Matrix4 — Aspose.3D FOSS for Java

Properties

Matrix4 é uma matriz 4x4 de dupla precisão usada para transformações afins em espaço 3D. É retornada por Transform.getTransformMatrix() e GlobalTransform.getTransformMatrix(), e pode ser construído a partir de decomposições de translação, rotação e escala (TRS).

Properties: com.aspose.threed

import com.aspose.threed.*;

Properties

PropertiesProperties
Matrix4()Constrói uma matriz identidade
Matrix4(double m00, double m01, ... double m33)Constrói a partir de 16 elementos individuais (row-major)

Campos Estáticos

PropertiesPropertiesProperties
IDENTITYMatrix4A matriz identidade 4x4

Campos Públicos (Acesso a Elementos)

Matrix4 usa campos públicos para acesso a elementos: m00, m01, … m33 (16 campos no total, layout row-major).

Padrão de campoPropertiesProperties
m00m33doubleElementos individuais da matriz como campos públicos. Acesse como mat.m00, mat.m01, etc.

Componentes de translação estão na última coluna: m03 (X), m13 (Y), m23 (Z).

Properties

PropertiesTipo de RetornoProperties
multiply(Matrix4 other)Matrix4Multiplicação de matriz; retorna uma nova matriz
inverse()Matrix4Retorna a matriz inversa
transpose()Matrix4Retorna a matriz transposta
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: sempre retorna false. Destinado a decompor a matriz em componentes TRS, mas ainda não implementado.
determinant()doubleRetorna o determinante da matriz
transformPoint(Vector3 point)Vector3Transforma um ponto (aplica translação completa + rotação + escala)
transformDirection(Vector3 direction)Vector3Transforma um vetor de direção (aplica rotação + escala, ignora translação)

Métodos Estáticos

PropertiesTipo de RetornoProperties
Matrix4.translate(Vector3 t)Matrix4Cria uma matriz de translação
Matrix4.translate(double x, double y, double z)Matrix4Cria uma matriz de translação a partir de componentes
Matrix4.scale(Vector3 s)Matrix4Cria uma matriz de escala
Matrix4.scale(double x, double y, double z)Matrix4Cria uma matriz de escala a partir de componentes
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Cria uma matriz de rotação a partir de um quaternion

Properties

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);

Veja Também

 Português