Matrix4

Inheritance: java.lang.Object

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

public final class Matrix4 implements Struct<Matrix4>, Serializable

4x4-Matrix-Implementierung. Beispiel:

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

Konstruktoren

KonstruktorBeschreibung
Matrix4(Vector4 r0, Vector4 r1, Vector4 r2, Vector4 r3)Konstruiert die Matrix aus 4 Zeilen.
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)Initialisiert eine neue Instanz der Matrix4 Struktur.
Matrix4(FMatrix4 m)Erstelle Matrix4 aus einer FMatrix4-Instanz
Matrix4(double[] m)Initialisiert eine neue Instanz der Matrix4 Struktur.
Matrix4()

Felder

FeldBeschreibung
m00Das m00.
m01Das m01.
m02Das m02.
m03Das m03.
m10Das m10.
m11Das m11.
m12Das m12.
m13Das m13.
m20Das m20.
m21Das m21.
m22Das m22.
m23Das m23.
m30Das m30.
m31Das m31.
m32Das m32.
m33Das m33.

Methoden

MethodeBeschreibung
clone()
concatenate(Matrix4 m2)Verkettet die beiden Matrizen
copyFrom(Matrix4 src)
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)Zerlege die Transformationsmatrix.
equals(Object obj)
getClass()
getDeterminant()Gibt die Determinante der Matrix zurück.
getIdentity()Gibt die Einheitsmatrix zurück.
hashCode()
inverse()Invertiert diese Instanz.
mul(Matrix4 lhs, Matrix4 rhs)Multipliziere die beiden Matrizen
mul(Matrix4 lhs, Vector3 v)Multipliziere die Matrix und vector3
mul(Matrix4 lhs, Vector4 v)Multipliziere die Matrix und vector4
mul(Matrix4 lhs, double v)Multipliziert die Matrix mit einem double-Wert.
normalize()Normalisiert diese Instanz.
notify()
notifyAll()
rotate(Quaternion q)Erstelle eine Rotationsmatrix aus einem Quaternion
rotate(double angle, Vector3 axis)Erstelle eine Rotationsmatrix anhand des Rotationswinkels und der Achse
rotateFromEuler(Vector3 eul)Erstelle eine Rotationsmatrix aus einem Euler-Winkel
rotateFromEuler(double rx, double ry, double rz)Erstelle eine Rotationsmatrix aus einem Euler-Winkel
scale(Vector3 s)Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse skaliert.
scale(double s)Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse skaliert.
scale(double sx, double sy, double sz)Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse skaliert.
setTRS(Vector3 translation, Vector3 rotation, Vector3 scale)Initialisiert die Matrix mit Translation/Rotation/Skalierung
toArray()Konvertiert die Matrix in ein Array.
toString()Gibt einen java.lang.String zurück, der die aktuelle Matrix4 darstellt.
translate(Vector3 t)Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse übersetzt
translate(double tx, double ty, double tz)Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse übersetzt
transpose()Transponiert diese Instanz.
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)

Konstruiert die Matrix aus 4 Zeilen.

Parameters:

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

Initialisiert eine neue Instanz der Matrix4 Struktur.

Parameters:

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



Erstelle [Matrix4](../../com.aspose.threed/matrix4) aus einer [FMatrix4](../../com.aspose.threed/fmatrix4)-Instanz

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

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

public Matrix4(double[] m)



Initialisiert eine neue Instanz der [Matrix4](../../com.aspose.threed/matrix4) Struktur.

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| m | double[] | M. |

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

public Matrix4()



### m00 {#m00}

public double m00



Das m00.

### m01 {#m01}

public double m01



Das m01.

### m02 {#m02}

public double m02



Das m02.

### m03 {#m03}

public double m03



Das m03.

### m10 {#m10}

public double m10



Das m10.

### m11 {#m11}

public double m11



Das m11.

### m12 {#m12}

public double m12



Das m12.

### m13 {#m13}

public double m13



Das m13.

### m20 {#m20}

public double m20



Das m20.

### m21 {#m21}

public double m21



Das m21.

### m22 {#m22}

public double m22



Das m22.

### m23 {#m23}

public double m23



Das m23.

### m30 {#m30}

public double m30



Das m30.

### m31 {#m31}

public double m31



Das m31.

### m32 {#m32}

public double m32



Das m32.

### m33 {#m33}

public double m33



Das m33.

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

public Matrix4 clone()



Klone aktuelle Instanz

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

public Matrix4 concatenate(Matrix4 m2)



Verkettet die beiden Matrizen

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| 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 | Typ | Beschreibung |
| --- | --- | --- |
| 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)



Zerlege die Transformationsmatrix.

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Die Übersetzung. |
| scaling | [Vector3](../../com.aspose.threed/vector3) | Die Skalierung. |
| rotation | [Quaternion](../../com.aspose.threed/quaternion) | Die Rotation. |

**Returns:**
boolean - Wahr, wenn erfolgreich.
### equals(Object obj) {#equals-java.lang.Object-}

public boolean equals(Object obj)





**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| obj | java.lang.Object |  |

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

public final native Class getClass()





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

public double getDeterminant()



Gibt die Determinante der Matrix zurück.

**Returns:**
double - die Determinante der Matrix.
### getIdentity() {#getIdentity--}

public static Matrix4 getIdentity()



Gibt die Einheitsmatrix zurück.

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

public int hashCode()





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

public Matrix4 inverse()



Invertiert diese Instanz.

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



Multipliziere die beiden Matrizen

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| 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)



Multipliziere die Matrix und vector3

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| 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)



Multipliziere die Matrix und vector4

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| 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)



Multipliziert die Matrix mit einem double-Wert.

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

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

public Matrix4 normalize()



Normalisiert diese Instanz.

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



Erstelle eine Rotationsmatrix aus einem Quaternion

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | q | [Quaternion](../../com.aspose.threed/quaternion) | Rotationsquaternion **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Rotationsoperation erstellt. |

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)



Erstelle eine Rotationsmatrix anhand des Rotationswinkels und der Achse

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| angle | double | Drehwinkel im Bogenmaß |
|  | axis | [Vector3](../../com.aspose.threed/vector3) | Rotationsachse **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Rotationsoperation erstellt. |

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)



Erstelle eine Rotationsmatrix aus einem Euler-Winkel

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | eul | [Vector3](../../com.aspose.threed/vector3) | Rotation im Bogenmaß **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Rotationsoperation erstellt. |

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)



Erstelle eine Rotationsmatrix aus einem Euler-Winkel

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| rx | double | Rotation um die x-Achse im Bogenmaß |
| ry | double | Rotation um die y-Achse im Bogenmaß |
|  | rz | double | Rotation um die Z-Achse im Bogenmaß **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Rotationsoperation erstellt. |

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)



Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse skaliert.

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | s | [Vector3](../../com.aspose.threed/vector3) | Skalierungsfaktoren gelten für die X-Achse, die Y-Achse und die Z-Achse **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Skalierungsoperation erstellt. |

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)



Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse skaliert.

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | s | double | Skalierungsfaktoren gelten für alle Achsen **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Skalierungsoperation erstellt. |

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)



Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse skaliert.

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| sx | double | Skalierungsfaktoren gelten für die X-Achse |
| sy | double | Skalierungsfaktoren gelten für die Y-Achse |
|  | sz | double | Skalierungsfaktoren gelten für die Z-Achse **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Skalierungsoperation erstellt. |

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)



Initialisiert die Matrix mit Translation/Rotation/Skalierung

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Übersetzung. |
| rotation | [Vector3](../../com.aspose.threed/vector3) | Euler-Winkel für die Rotation, die Felder sind in Grad. |
| scale | [Vector3](../../com.aspose.threed/vector3) | Skalierung. |

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

public double[] toArray()



Konvertiert die Matrix in ein Array.

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

public String toString()



Gibt einen java.lang.String zurück, der die aktuelle [Matrix4](../../com.aspose.threed/matrix4) darstellt.

**Returns:**
java.lang.String - Ein java.lang.String, der die aktuelle [Matrix4](../../com.aspose.threed/matrix4) darstellt.
### translate(Vector3 t) {#translate-com.aspose.threed.Vector3-}

public static Matrix4 translate(Vector3 t)



Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse übersetzt

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
|  | t | [Vector3](../../com.aspose.threed/vector3) | Übersetzungsversatz **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Übersetzungsoperation erstellt. |

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)



Erstellt eine Matrix, die entlang der x-Achse, der y-Achse und der z-Achse übersetzt

**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| tx | double | X-Koordinaten-Offset |
| ty | double | Y-Koordinaten-Offset |
|  | tz | double | Z-Koordinaten-Offset **Beispiel:** Der folgende Code zeigt, wie man eine Matrix für die Übersetzungsoperation erstellt. |

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



Transponiert diese Instanz.

**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 | Typ | Beschreibung |
| --- | --- | --- |
| arg0 | long |  |

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

public final void wait(long arg0, int arg1)





**Parameters:**
| Parameter | Typ | Beschreibung |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |