Matrix4

Inheritance: java.lang.Object

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

public final class Matrix4 implements Struct<Matrix4>, Serializable

Implementazione di matrice 4x4. Esempio:

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

Costruttori

CostruttoreDescrizione
Matrix4(Vector4 r0, Vector4 r1, Vector4 r2, Vector4 r3)Costruisce la matrice da 4 righe.
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)Inizializza una nuova istanza della struttura Matrix4.
Matrix4(FMatrix4 m)Costruisci Matrix4 da un’istanza di FMatrix4.
Matrix4(double[] m)Inizializza una nuova istanza della struttura Matrix4.
Matrix4()

Campi

CampoDescrizione
m00Il m00.
m01Il m01.
m02Il m02.
m03Il m03.
m10Il m10.
m11Il m11.
m12Il m12.
m13Il m13.
m20Il m20.
m21Il m21.
m22Il m22.
m23Il m23.
m30Il m30.
m31Il m31.
m32Il m32.
m33Il m33.

Metodi

MetodoDescrizione
clone()
concatenate(Matrix4 m2)Concatena le due matrici
copyFrom(Matrix4 src)
decompose(Vector3 translation, Vector3 scaling, Quaternion rotation)Decompone la matrice di trasformazione.
equals(Object obj)
getClass()
getDeterminant()Restituisce il determinante della matrice.
getIdentity()Restituisce la matrice identità.
hashCode()
inverse()Inverte questa istanza.
mul(Matrix4 lhs, Matrix4 rhs)Moltiplica le due matrici
mul(Matrix4 lhs, Vector3 v)Moltiplica la matrice e il vector3
mul(Matrix4 lhs, Vector4 v)Moltiplica la matrice e il vector4
mul(Matrix4 lhs, double v)Moltiplica la matrice per un valore double
normalize()Normalizza questa istanza.
notify()
notifyAll()
rotate(Quaternion q)Crea una matrice di rotazione da un quaternion
rotate(double angle, Vector3 axis)Crea una matrice di rotazione per angolo di rotazione e asse
rotateFromEuler(Vector3 eul)Crea una matrice di rotazione da un angolo di Eulero
rotateFromEuler(double rx, double ry, double rz)Crea una matrice di rotazione da un angolo di Eulero
scale(Vector3 s)Crea una matrice che scala lungo l’asse x, l’asse y e l’asse z.
scale(double s)Crea una matrice che scala lungo l’asse x, l’asse y e l’asse z.
scale(double sx, double sy, double sz)Crea una matrice che scala lungo l’asse x, l’asse y e l’asse z.
setTRS(Vector3 translation, Vector3 rotation, Vector3 scale)Inizializza la matrice con traslazione/rotazione/scalatura
toArray()Converte la matrice in un array.
toString()Restituisce una java.lang.String che rappresenta l’attuale Matrix4.
translate(Vector3 t)Crea una matrice che trasla lungo l’asse x, l’asse y e l’asse z
translate(double tx, double ty, double tz)Crea una matrice che trasla lungo l’asse x, l’asse y e l’asse z
transpose()Trasponi questa istanza.
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)

Costruisce la matrice da 4 righe.

Parameters:

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

Inizializza una nuova istanza della struttura Matrix4.

Parameters:

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



Costruisci [Matrix4](../../com.aspose.threed/matrix4) da un'istanza di [FMatrix4](../../com.aspose.threed/fmatrix4).

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| m | [FMatrix4](../../com.aspose.threed/fmatrix4) |  |

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

public Matrix4(double[] m)



Inizializza una nuova istanza della struttura [Matrix4](../../com.aspose.threed/matrix4).

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| m | double[] | M. |

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

public Matrix4()



### m00 {#m00}

public double m00



Il m00.

### m01 {#m01}

public double m01



Il m01.

### m02 {#m02}

public double m02



Il m02.

### m03 {#m03}

public double m03



Il m03.

### m10 {#m10}

public double m10



Il m10.

### m11 {#m11}

public double m11



Il m11.

### m12 {#m12}

public double m12



Il m12.

### m13 {#m13}

public double m13



Il m13.

### m20 {#m20}

public double m20



Il m20.

### m21 {#m21}

public double m21



Il m21.

### m22 {#m22}

public double m22



Il m22.

### m23 {#m23}

public double m23



Il m23.

### m30 {#m30}

public double m30



Il m30.

### m31 {#m31}

public double m31



Il m31.

### m32 {#m32}

public double m32



Il m32.

### m33 {#m33}

public double m33



Il m33.

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

public Matrix4 clone()



Clona l'istanza corrente

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

public Matrix4 concatenate(Matrix4 m2)



Concatena le due matrici

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| 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:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| 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)



Decompone la matrice di trasformazione.

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | La traduzione. |
| scaling | [Vector3](../../com.aspose.threed/vector3) | La scalatura. |
| rotation | [Quaternion](../../com.aspose.threed/quaternion) | La rotazione. |

**Returns:**
boolean - True se ha avuto successo.
### equals(Object obj) {#equals-java.lang.Object-}

public boolean equals(Object obj)





**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| obj | java.lang.Object |  |

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

public final native Class getClass()





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

public double getDeterminant()



Restituisce il determinante della matrice.

**Returns:**
double - il determinante della matrice.
### getIdentity() {#getIdentity--}

public static Matrix4 getIdentity()



Restituisce la matrice identità.

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

public int hashCode()





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

public Matrix4 inverse()



Inverte questa istanza.

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



Moltiplica le due matrici

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| 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)



Moltiplica la matrice e il vector3

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| 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)



Moltiplica la matrice e il vector4

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| 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)



Moltiplica la matrice per un valore double

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| lhs | [Matrix4](../../com.aspose.threed/matrix4) | Lhs. |
| v | double | V. |

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

public Matrix4 normalize()



Normalizza questa istanza.

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



Crea una matrice di rotazione da un quaternion

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
|  | q | [Quaternion](../../com.aspose.threed/quaternion) | Quaternione di rotazione **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di rotazione. |

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)



Crea una matrice di rotazione per angolo di rotazione e asse

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| angolo | double | Angolo di rotazione in radianti |
|  | axis | [Vector3](../../com.aspose.threed/vector3) | Asse di rotazione **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di rotazione. |

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)



Crea una matrice di rotazione da un angolo di Eulero

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
|  | eul | [Vector3](../../com.aspose.threed/vector3) | Rotazione in radianti **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di rotazione. |

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)



Crea una matrice di rotazione da un angolo di Eulero

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| rx | double | Rotazione sull'asse x in radianti |
| ry | double | Rotazione sull'asse y in radianti |
|  | rz | double | Rotazione sull'asse z in radianti **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di rotazione. |

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)



Crea una matrice che scala lungo l'asse x, l'asse y e l'asse z.

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
|  | s | [Vector3](../../com.aspose.threed/vector3) | Le fabbriche di scaling si applicano all'asse x, all'asse y e all'asse z **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di scaling. |

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)



Crea una matrice che scala lungo l'asse x, l'asse y e l'asse z.

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
|  | s | double | Le fabbriche di scaling si applicano a tutti gli assi **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di scaling. |

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)



Crea una matrice che scala lungo l'asse x, l'asse y e l'asse z.

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| sx | double | Le fabbriche di scaling si applicano all'asse x |
| sy | double | Le fabbriche di scaling si applicano all'asse y |
|  | sz | double | Le fabbriche di scaling si applicano all'asse z **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di scaling. |

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)



Inizializza la matrice con traslazione/rotazione/scalatura

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Traduzione. |
| rotation | [Vector3](../../com.aspose.threed/vector3) | Angoli di Eulero per la rotazione, i campi sono in gradi. |
| scale | [Vector3](../../com.aspose.threed/vector3) | Scala. |

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

public double[] toArray()



Converte la matrice in un array.

**Returns:**
double[] - L'array.
### toString() {#toString--}

public String toString()



Restituisce una java.lang.String che rappresenta l'attuale [Matrix4](../../com.aspose.threed/matrix4).

**Returns:**
java.lang.String - Una java.lang.String che rappresenta l'attuale [Matrix4](../../com.aspose.threed/matrix4).
### translate(Vector3 t) {#translate-com.aspose.threed.Vector3-}

public static Matrix4 translate(Vector3 t)



Crea una matrice che trasla lungo l'asse x, l'asse y e l'asse z

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
|  | t | [Vector3](../../com.aspose.threed/vector3) | Offset di traslazione **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di traslazione. |

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)



Crea una matrice che trasla lungo l'asse x, l'asse y e l'asse z

**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| tx | double | Offset della coordinata X |
| ty | double | Offset della coordinata Y |
|  | tz | double | Offset della coordinata Z **Esempio:** Il codice seguente mostra come creare una matrice per l'operazione di traslazione. |

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



Trasponi questa istanza.

**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:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| arg0 | long |  |

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

public final void wait(long arg0, int arg1)





**Parameters:**
| Parametro | Tipo | Descrizione |
| --- | --- | --- |
| arg0 | long |  |
| arg1 | int |  |