Matrix4 — Aspose.3D FOSS for Java

Properties

Matrix4 jest macierzą 4x4 podwójnej precyzji używaną do przekształceń afinicznych w przestrzeni 3D. Zwracana jest przez Transform.getTransformMatrix() i GlobalTransform.getTransformMatrix(), i może być skonstruowana z dekompozycji translacji, rotacji i skali (TRS).

Properties: com.aspose.threed

import com.aspose.threed.*;

Properties

PropertiesProperties
Matrix4()Tworzy macierz jednostkową
Matrix4(double m00, double m01, ... double m33)Tworzy z 16 pojedynczych elementów (w kolejności wierszowej)

Pola statyczne

PropertiesPropertiesProperties
IDENTITYMatrix4Macierz jednostkowa 4x4

Pola publiczne (dostęp do elementów)

Matrix4 używa publiczne pola do dostępu do elementu: m00, m01, … m33 (łącznie 16 pól, układ wierszowy).

Wzorzec polaPropertiesProperties
m00m33doublePoszczególne elementy macierzy jako publiczne pola. Dostęp jako mat.m00, mat.m01, itd.

Składowe translacji znajdują się w ostatniej kolumnie: m03 (X), m13 (Y), m23 (Z).

Properties

PropertiesTyp zwracanyProperties
multiply(Matrix4 other)Matrix4Mnożenie macierzy; zwraca nową macierz
inverse()Matrix4Zwraca macierz odwrotną
transpose()Matrix4Zwraca macierz transponowaną
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanSzkielet: zawsze zwraca false. Przeznaczone do rozłożenia macierzy na komponenty TRS, ale jeszcze nie zaimplementowano.
determinant()doubleZwraca wyznacznik macierzy
transformPoint(Vector3 point)Vector3Transformuje punkt (zastosowuje pełne translation + rotation + scale)
transformDirection(Vector3 direction)Vector3Transformuje wektor kierunku (zastosowuje rotation + scale, ignoruje translation)

Metody statyczne

PropertiesTyp zwracanyProperties
Matrix4.translate(Vector3 t)Matrix4Tworzy macierz translation
Matrix4.translate(double x, double y, double z)Matrix4Tworzy macierz translation z komponentów
Matrix4.scale(Vector3 s)Matrix4Tworzy macierz scale
Matrix4.scale(double x, double y, double z)Matrix4Tworzy macierz scale z komponentów
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Tworzy macierz rotation z quaternion

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

Zobacz także

 Polski