Matrix4 — Aspose.3D FOSS for Java

Properties

Matrix4 est une matrice 4x4 en double précision utilisée pour les transformations affines dans l’espace 3D. Elle est renvoyée par Transform.getTransformMatrix() et GlobalTransform.getTransformMatrix(), et peut être construite à partir de décompositions de translation, rotation et mise à l’échelle (TRS).

Properties: com.aspose.threed

import com.aspose.threed.*;

Properties

PropertiesProperties
Matrix4()Construit une matrice identité
Matrix4(double m00, double m01, ... double m33)Construit à partir de 16 éléments individuels (row-major)

Champs statiques

PropertiesPropertiesProperties
IDENTITYMatrix4La matrice identité 4x4

Champs publics (accès aux éléments)

Matrix4 utilise champs publics pour l’accès aux éléments : m00, m01, … m33 (16 champs au total, mise en page row-major).

Modèle de champPropertiesProperties
m00m33doubleÉléments individuels de la matrice en tant que champs publics. Accès comme mat.m00, mat.m01, etc.

Les composantes de translation se trouvent dans la dernière colonne : m03 (X), m13 (Y), m23 (Z).

Properties

PropertiesType de retourProperties
multiply(Matrix4 other)Matrix4Multiplication de matrices ; renvoie une nouvelle matrice
inverse()Matrix4Renvoie la matrice inverse
transpose()Matrix4Renvoie la matrice transposée
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanÉbauche : renvoie toujours false. Destiné à décomposer la matrice en composants TRS, mais pas encore implémenté.
determinant()doubleRenvoie le déterminant de la matrice
transformPoint(Vector3 point)Vector3Transforme un point (applique la translation complète + rotation + mise à l’échelle)
transformDirection(Vector3 direction)Vector3Transforme un vecteur direction (applique rotation + mise à l’échelle, ignore la translation)

Méthodes statiques

PropertiesType de retourProperties
Matrix4.translate(Vector3 t)Matrix4Crée une matrice de translation
Matrix4.translate(double x, double y, double z)Matrix4Crée une matrice de translation à partir des composants
Matrix4.scale(Vector3 s)Matrix4Crée une matrice d’échelle
Matrix4.scale(double x, double y, double z)Matrix4Crée une matrice d’échelle à partir des composants
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Crée une matrice de rotation à partir d’un 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);

Voir aussi

 Français