Matrix4 — Aspose.3D FOSS for Java

Enumerations

Matrix4 adalah matriks 4x4 berpresisi berganda yang digunakan untuk transformasi afine dalam ruang 3D. Ia dikembalikan oleh Transform.getTransformMatrix() dan GlobalTransform.getTransformMatrix(), dan boleh dibina daripada penguraian terjemahan, putaran, dan skala (TRS).

Enumerations: com.aspose.threed

import com.aspose.threed.*;

Enumerations

EnumerationsEnumerations
Matrix4()Membina matriks identiti
Matrix4(double m00, double m01, ... double m33)Membina daripada 16 elemen individu (row-major)

Medan Statik

EnumerationsEnumerationsEnumerations
IDENTITYMatrix4Matriks identiti 4x4

Medan Awam (Akses Elemen)

Matrix4 menggunakan medan awam untuk mengakses elemen: m00, m01, … m33 (16 medan keseluruhan, susun atur baris-utama).

Pola medanEnumerationsEnumerations
m00m33doubleElemen matriks individu sebagai medan awam. Akses sebagai mat.m00, mat.m01, dll.

Komponen terjemahan berada di lajur terakhir: m03 (X), m13 (Y), m23 (Z).

Enumerations

EnumerationsJenis PulanganEnumerations
multiply(Matrix4 other)Matrix4Pendaraban matriks; mengembalikan matriks baru
inverse()Matrix4Mengembalikan matriks terbalik
transpose()Matrix4Mengembalikan matriks tertranspos
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: sentiasa mengembalikan false. Dimaksudkan untuk memecah matriks menjadi komponen TRS, tetapi belum dilaksanakan.
determinant()doubleMengembalikan determinan matriks
transformPoint(Vector3 point)Vector3Menukar titik (melaksanakan terjemahan penuh + putaran + skala)
transformDirection(Vector3 direction)Vector3Menukar vektor arah (melaksanakan putaran + skala, mengabaikan terjemahan)

Kaedah Statik

EnumerationsJenis PulanganEnumerations
Matrix4.translate(Vector3 t)Matrix4Mencipta matriks terjemahan
Matrix4.translate(double x, double y, double z)Matrix4Mencipta matriks terjemahan daripada komponen
Matrix4.scale(Vector3 s)Matrix4Mencipta matriks skala
Matrix4.scale(double x, double y, double z)Matrix4Mencipta matriks skala daripada komponen
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Mencipta matriks putaran daripada quaternion

Enumerations

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

Lihat Juga

 Bahasa Melayu