Matrix4 — Aspose.3D FOSS for Java

Properties

Matrix4 er en 4x4 dobbelpresisjon-matrise som brukes for afffine transformasjoner i 3D-rom. Den returneres av Transform.getTransformMatrix() og GlobalTransform.getTransformMatrix(), og kan konstrueres fra translasjon, rotasjon og skalering (TRS) dekomposisjoner.

Properties: com.aspose.threed

import com.aspose.threed.*;

Properties

PropertiesProperties
Matrix4()Konstruerer en identitetsmatrise
Matrix4(double m00, double m01, ... double m33)Konstruerer fra 16 individuelle elementer (rad-major)

Statisk felter

PropertiesPropertiesProperties
IDENTITYMatrix4Den 4x4 identitetsmatrisen

Offentlige felter (Elementtilgang)

Matrix4 bruker offentlige felter for elementtilgang: m00, m01, … m33 (16 felter totalt, rad-major layout).

FeltmønsterPropertiesProperties
m00m33doubleIndividuelle matriseelementer som offentlige felter. Tilgang som mat.m00, mat.m01, osv.

Translasjonskomponentene er i den siste kolonnen: m03 (X), m13 (Y), m23 (Z).

Properties

PropertiesReturtypeProperties
multiply(Matrix4 other)Matrix4Matrise-multiplikasjon; returnerer en ny matrise
inverse()Matrix4Returnerer den inverse matrisen
transpose()Matrix4Returnerer den transponerte matrisen
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: returnerer alltid false. Ment for å dekomponere matrisen i TRS-komponenter, men er ennå ikke implementert.
determinant()doubleReturnerer determinanten til matrisen
transformPoint(Vector3 point)Vector3Transformerer et punkt (utfører full translasjon + rotasjon + skalering)
transformDirection(Vector3 direction)Vector3Transformerer en retningsvektor (utfører rotasjon + skalering, ignorerer translasjon)

Statisk metoder

PropertiesReturtypeProperties
Matrix4.translate(Vector3 t)Matrix4Oppretter en translasjonsmatrise
Matrix4.translate(double x, double y, double z)Matrix4Oppretter en translasjonsmatrise fra komponenter
Matrix4.scale(Vector3 s)Matrix4Oppretter en skaleringsmatrise
Matrix4.scale(double x, double y, double z)Matrix4Oppretter en skaleringsmatrise fra komponenter
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Oppretter en rotasjonsmatrise fra en kvaternion

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

Se også

 Norsk