Matrix4 — Aspose.3D FOSS for Java

Example

Matrix4 és una matriu de doble precisió 4x4 utilitzada per a transformacions afins en l’espai 3D. Es retorna per Transform.getTransformMatrix() i GlobalTransform.getTransformMatrix(), i pot ser construïda a partir de descomposicions de translació, rotació i escala (TRS).

Example: com.aspose.threed

import com.aspose.threed.*;

Example

ExampleExample
Matrix4()Construeix una matriu d’identitat
Matrix4(double m00, double m01, ... double m33)Construeix a partir de 16 elements individuals (en ordre per files)

Camps estàtics

ExampleExampleExample
IDENTITYMatrix4La matriu d’identitat 4x4

Camps públics (Accés a elements)

Matrix4 utilitza camps públics per a l’accés a elements: m00, m01, … m33 (16 camps en total, disposició per files).

Patró de campExampleExample
m00m33doubleElements individuals de la matriu com a camps públics. Accés com a mat.m00, mat.m01, etc.

Els components de translació són a l’última columna: m03 (X), m13 (Y), m23 (Z).

Example

ExampleTipus de retornExample
multiply(Matrix4 other)Matrix4Multiplicació de matrius; retorna una nova matriu
inverse()Matrix4Retorna la matriu inversa
transpose()Matrix4Retorna la matriu transposada
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanEsbós: sempre retorna false. Destinat a descompondre la matriu en components TRS, però encara no s’ha implementat.
determinant()doubleRetorna el determinant de la matriu
transformPoint(Vector3 point)Vector3Transforma un punt (aplica la traslació completa + rotació + escala)
transformDirection(Vector3 direction)Vector3Transforma un vector de direcció (aplica rotació + escala, ignora la traslació)

Mètodes estàtics

ExampleTipus de retornExample
Matrix4.translate(Vector3 t)Matrix4Crea una matriu de traslació
Matrix4.translate(double x, double y, double z)Matrix4Crea una matriu de traslació a partir de components
Matrix4.scale(Vector3 s)Matrix4Crea una matriu d’escala
Matrix4.scale(double x, double y, double z)Matrix4Crea una matriu d’escala a partir de components
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Crea una matriu de rotació a partir d’un quaternion

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

Vegeu també

 Català