Example
Matrix4 ist eine 4x4-Doppelpräzisionsmatrix, die für affine Transformationen im 3D-Raum verwendet wird. Sie wird zurückgegeben von Transform.getTransformMatrix() und GlobalTransform.getTransformMatrix(), und kann aus Übersetzungs-, Rotations- und Skalierungszerlegungen (TRS) konstruiert werden.
Example: com.aspose.threed
Example
| Example | Example |
|---|
Matrix4() | Erstellt eine Einheitsmatrix |
Matrix4(double m00, double m01, ... double m33) | Erstellt aus 16 einzelnen Elementen (zeilenweise) |
Statische Felder
| Example | Example | Example |
|---|
IDENTITY | Matrix4 | Die 4x4-Einheitsmatrix |
Öffentliche Felder (Elementzugriff)
Matrix4 verwendet öffentliche Felder für den Elementzugriff: m00, m01, … m33 (insgesamt 16 Felder, zeilenweise Anordnung).
| Feldmuster | Example | Example |
|---|
m00 … m33 | double | Einzelne Matrixelemente als öffentliche Felder. Zugriff wie mat.m00, mat.m01, usw. |
Translationskomponenten befinden sich in der letzten Spalte: m03 (X), m13 (Y), m23 (Z).
Example
| Example | Rückgabetyp | Example |
|---|
multiply(Matrix4 other) | Matrix4 | Matrixmultiplikation; gibt eine neue Matrix zurück |
inverse() | Matrix4 | Gibt die inverse Matrix zurück |
transpose() | Matrix4 | Gibt die transponierte Matrix zurück |
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation) | boolean | Platzhalter: gibt immer zurück false. Vorgesehen, die Matrix in TRS-Komponenten zu zerlegen, aber noch nicht implementiert. |
determinant() | double | Gibt die Determinante der Matrix zurück |
transformPoint(Vector3 point) | Vector3 | Transformiert einen Punkt (wendet vollständige translation + rotation + scale an) |
transformDirection(Vector3 direction) | Vector3 | Transformiert einen Richtungsvektor (wendet rotation + scale an, ignoriert translation) |
Statische Methoden
| Example | Rückgabetyp | Example |
|---|
Matrix4.translate(Vector3 t) | Matrix4 | Erstellt eine translation matrix |
Matrix4.translate(double x, double y, double z) | Matrix4 | Erstellt eine translation matrix aus Komponenten |
Matrix4.scale(Vector3 s) | Matrix4 | Erstellt eine scale matrix |
Matrix4.scale(double x, double y, double z) | Matrix4 | Erstellt eine scale matrix aus Komponenten |
Matrix4.rotateFromQuaternion(Quaternion q) | Matrix4 | Erstellt eine rotation matrix aus einem Quaternion |
Example
Siehe auch