Matrix4 — Aspose.3D FOSS for Java

Properties

Matrix4 ir 4x4 dubultprecizitātes matrica, ko izmanto afinām transformācijām 3D telpā. To atgriež Transform.getTransformMatrix() un GlobalTransform.getTransformMatrix(), un to var izveidot no pārvietošanas, rotācijas un mēroga (TRS) dekompozīcijām.

Properties: com.aspose.threed

import com.aspose.threed.*;

Properties

PropertiesProperties
Matrix4()Izveido vienības matricu
Matrix4(double m00, double m01, ... double m33)Izveido no 16 atsevišķiem elementiem (rindas secībā)

Statiskie lauki

PropertiesPropertiesProperties
IDENTITYMatrix44x4 vienības matrica

Publiskie lauki (Elementu piekļuve)

Matrix4 izmanto publiskus laukus elementa piekļuvei: m00, m01, … m33 (kopā 16 lauki, rindas galvenā kārtība).

Lauka paraugsPropertiesProperties
m00m33doubleIndividuāli matricas elementi kā publiski lauki. Piekļūst kā mat.m00, mat.m01, utt.

Pārvietošanas komponentes ir pēdējā kolonnā: m03 (X), m13 (Y), m23 (Z).

Properties

PropertiesAtgriešanas tipsProperties
multiply(Matrix4 other)Matrix4Matricas reizināšana; atgriež jaunu matricu
inverse()Matrix4Atgriež inverso matricu
transpose()Matrix4Atgriež transponētu matricu
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanStub: vienmēr atgriež false. Domāts, lai sadalītu matricu TRS komponentēs, bet vēl nav īstenots.
determinant()doubleAtgriež matricas determinantu
transformPoint(Vector3 point)Vector3Transformē punktu (pielieto pilnu translation + rotation + scale)
transformDirection(Vector3 direction)Vector3Transformē virziena vektoru (pielieto rotation + scale, ignorē translation)

Statiskās metodes

PropertiesAtgriešanas tipsProperties
Matrix4.translate(Vector3 t)Matrix4Izveido pārvietošanas matricu
Matrix4.translate(double x, double y, double z)Matrix4Izveido pārvietošanas matricu no komponentēm
Matrix4.scale(Vector3 s)Matrix4Izveido skalēšanas matricu
Matrix4.scale(double x, double y, double z)Matrix4Izveido skalēšanas matricu no komponentēm
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Izveido rotācijas matricu no kvaterniona

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

Skatīt arī

 Latviešu