Matrix4 — Aspose.3D FOSS for Java

FbxSaveOptions

Matrix4 je 4x4 matrica dvostruke preciznosti koja se koristi za afine transformacije u 3D prostoru. Vraća se od Transform.getTransformMatrix() i GlobalTransform.getTransformMatrix(), i može se konstruirati iz translacije, rotacije i skaliranja (TRS) dekompozicija.

FbxSaveOptions: com.aspose.threed

import com.aspose.threed.*;

FbxSaveOptions

FbxSaveOptionsFbxSaveOptions
Matrix4()Kreira jediničnu matricu
Matrix4(double m00, double m01, ... double m33)Konstrukcije od 16 pojedinačnih elemenata (redoslijed po redovima)

Statička polja

FbxSaveOptionsFbxSaveOptionsFbxSaveOptions
IDENTITYMatrix44x4 identitetna matrica

Javna polja (pristup elementima)

Matrix4 koristi javna polja za pristup elementu: m00, m01, … m33 (ukupno 16 polja, raspored po redovima).

Uzorak poljaFbxSaveOptionsFbxSaveOptions
m00m33doublePojedinačni elementi matrice kao javna polja. Pristupajte kao mat.m00, mat.m01, itd.

Komponente translacije su u posljednjem stupcu: m03 (X), m13 (Y), m23 (Z).

FbxSaveOptions

FbxSaveOptionsPovratni tipFbxSaveOptions
multiply(Matrix4 other)Matrix4Množenje matrica; vraća novu matricu
inverse()Matrix4Vraća inverznu matricu
transpose()Matrix4Vraća transponiranu matricu
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: uvijek vraća false. Namijenjeno za razlaganje matrice na TRS komponente, ali još nije implementirano.
determinant()doubleVraća determinantu matrice
transformPoint(Vector3 point)Vector3Transformira točku (primjenjuje potpunu translaciju + rotaciju + skaliranje)
transformDirection(Vector3 direction)Vector3Transformira vektor smjera (primjenjuje rotaciju + skaliranje, zanemaruje translaciju)

Statičke metode

FbxSaveOptionsTip povratne vrijednostiFbxSaveOptions
Matrix4.translate(Vector3 t)Matrix4Stvara matricu translacije
Matrix4.translate(double x, double y, double z)Matrix4Stvara matricu translacije iz komponenti
Matrix4.scale(Vector3 s)Matrix4Stvara matricu skaliranja
Matrix4.scale(double x, double y, double z)Matrix4Stvara matricu skaliranja iz komponenti
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Stvara matricu rotacije iz kvaterniona

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

Vidi također

 Hrvatski