Matrix4

Inheritance: java.lang.Object

All Implemented Interfaces: com.aspose.threed.Struct, java.io.Serializable

public final class Matrix4 implements Struct<Matrix4>, Serializable

Implementasi matriks 4x4. Contoh:

Matrix4 mat = Matrix4.rotateFromEuler(90, 0, 0);
      Matrix4 mat2 = Matrix4.translate(0, 10, -50);
      Matrix4 transform = Matrix4.mul(mat2, mat);
      Vector4 pos = new Vector4(10, 9, 0, 1);
      Vector4 transformed = Matrix4.mul(transform, pos);

Konstruktor

KonstruktorDeskripsi
Matrix4(Vector4 r0, Vector4 r1, Vector4 r2, Vector4 r3)Membuat matriks dari 4 baris.
Matrix4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)Menginisialisasi instance baru dari struct Matrix4.
Matrix4(FMatrix4 m)Membuat Matrix4 dari instance FMatrix4
Matrix4(double[] m)Menginisialisasi instance baru dari struct Matrix4.
Matrix4()

Bidang

BidangDeskripsi
m00m00.
m01m01.
m02m02.
m03m03.
m10m10.
m11m11.
m12m12.
m13m13.
m20m20.
m21m21.
m22m22.
m23m23.
m30m30.
m31m31.
m32m32.
m33m33.

Metode

MetodeDeskripsi
clone()
concatenate(Matrix4 m2)Menggabungkan dua matriks
copyFrom(Matrix4 src)
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)Mendekomposisi matriks transformasi.
equals(Object obj)
getClass()
getDeterminant()Mendapatkan determinan matriks.
getIdentity()Mendapatkan matriks identitas.
hashCode()
inverse()Membalik instance ini.
mul(Matrix4 lhs, Matrix4 rhs)Mengalikan dua matriks
mul(Matrix4 lhs, Vector3 v)Mengalikan matriks dan vector3
mul(Matrix4 lhs, Vector4 v)Mengalikan matriks dan vector4
mul(Matrix4 lhs, double v)Kalikan matriks dengan nilai double
normalize()Menormalkan instance ini.
notify()
notifyAll()
rotate(Quaternion q)Membuat matriks rotasi dari quaternion
rotate(double angle, Vector3 axis)Membuat matriks rotasi dengan sudut rotasi dan sumbu
rotateFromEuler(Vector3 eul)Membuat matriks rotasi dari sudut Euler
rotateFromEuler(double rx, double ry, double rz)Membuat matriks rotasi dari sudut Euler
scale(Vector3 s)Membuat matriks yang menskalakan sepanjang sumbu x, sumbu y, dan sumbu z.
scale(double s)Membuat matriks yang menskalakan sepanjang sumbu x, sumbu y, dan sumbu z.
scale(double sx, double sy, double sz)Membuat matriks yang menskalakan sepanjang sumbu x, sumbu y, dan sumbu z.
setTRS(Vector3 translation, Vector3 rotation, Vector3 scale)Menginisialisasi matriks dengan translasi/rotasi/skala
toArray()Mengonversi matriks ke array.
toString()Mengembalikan java.lang.String yang merepresentasikan Matrix4 saat ini.
translate(Vector3 t)Membuat matriks yang mentranslasi sepanjang sumbu x, sumbu y, dan sumbu z
translate(double tx, double ty, double tz)Membuat matriks yang mentranslasi sepanjang sumbu x, sumbu y, dan sumbu z
transpose()Transposkan instance ini.
wait()
wait(long arg0)
wait(long arg0, int arg1)

Matrix4(Vector4 r0, Vector4 r1, Vector4 r2, Vector4 r3)

public Matrix4(Vector4 r0, Vector4 r1, Vector4 r2, Vector4 r3)

Membuat matriks dari 4 baris.

Parameters:

ParameterTipeDeskripsi
r0Vector4R0.
r1Vector4R1.
r2Vector4R2.
r3Vector4R3.

Matrix4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)

public Matrix4(double m00, double m01, double m02, double m03, double m10, double m11, double m12, double m13, double m20, double m21, double m22, double m23, double m30, double m31, double m32, double m33)

Menginisialisasi instance baru dari struct Matrix4.

Parameters:

ParameterTipeDeskripsi
m00doubleM00.
m01doubleM01.
m02doubleM02.
m03doubleM03.
m10doubleM10.
m11doubleM11.
m12doubleM12.
m13doubleM13.
m20doubleM20.
m21doubleM21.
m22doubleM22.
m23doubleM23.
m30doubleM30.
m31doubleM31.
m32doubleM32.
m33double
var mat = new Matrix4(
         1, 0, 0, 0,
         0, 1, 0, 0,
         0, 0, 1, 0,
         10, 20, 0, 1);
     var pos = new Vector3(10, 0, -1);
     var transformed = Matrix4.mul(mat, pos);
``` |

### Matrix4(FMatrix4 m) {#Matrix4-com.aspose.threed.FMatrix4-}

public Matrix4(FMatrix4 m)



Membuat [Matrix4](../../com.aspose.threed/matrix4) dari instance [FMatrix4](../../com.aspose.threed/fmatrix4)

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| m | [FMatrix4](../../com.aspose.threed/fmatrix4) |  |

### Matrix4(double[] m) {#Matrix4-double---}

public Matrix4(double[] m)



Menginisialisasi instance baru dari struct [Matrix4](../../com.aspose.threed/matrix4).

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| m | double[] | M. |

### Matrix4() {#Matrix4--}

public Matrix4()



### m00 {#m00}

public double m00



m00.

### m01 {#m01}

public double m01



m01.

### m02 {#m02}

public double m02



m02.

### m03 {#m03}

public double m03



m03.

### m10 {#m10}

public double m10



m10.

### m11 {#m11}

public double m11



m11.

### m12 {#m12}

public double m12



m12.

### m13 {#m13}

public double m13



m13.

### m20 {#m20}

public double m20



m20.

### m21 {#m21}

public double m21



m21.

### m22 {#m22}

public double m22



m22.

### m23 {#m23}

public double m23



m23.

### m30 {#m30}

public double m30



m30.

### m31 {#m31}

public double m31



m31.

### m32 {#m32}

public double m32



m32.

### m33 {#m33}

public double m33



m33.

### clone() {#clone--}

public Matrix4 clone()



Kloning instance saat ini

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### concatenate(Matrix4 m2) {#concatenate-com.aspose.threed.Matrix4-}

public Matrix4 concatenate(Matrix4 m2)



Menggabungkan dua matriks

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| m2 | [Matrix4](../../com.aspose.threed/matrix4) | M2. |

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - New matrix4 **Example:**

Matrix4 t = Matrix4.translate(0, 10, 9); Matrix4 s = Matrix4.scale(10, 10, 10); Matrix4 transform = t.concatenate(s); Vector3 pos = new Vector3(10, 0, -1); Vector3 transformed = Matrix4.mul(transform, pos);

### copyFrom(Matrix4 src) {#copyFrom-com.aspose.threed.Matrix4-}

public void copyFrom(Matrix4 src)





**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| src | [Matrix4](../../com.aspose.threed/matrix4) |  |

### decompose(Vector3 translation, Vector3 scaling, Quaternion rotation) {#decompose-com.aspose.threed.Vector3-com.aspose.threed.Vector3-com.aspose.threed.Quaternion-}

public boolean decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)



Mendekomposisi matriks transformasi.

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Terjemahan. |
| scaling | [Vector3](../../com.aspose.threed/vector3) | Skala. |
| rotation | [Quaternion](../../com.aspose.threed/quaternion) | Rotasi. |

**Returns:**
boolean - True jika berhasil.
### equals(Object obj) {#equals-java.lang.Object-}

public boolean equals(Object obj)





**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| obj | java.lang.Object |  |

**Returns:**
boolean
### getClass() {#getClass--}

public final native Class getClass()





**Returns:**
java.lang.Class<?>
### getDeterminant() {#getDeterminant--}

public double getDeterminant()



Mendapatkan determinan matriks.

**Returns:**
double - determinan matriks.
### getIdentity() {#getIdentity--}

public static Matrix4 getIdentity()



Mendapatkan matriks identitas.

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - the identity matrix.
### hashCode() {#hashCode--}

public int hashCode()





**Returns:**
int
### inverse() {#inverse--}

public Matrix4 inverse()



Membalik instance ini.

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - Inverse matrix4 **Example:** The following code shows how to inverse a matrix

Matrix4 t = Matrix4.translate(0, 10, 9); Matrix4 mat = t.inverse(); System.out.printf(“Inversed Matrix: %s”, mat);

### mul(Matrix4 lhs, Matrix4 rhs) {#mul-com.aspose.threed.Matrix4-com.aspose.threed.Matrix4-}

public static Matrix4 mul(Matrix4 lhs, Matrix4 rhs)



Mengalikan dua matriks

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| lhs | [Matrix4](../../com.aspose.threed/matrix4) | Lhs. |
| rhs | [Matrix4](../../com.aspose.threed/matrix4) | Rhs. |

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - Result matrix
### mul(Matrix4 lhs, Vector3 v) {#mul-com.aspose.threed.Matrix4-com.aspose.threed.Vector3-}

public static Vector3 mul(Matrix4 lhs, Vector3 v)



Mengalikan matriks dan vector3

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| lhs | [Matrix4](../../com.aspose.threed/matrix4) | Lhs. |
| v | [Vector3](../../com.aspose.threed/vector3) | V. |

**Returns:**
[Vector3](../../com.aspose.threed/vector3) - Result matrix
### mul(Matrix4 lhs, Vector4 v) {#mul-com.aspose.threed.Matrix4-com.aspose.threed.Vector4-}

public static Vector4 mul(Matrix4 lhs, Vector4 v)



Mengalikan matriks dan vector4

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| lhs | [Matrix4](../../com.aspose.threed/matrix4) | Lhs. |
| v | [Vector4](../../com.aspose.threed/vector4) | V. |

**Returns:**
[Vector4](../../com.aspose.threed/vector4) - Result matrix
### mul(Matrix4 lhs, double v) {#mul-com.aspose.threed.Matrix4-double-}

public static Matrix4 mul(Matrix4 lhs, double v)



Kalikan matriks dengan nilai double

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| lhs | [Matrix4](../../com.aspose.threed/matrix4) | Lhs. |
| v | double | V. |

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - Result matrix
### normalize() {#normalize--}

public Matrix4 normalize()



Menormalkan instance ini.

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - Normalize matrix4
### notify() {#notify--}

public final native void notify()





### notifyAll() {#notifyAll--}

public final native void notifyAll()





### rotate(Quaternion q) {#rotate-com.aspose.threed.Quaternion-}

public static Matrix4 rotate(Quaternion q)



Membuat matriks rotasi dari quaternion

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
|  | q | [Quaternion](../../com.aspose.threed/quaternion) | Quaternion rotasi **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi rotasi. |

var t = Matrix4.rotate(Quaternion.fromAngleAxis(Math.PI, Vector3.getUnitY())); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### rotate(double angle, Vector3 axis) {#rotate-double-com.aspose.threed.Vector3-}

public static Matrix4 rotate(double angle, Vector3 axis)



Membuat matriks rotasi dengan sudut rotasi dan sumbu

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| sudut | double | Sudut rotasi dalam radian |
|  | axis | [Vector3](../../com.aspose.threed/vector3) | Sumbu rotasi **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi rotasi. |

var t = Matrix4.rotate(Math.PI, new Vector3(0, 1, 0)); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### rotateFromEuler(Vector3 eul) {#rotateFromEuler-com.aspose.threed.Vector3-}

public static Matrix4 rotateFromEuler(Vector3 eul)



Membuat matriks rotasi dari sudut Euler

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
|  | eul | [Vector3](../../com.aspose.threed/vector3) | Rotasi dalam radian **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi rotasi. |

var t = Matrix4.rotateFromEuler(new Vector3(0, Math.PI, 0)); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### rotateFromEuler(double rx, double ry, double rz) {#rotateFromEuler-double-double-double-}

public static Matrix4 rotateFromEuler(double rx, double ry, double rz)



Membuat matriks rotasi dari sudut Euler

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| rx | double | Rotasi pada sumbu x dalam radian |
| ry | double | Rotasi pada sumbu y dalam radian |
|  | rz | double | Rotasi pada sumbu z dalam radian **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi rotasi. |

var t = Matrix4.rotateFromEuler(0, Math.PI, 0); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### scale(Vector3 s) {#scale-com.aspose.threed.Vector3-}

public static Matrix4 scale(Vector3 s)



Membuat matriks yang menskalakan sepanjang sumbu x, sumbu y, dan sumbu z.

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
|  | s | [Vector3](../../com.aspose.threed/vector3) | Faktor skala diterapkan pada sumbu x, sumbu y, dan sumbu z **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi skala. |

var t = Matrix4.scale(new Vector3(10, 10, 10)); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### scale(double s) {#scale-double-}

public static Matrix4 scale(double s)



Membuat matriks yang menskalakan sepanjang sumbu x, sumbu y, dan sumbu z.

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
|  | s | double | Faktor skala diterapkan pada semua sumbu **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi skala. |

var t = Matrix4.scale(10); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### scale(double sx, double sy, double sz) {#scale-double-double-double-}

public static Matrix4 scale(double sx, double sy, double sz)



Membuat matriks yang menskalakan sepanjang sumbu x, sumbu y, dan sumbu z.

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| sx | double | Faktor skala diterapkan pada sumbu x |
| sy | double | Faktor skala diterapkan pada sumbu y |
|  | sz | double | Faktor skala diterapkan pada sumbu z **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi skala. |

var t = Matrix4.scale(10, 20, 10); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### setTRS(Vector3 translation, Vector3 rotation, Vector3 scale) {#setTRS-com.aspose.threed.Vector3-com.aspose.threed.Vector3-com.aspose.threed.Vector3-}

public void setTRS(Vector3 translation, Vector3 rotation, Vector3 scale)



Menginisialisasi matriks dengan translasi/rotasi/skala

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Translasi. |
| rotation | [Vector3](../../com.aspose.threed/vector3) | Sudut Euler untuk rotasi, bidangnya dalam derajat. |
| scale | [Vector3](../../com.aspose.threed/vector3) | Skala. |

### toArray() {#toArray--}

public double[] toArray()



Mengonversi matriks ke array.

**Returns:**
double[] - Array.
### toString() {#toString--}

public String toString()



Mengembalikan java.lang.String yang merepresentasikan [Matrix4](../../com.aspose.threed/matrix4) saat ini.

**Returns:**
java.lang.String - Sebuah java.lang.String yang mewakili [Matrix4](../../com.aspose.threed/matrix4) saat ini.
### translate(Vector3 t) {#translate-com.aspose.threed.Vector3-}

public static Matrix4 translate(Vector3 t)



Membuat matriks yang mentranslasi sepanjang sumbu x, sumbu y, dan sumbu z

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
|  | t | [Vector3](../../com.aspose.threed/vector3) | Offset translasi **Contoh:** Kode berikut menunjukkan cara membuat matriks untuk operasi translasi. |

Matrix4 t = Matrix4.translate(new Vector3(10, 0, 0)); Vector3 pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### translate(double tx, double ty, double tz) {#translate-double-double-double-}

public static Matrix4 translate(double tx, double ty, double tz)



Membuat matriks yang mentranslasi sepanjang sumbu x, sumbu y, dan sumbu z

**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| tx | double | Offset koordinat X |
| ty | double | Offset koordinat Y |
|  | tz | double | Offset koordinat Z **Example:** Kode berikut menunjukkan cara membuat matriks untuk operasi translasi. |

var t = Matrix4.translate(10, 0, 0); var pos = new Vector3(1, 1, 10); System.out.printf(“Transformed: %s”, Matrix4.mul(t, pos));


**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### transpose() {#transpose--}

public Matrix4 transpose()



Transposkan instance ini.

**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - The transposed matrix. **Example:** The following code shows how to transpose a matrix

Matrix4 t = Matrix4.translate(0, 10, 9); Matrix4 mat = t.transpose(); System.out.printf(“Transposed Matrix: %s”, mat);

### wait() {#wait--}

public final void wait()





### wait(long arg0) {#wait-long-}

public final void wait(long arg0)





**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| arg0 | long |  |

### wait(long arg0, int arg1) {#wait-long-int-}

public final void wait(long arg0, int arg1)





**Parameters:**
| Parameter | Tipe | Deskripsi |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |