Matrix4 — Aspose.3D FOSS for Java

FbxSaveOptions

Matrix4 è una matrice 4x4 a doppia precisione usata per le trasformazioni affini nello spazio 3D. Viene restituita da Transform.getTransformMatrix() e GlobalTransform.getTransformMatrix(), e può essere costruita da decomposizioni di traslazione, rotazione e scala (TRS).

FbxSaveOptions: com.aspose.threed

import com.aspose.threed.*;

FbxSaveOptions

FbxSaveOptionsFbxSaveOptions
Matrix4()Costruisce una matrice identità
Matrix4(double m00, double m01, ... double m33)Costruisce da 16 elementi individuali (row-major)

Static Fields → Campi statici

FbxSaveOptionsFbxSaveOptionsFbxSaveOptions
IDENTITYMatrix4La matrice identità 4x4

Public Fields (Element Access) → Campi pubblici (Accesso agli elementi)

Matrix4 usa campi pubblici per l’accesso agli elementi: m00, m01, … m33 (16 campi in totale, layout row-major).

Modello di campoFbxSaveOptionsFbxSaveOptions
m00m33doubleElementi individuali della matrice come campi pubblici. Accesso come mat.m00, mat.m01, ecc.

I componenti di traslazione sono nell’ultima colonna: m03 (X), m13 (Y), m23 (Z).

FbxSaveOptions

FbxSaveOptionsTipo di ritornoFbxSaveOptions
multiply(Matrix4 other)Matrix4Moltiplicazione di matrici; restituisce una nuova matrice
inverse()Matrix4Restituisce la matrice inversa
transpose()Matrix4Restituisce la matrice trasposta
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: restituisce sempre false. Destinato a scomporre la matrice in componenti TRS, ma non ancora implementato.
determinant()doubleRestituisce il determinante della matrice
transformPoint(Vector3 point)Vector3Trasforma un punto (applica traduzione completa + rotazione + scala)
transformDirection(Vector3 direction)Vector3Trasforma un vettore di direzione (applica rotazione + scala, ignora la traduzione)

Static Methods → Metodi statici

FbxSaveOptionsTipo di ritornoFbxSaveOptions
Matrix4.translate(Vector3 t)Matrix4Crea una matrice di traduzione
Matrix4.translate(double x, double y, double z)Matrix4Crea una matrice di traduzione dai componenti
Matrix4.scale(Vector3 s)Matrix4Crea una matrice di scala
Matrix4.scale(double x, double y, double z)Matrix4Crea una matrice di scala dai componenti
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Crea una matrice di rotazione da un quaternione

FbxSaveOptions

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

Vedi anche

 Italiano