Matrix4 — Aspose.3D FOSS for Java

Enumerations

Matrix4 adalah matriks double-precision 4x4 yang digunakan untuk transformasi afine dalam ruang 3D. Ini dikembalikan oleh Transform.getTransformMatrix() dan GlobalTransform.getTransformMatrix(), dan dapat dibangun dari dekomposisi translasi, rotasi, dan skala (TRS).

Enumerations: com.aspose.threed

import com.aspose.threed.*;

Enumerations

EnumerationsEnumerations
Matrix4()Membuat matriks identitas
Matrix4(double m00, double m01, ... double m33)Membuat dari 16 elemen individual (row-major)

Field Statis

EnumerationsEnumerationsEnumerations
IDENTITYMatrix4Matriks identitas 4x4

Field Publik (Akses Elemen)

Matrix4 menggunakan field publik untuk mengakses elemen: m00, m01, … m33 (total 16 field, tata letak baris-major).

Pola bidangEnumerationsEnumerations
m00m33doubleElemen matriks individual sebagai field publik. Akses sebagai mat.m00, mat.m01, dll.

Komponen translasi berada di kolom terakhir: m03 (X), m13 (Y), m23 (Z).

Enumerations

EnumerationsTipe PengembalianEnumerations
multiply(Matrix4 other)Matrix4Perkalian matriks; mengembalikan matriks baru
inverse()Matrix4Mengembalikan matriks invers
transpose()Matrix4Mengembalikan matriks transpos
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: selalu mengembalikan false. Dimaksudkan untuk menguraikan matriks menjadi komponen TRS, tetapi belum diimplementasikan.
determinant()doubleMengembalikan determinan matriks
transformPoint(Vector3 point)Vector3Mengubah sebuah titik (menerapkan translasi penuh + rotasi + skala)
transformDirection(Vector3 direction)Vector3Mengubah vektor arah (menerapkan rotasi + skala, mengabaikan translasi)

Metode Statis

EnumerationsTipe PengembalianEnumerations
Matrix4.translate(Vector3 t)Matrix4Membuat matriks translasi
Matrix4.translate(double x, double y, double z)Matrix4Membuat matriks translasi dari komponen
Matrix4.scale(Vector3 s)Matrix4Membuat matriks skala
Matrix4.scale(double x, double y, double z)Matrix4Membuat matriks skala dari komponen
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Membuat matriks rotasi dari 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 Indonesia