Matrix4 — Aspose.3D FOSS for Java

Example

Matrix4 3B uzayda afin dönüşümler için kullanılan 4x4 çift duyarlıklı bir matristir. Şu tarafından döndürülür Transform.getTransformMatrix() ve GlobalTransform.getTransformMatrix(), ve çeviri, döndürme ve ölçek (TRS) ayrıştırmalarından oluşturulabilir.

Example: com.aspose.threed

import com.aspose.threed.*;

Example

ExampleExample
Matrix4()Bir birim matris oluşturur
Matrix4(double m00, double m01, ... double m33)16 ayrı elemandan (satır‑öncelikli) oluşturur

Statik Alanlar

ExampleExampleExample
IDENTITYMatrix44x4 birim matris

Genel Alanlar (Eleman Erişimi)

Matrix4 kullanır public alanlar eleman erişimi için: m00, m01, … m33 (toplam 16 alan, satır‑öncelikli düzen).

Alan deseniExampleExample
m00m33doubleBireysel matris elemanları public alanlar olarak. Şu şekilde erişilir mat.m00, mat.m01, vb.

Çeviri bileşenleri son sütunda bulunur: m03 (X), m13 (Y), m23 (Z).

Example

ExampleDönüş TipiExample
multiply(Matrix4 other)Matrix4Matris çarpımı; yeni bir matris döndürür
inverse()Matrix4Ters matrisi döndürür
transpose()Matrix4Transpoze matrisi döndürür
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)booleanTaslak: her zaman döndürür false. Matrisin TRS bileşenlerine ayrılmasını amaçlar, ancak henüz uygulanmadı.
determinant()doubleMatrisin determinantını döndürür
transformPoint(Vector3 point)Vector3Bir noktayı dönüştürür (tam çeviri + dönüş + ölçekleme uygular)
transformDirection(Vector3 direction)Vector3Bir yön vektörünü dönüştürür (dönüş + ölçekleme uygular, çeviriyi yok sayar)

Statik Metotlar

ExampleDönüş TipiExample
Matrix4.translate(Vector3 t)Matrix4Bir çeviri matrisi oluşturur
Matrix4.translate(double x, double y, double z)Matrix4Bileşenlerden bir çeviri matrisi oluşturur
Matrix4.scale(Vector3 s)Matrix4Bir ölçekleme matrisi oluşturur
Matrix4.scale(double x, double y, double z)Matrix4Bileşenlerden bir ölçekleme matrisi oluşturur
Matrix4.rotateFromQuaternion(Quaternion q)Matrix4Bir kuaterniondan rotasyon matrisi oluşturur

Example

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

Ayrıca Bakınız

 Türkçe