Matrix4 — Aspose.3D FOSS for Java

Example

Matrix4 is een 4x4 double-precision matrix die wordt gebruikt voor affiene transformaties in 3D-ruimte. Het wordt geretourneerd door Transform.getTransformMatrix() en GlobalTransform.getTransformMatrix(), en kan worden geconstrueerd uit translatie-, rotatie- en schaal (TRS) decomposities.

Example: com.aspose.threed

import com.aspose.threed.*;

Example

ExampleExample
Matrix4()Construeert een identiteitsmatrix
Matrix4(double m00, double m01, ... double m33)Construeert uit 16 individuele elementen (rij-major)

Statische velden

ExampleExampleExample
IDENTITYMatrix4De 4x4 identiteitsmatrix

Publieke velden (elementtoegang)

Matrix4 gebruikt publieke velden voor elementtoegang: m00, m01, … m33 (16 velden in totaal, rij-major indeling).

VeldpatroonExampleExample
m00m33doubleIndividuele matrixelementen als publieke velden. Toegang als mat.m00, mat.m01, enz.

Translatiescomponenten staan in de laatste kolom: m03 (X), m13 (Y), m23 (Z).

Example

ExampleRetourtypeExample
multiply(Matrix4 other)Matrix4Matrixvermenigvuldiging; retourneert een nieuwe matrix
inverse()Matrix4Retourneert de inverse matrix
transpose()Matrix4Retourneert de getransponeerde matrix
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: geeft altijd terug false. Bedoeld om de matrix te ontleden in TRS‑componenten, maar nog niet geïmplementeerd.
determinant()doubleRetourneert de determinant van de matrix
transformPoint(Vector3 point)Vector3Transformeert een punt (past volledige translatie + rotatie + schaal toe)
transformDirection(Vector3 direction)Vector3Transformeert een richtingsvector (past rotatie + schaal toe, negeert translatie)

Statische methoden

ExampleRetourtypeExample
Matrix4.translate(Vector3 t)Matrix4Maakt een translatiematrix
Matrix4.translate(double x, double y, double z)Matrix4Maakt een translatiematrix uit componenten
Matrix4.scale(Vector3 s)Matrix4Maakt een schaalmatrix
Matrix4.scale(double x, double y, double z)Matrix4Maakt een schaalmatrix uit componenten
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Maakt een rotatiematrix uit een 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);

Zie ook

 Nederlands