Matrix4

Inheritance: java.lang.Object

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

public final class Matrix4 implements Struct<Matrix4>, Serializable

Υλοποίηση πίνακα 4x4. Example:

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

Κατασκευαστές

ΚατασκευαστήςΠεριγραφή
Matrix4(Vector4 r0, Vector4 r1, Vector4 r2, Vector4 r3)Δημιουργεί μήτρα από 4 σειρές.
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)Αρχικοποιεί μια νέα παρουσία της δομής Matrix4.
Matrix4(FMatrix4 m)Δημιουργεί το Matrix4 από μια παρουσία του FMatrix4.
Matrix4(double[] m)Αρχικοποιεί μια νέα παρουσία της δομής Matrix4.
Matrix4()

Πεδία

ΠεδίοΠεριγραφή
m00Το m00.
m01Το m01.
m02Το m02.
m03Το m03.
m10Το m10.
m11Το m11.
m12Το m12.
m13Το m13.
m20Το m20.
m21Το m21.
m22Το m22.
m23Το m23.
m30Το m30.
m31Το m31.
m32Το m32.
m33Το m33.

Μέθοδοι

ΜέθοδοςΠεριγραφή
clone()
concatenate(Matrix4 m2)Συνενώνει τις δύο μήτρες
copyFrom(Matrix4 src)
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)Αποσυνθέτει τον πίνακα μετασχηματισμού.
equals(Object obj)
getClass()
getDeterminant()Λαμβάνει την ορίζουσα του πίνακα.
getIdentity()Λαμβάνει τον μοναδιαίο πίνακα.
hashCode()
inverse()Αντιστρέφει αυτήν την παρουσία.
mul(Matrix4 lhs, Matrix4 rhs)Πολλαπλασιάζει τους δύο πίνακες
mul(Matrix4 lhs, Vector3 v)Πολλαπλασιάζει τον πίνακα και το vector3
mul(Matrix4 lhs, Vector4 v)Πολλαπλασιάζει τον πίνακα και το vector4
mul(Matrix4 lhs, double v)Πολλαπλασιάστε τη μήτρα με διπλή τιμή
normalize()Κανονικοποιεί αυτήν την instance.
notify()
notifyAll()
rotate(Quaternion q)Δημιουργεί έναν πίνακα περιστροφής από ένα quaternion
rotate(double angle, Vector3 axis)Δημιουργεί έναν πίνακα περιστροφής με γωνία περιστροφής και άξονα
rotateFromEuler(Vector3 eul)Δημιουργεί έναν πίνακα περιστροφής από γωνία Euler
rotateFromEuler(double rx, double ry, double rz)Δημιουργεί έναν πίνακα περιστροφής από γωνία Euler
scale(Vector3 s)Δημιουργεί έναν πίνακα που κλιμακώνει κατά τον άξονα x, τον άξονα y και τον άξονα z.
scale(double s)Δημιουργεί έναν πίνακα που κλιμακώνει κατά τον άξονα x, τον άξονα y και τον άξονα z.
scale(double sx, double sy, double sz)Δημιουργεί έναν πίνακα που κλιμακώνει κατά τον άξονα x, τον άξονα y και τον άξονα z.
setTRS(Vector3 translation, Vector3 rotation, Vector3 scale)Αρχικοποιεί τον πίνακα με μετάφραση/περιστροφή/κλίμακα
toArray()Μετατρέπει τον πίνακα σε array.
toString()Επιστρέφει ένα java.lang.String που αντιπροσωπεύει το τρέχον Matrix4.
translate(Vector3 t)Δημιουργεί έναν πίνακα που μεταφράζει κατά τον άξονα x, τον άξονα y και τον άξονα z
translate(double tx, double ty, double tz)Δημιουργεί έναν πίνακα που μεταφράζει κατά τον άξονα x, τον άξονα y και τον άξονα z
transpose()Αντιστρέφει αυτήν την περίπτωση.
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)

Δημιουργεί μήτρα από 4 σειρές.

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
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)

Αρχικοποιεί μια νέα παρουσία της δομής Matrix4.

Parameters:

ΠαράμετροςΤύποςΠεριγραφή
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)



Δημιουργεί το [Matrix4](../../com.aspose.threed/matrix4) από μια παρουσία του [FMatrix4](../../com.aspose.threed/fmatrix4).

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| m | [FMatrix4](../../com.aspose.threed/fmatrix4) |  |

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

public Matrix4(double[] m)



Αρχικοποιεί μια νέα παρουσία της δομής [Matrix4](../../com.aspose.threed/matrix4).

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| 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()



Κλωνοποίηση τρέχουσας παρουσίας

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

public Matrix4 concatenate(Matrix4 m2)



Συνενώνει τις δύο μήτρες

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| 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:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| 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)



Αποσυνθέτει τον πίνακα μετασχηματισμού.

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Η μετάφραση. |
| scaling | [Vector3](../../com.aspose.threed/vector3) | Η κλιμάκωση. |
| rotation | [Quaternion](../../com.aspose.threed/quaternion) | Η περιστροφή. |

**Returns:**
boolean - Αληθές εάν ολοκληρώθηκε επιτυχώς.
### equals(Object obj) {#equals-java.lang.Object-}

public boolean equals(Object obj)





**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| obj | java.lang.Object |  |

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

public final native Class getClass()





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

public double getDeterminant()



Λαμβάνει την ορίζουσα του πίνακα.

**Returns:**
double - η ορίζουσα του πίνακα.
### getIdentity() {#getIdentity--}

public static Matrix4 getIdentity()



Λαμβάνει τον μοναδιαίο πίνακα.

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

public int hashCode()





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

public Matrix4 inverse()



Αντιστρέφει αυτήν την παρουσία.

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



Πολλαπλασιάζει τους δύο πίνακες

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| 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)



Πολλαπλασιάζει τον πίνακα και το vector3

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| 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)



Πολλαπλασιάζει τον πίνακα και το vector4

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| 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)



Πολλαπλασιάστε τη μήτρα με διπλή τιμή

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| lhs | [Matrix4](../../com.aspose.threed/matrix4) | Lhs. |
| v | double | V. |

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

public Matrix4 normalize()



Κανονικοποιεί αυτήν την instance.

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



Δημιουργεί έναν πίνακα περιστροφής από ένα quaternion

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
|  | q | [Quaternion](../../com.aspose.threed/quaternion) | Περιστροφικό quaternion **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία περιστροφής. |

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)



Δημιουργεί έναν πίνακα περιστροφής με γωνία περιστροφής και άξονα

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| γωνία | double | Γωνία περιστροφής σε ακτίνια |
|  | axis | [Vector3](../../com.aspose.threed/vector3) | Άξονας περιστροφής **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία περιστροφής. |

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)



Δημιουργεί έναν πίνακα περιστροφής από γωνία Euler

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
|  | eul | [Vector3](../../com.aspose.threed/vector3) | Περιστροφή σε ακτίνια **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία περιστροφής. |

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)



Δημιουργεί έναν πίνακα περιστροφής από γωνία Euler

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| rx | double | Περιστροφή στον άξονα x σε ακτίνια |
| ry | double | Περιστροφή στον άξονα y σε ακτίνια |
|  | rz | double | Περιστροφή στον άξονα z σε ακτίνια **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία περιστροφής. |

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)



Δημιουργεί έναν πίνακα που κλιμακώνει κατά τον άξονα x, τον άξονα y και τον άξονα z.

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
|  | s | [Vector3](../../com.aspose.threed/vector3) | Οι κλιμακώσεις εργοστασίων εφαρμόζονται στον άξονα x, τον άξονα y και τον άξονα z **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία κλιμάκωσης. |

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)



Δημιουργεί έναν πίνακα που κλιμακώνει κατά τον άξονα x, τον άξονα y και τον άξονα z.

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
|  | s | double | Οι κλιμακώσεις εργοστασίων εφαρμόζονται σε όλους τους άξονες **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία κλιμάκωσης. |

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)



Δημιουργεί έναν πίνακα που κλιμακώνει κατά τον άξονα x, τον άξονα y και τον άξονα z.

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| sx | double | Οι λειτουργίες κλιμάκωσης εφαρμόζονται στον άξονα x |
| sy | double | Οι λειτουργίες κλιμάκωσης εφαρμόζονται στον άξονα y |
|  | sz | double | Οι κλιμακώσεις εργοστασίων εφαρμόζονται στον άξονα z **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία κλιμάκωσης. |

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)



Αρχικοποιεί τον πίνακα με μετάφραση/περιστροφή/κλίμακα

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Μετάφραση. |
| rotation | [Vector3](../../com.aspose.threed/vector3) | Γωνίες Euler για περιστροφή, τα πεδία είναι σε μοίρες. |
| scale | [Vector3](../../com.aspose.threed/vector3) | Κλίμακα. |

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

public double[] toArray()



Μετατρέπει τον πίνακα σε array.

**Returns:**
double[] - Ο πίνακας.
### toString() {#toString--}

public String toString()



Επιστρέφει ένα java.lang.String που αντιπροσωπεύει το τρέχον [Matrix4](../../com.aspose.threed/matrix4).

**Returns:**
java.lang.String - Ένα java.lang.String που αντιπροσωπεύει το τρέχον [Matrix4](../../com.aspose.threed/matrix4).
### translate(Vector3 t) {#translate-com.aspose.threed.Vector3-}

public static Matrix4 translate(Vector3 t)



Δημιουργεί έναν πίνακα που μεταφράζει κατά τον άξονα x, τον άξονα y και τον άξονα z

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
|  | t | [Vector3](../../com.aspose.threed/vector3) | Μετατόπιση μετάφρασης **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία μετάφρασης. |

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)



Δημιουργεί έναν πίνακα που μεταφράζει κατά τον άξονα x, τον άξονα y και τον άξονα z

**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| tx | double | Μετατόπιση συντεταγμένης X |
| ty | double | Μετατόπιση συντεταγμένης Y |
|  | tz | double | Μετατόπιση συντεταγμένης Z **Παράδειγμα:** Ο παρακάτω κώδικας δείχνει πώς να δημιουργήσετε έναν πίνακα για λειτουργία μετάφρασης. |

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



Αντιστρέφει αυτήν την περίπτωση.

**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:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| arg0 | long |  |

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

public final void wait(long arg0, int arg1)





**Parameters:**
| Παράμετρος | Τύπος | Περιγραφή |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |