Matrix4
Inheritance: java.lang.Object
All Implemented Interfaces: com.aspose.threed.Struct, java.io.Serializable
public final class Matrix4 implements Struct<Matrix4>, Serializable
4x4 matrisimplementation. Exempel:
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);
Konstruktörer
| Konstruktor | Beskrivning |
|---|---|
| Matrix4(Vector4 r0, Vector4 r1, Vector4 r2, Vector4 r3) | Skapar matris från 4 rader. |
| 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) | Initierar en ny instans av strukturen Matrix4. |
| Matrix4(FMatrix4 m) | Konstruera Matrix4 från en FMatrix4-instans |
| Matrix4(double[] m) | Initierar en ny instans av strukturen Matrix4. |
| Matrix4() |
Fält
| Fält | Beskrivning |
|---|---|
| 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. |
Metoder
| Metod | Beskrivning |
|---|---|
| clone() | |
| concatenate(Matrix4 m2) | Konkatenar de två matriserna |
| copyFrom(Matrix4 src) | |
| decompose(Vector3 translation, Vector3 scaling, Quaternion rotation) | Dekomponera transformationsmatrisen. |
| equals(Object obj) | |
| getClass() | |
| getDeterminant() | Hämtar determinanten för matrisen. |
| getIdentity() | Hämtar identitetsmatrisen. |
| hashCode() | |
| inverse() | Beräknar inversen av denna instans. |
| mul(Matrix4 lhs, Matrix4 rhs) | Multiplicera de två matriserna |
| mul(Matrix4 lhs, Vector3 v) | Multiplicera matrisen och vector3 |
| mul(Matrix4 lhs, Vector4 v) | Multiplicera matrisen och vector4 |
| mul(Matrix4 lhs, double v) | Multiplicera matrisen med ett dubbelvärde. |
| normalize() | Normaliserar detta objekt. |
| notify() | |
| notifyAll() | |
| rotate(Quaternion q) | Skapa en rotationsmatris från en kvaternion |
| rotate(double angle, Vector3 axis) | Skapa en rotationsmatris med rotationsvinkel och axel |
| rotateFromEuler(Vector3 eul) | Skapa en rotationsmatris från Euler-vinkel |
| rotateFromEuler(double rx, double ry, double rz) | Skapa en rotationsmatris från Euler-vinkel |
| scale(Vector3 s) | Skapar en matris som skalar längs x-axeln, y-axeln och z-axeln. |
| scale(double s) | Skapar en matris som skalar längs x-axeln, y-axeln och z-axeln. |
| scale(double sx, double sy, double sz) | Skapar en matris som skalar längs x-axeln, y-axeln och z-axeln. |
| setTRS(Vector3 translation, Vector3 rotation, Vector3 scale) | Initierar matrisen med translation/rotation/skala |
| toArray() | Konverterar matris till array. |
| toString() | Returnerar en java.lang.String som representerar den aktuella Matrix4. |
| translate(Vector3 t) | Skapar en matris som översätter längs x-axeln, y-axeln och z-axeln |
| translate(double tx, double ty, double tz) | Skapar en matris som översätter längs x-axeln, y-axeln och z-axeln |
| transpose() | Transponera denna instans. |
| 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)
Skapar matris från 4 rader.
Parameters:
| Parameter | Typ | Beskrivning |
|---|---|---|
| r0 | Vector4 | R0. |
| r1 | Vector4 | R1. |
| r2 | Vector4 | R2. |
| r3 | Vector4 | R3. |
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)
Initierar en ny instans av strukturen Matrix4.
Parameters:
| Parameter | Typ | Beskrivning |
|---|---|---|
| m00 | double | M00. |
| m01 | double | M01. |
| m02 | double | M02. |
| m03 | double | M03. |
| m10 | double | M10. |
| m11 | double | M11. |
| m12 | double | M12. |
| m13 | double | M13. |
| m20 | double | M20. |
| m21 | double | M21. |
| m22 | double | M22. |
| m23 | double | M23. |
| m30 | double | M30. |
| m31 | double | M31. |
| m32 | double | M32. |
| m33 | double |
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)
Konstruera [Matrix4](../../com.aspose.threed/matrix4) från en [FMatrix4](../../com.aspose.threed/fmatrix4)-instans
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| m | [FMatrix4](../../com.aspose.threed/fmatrix4) | |
### Matrix4(double[] m) {#Matrix4-double---}
public Matrix4(double[] m)
Initierar en ny instans av strukturen [Matrix4](../../com.aspose.threed/matrix4).
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| 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()
Klona aktuell instans
**Returns:**
[Matrix4](../../com.aspose.threed/matrix4)
### concatenate(Matrix4 m2) {#concatenate-com.aspose.threed.Matrix4-}
public Matrix4 concatenate(Matrix4 m2)
Konkatenar de två matriserna
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| 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 | Beskrivning |
| --- | --- | --- |
| 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)
Dekomponera transformationsmatrisen.
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Översättningen. |
| scaling | [Vector3](../../com.aspose.threed/vector3) | Skalningen. |
| rotation | [Quaternion](../../com.aspose.threed/quaternion) | Rotationen. |
**Returns:**
boolean - Sant om lyckades.
### equals(Object obj) {#equals-java.lang.Object-}
public boolean equals(Object obj)
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| obj | java.lang.Object | |
**Returns:**
boolean
### getClass() {#getClass--}
public final native Class getClass()
**Returns:**
java.lang.Class<?>
### getDeterminant() {#getDeterminant--}
public double getDeterminant()
Hämtar determinanten för matrisen.
**Returns:**
double - determinanten av matrisen.
### getIdentity() {#getIdentity--}
public static Matrix4 getIdentity()
Hämtar identitetsmatrisen.
**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - the identity matrix.
### hashCode() {#hashCode--}
public int hashCode()
**Returns:**
int
### inverse() {#inverse--}
public Matrix4 inverse()
Beräknar inversen av denna instans.
**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)
Multiplicera de två matriserna
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| 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)
Multiplicera matrisen och vector3
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| 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)
Multiplicera matrisen och vector4
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| 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)
Multiplicera matrisen med ett dubbelvärde.
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| lhs | [Matrix4](../../com.aspose.threed/matrix4) | Lhs. |
| v | double | V. |
**Returns:**
[Matrix4](../../com.aspose.threed/matrix4) - Result matrix
### normalize() {#normalize--}
public Matrix4 normalize()
Normaliserar detta objekt.
**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)
Skapa en rotationsmatris från en kvaternion
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| | q | [Quaternion](../../com.aspose.threed/quaternion) | Rotationskvaternion **Exempel:** Följande kod visar hur man skapar en matris för en roteringsoperation. |
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)
Skapa en rotationsmatris med rotationsvinkel och axel
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| vinkel | double | Rotationsvinkel i radian |
| | axis | [Vector3](../../com.aspose.threed/vector3) | Rotationsaxel **Exempel:** Följande kod visar hur man skapar en matris för en roteringsoperation. |
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)
Skapa en rotationsmatris från Euler-vinkel
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| | eul | [Vector3](../../com.aspose.threed/vector3) | Rotation i radian **Exempel:** Följande kod visar hur man skapar en matris för en roteringsoperation. |
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)
Skapa en rotationsmatris från Euler-vinkel
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| rx | double | Rotation i x-axeln i radian |
| ry | double | Rotation i y-axeln i radian |
| | rz | double | Rotation i z-axeln i radian **Exempel:** Följande kod visar hur man skapar en matris för roteringsoperation. |
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)
Skapar en matris som skalar längs x-axeln, y-axeln och z-axeln.
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| | s | [Vector3](../../com.aspose.threed/vector3) | Skalningsfabriker gäller för x-axeln, y-axeln och z-axeln **Exempel:** Följande kod visar hur man skapar en matris för skalningsoperation. |
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)
Skapar en matris som skalar längs x-axeln, y-axeln och z-axeln.
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| | s | double | Skalningsfabriker gäller för alla axlar **Exempel:** Följande kod visar hur man skapar en matris för skalningsoperation. |
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)
Skapar en matris som skalar längs x-axeln, y-axeln och z-axeln.
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| sx | double | Skalningsfabriker gäller för x-axeln |
| sy | double | Skalningsfabriker gäller för y-axeln |
| | sz | double | Skalningsfabriker gäller för z-axeln **Exempel:** Följande kod visar hur man skapar en matris för skalningsoperation. |
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)
Initierar matrisen med translation/rotation/skala
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| translation | [Vector3](../../com.aspose.threed/vector3) | Översättning. |
| rotation | [Vector3](../../com.aspose.threed/vector3) | Eulervinklar för rotation, fält är i grader. |
| scale | [Vector3](../../com.aspose.threed/vector3) | Skala. |
### toArray() {#toArray--}
public double[] toArray()
Konverterar matris till array.
**Returns:**
double[] - Arrayen.
### toString() {#toString--}
public String toString()
Returnerar en java.lang.String som representerar den aktuella [Matrix4](../../com.aspose.threed/matrix4).
**Returns:**
java.lang.String - En java.lang.String som representerar den aktuella [Matrix4](../../com.aspose.threed/matrix4).
### translate(Vector3 t) {#translate-com.aspose.threed.Vector3-}
public static Matrix4 translate(Vector3 t)
Skapar en matris som översätter längs x-axeln, y-axeln och z-axeln
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| | t | [Vector3](../../com.aspose.threed/vector3) | Översätt förskjutning **Exempel:** Följande kod visar hur man skapar en matris för översättningsoperation. |
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)
Skapar en matris som översätter längs x-axeln, y-axeln och z-axeln
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| tx | double | X-koordinatförskjutning |
| ty | double | Y-koordinatförskjutning |
| | tz | double | Z-koordinatförskjutning **Example:** Följande kod visar hur man skapar en matris för översättningsoperation. |
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()
Transponera denna instans.
**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 | Beskrivning |
| --- | --- | --- |
| arg0 | long | |
### wait(long arg0, int arg1) {#wait-long-int-}
public final void wait(long arg0, int arg1)
**Parameters:**
| Parameter | Typ | Beskrivning |
| --- | --- | --- |
| arg0 | long | |
| arg1 | int | |