public class

Matrix3D

extends Object
implements Matrix
java.lang.Object
   ↳ casmi.matrix.Matrix3D

Class Overview

3D Matrix class.

Summary

Fields
protected Matrix3D inverseCopy
public double m00
public double m01
public double m02
public double m03
public double m10
public double m11
public double m12
public double m13
public double m20
public double m21
public double m22
public double m23
public double m30
public double m31
public double m32
public double m33
Public Constructors
Matrix3D()
Matrix3D(double m00, double m01, double m02, double m10, double m11, double m12)
Matrix3D(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)
Matrix3D(Matrix matrix)
Matrix3D(double rotateX, double rotateY, double rotateZ)
Public Methods
void apply(Matrix2D source)
void apply(Matrix3D source)
void apply(Matrix source)
Multiply this matrix by another.
void apply(double n00, double n01, double n02, double n10, double n11, double n12)
void apply(double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)
double determinant()
double[] get(double[] target)
Copies the matrix contents into a 16 entry double array.
Matrix3D get()
Returns a copy of this Matrix.
final static Matrix3D getRotateXMatrix(double x)
final static Matrix3D getRotateYMatrix(double x)
final static Matrix3D getRotateZMatrix(double x)
boolean invApply(double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)
void invRotate(double angle, double v0, double v1, double v2)
void invRotateX(double angle)
void invRotateY(double angle)
void invRotateZ(double angle)
void invScale(double x, double y, double z)
void invTranslate(double tx, double ty, double tz)
boolean invert()
Invert this matrix.
Vector3D mult(Vector3D source)
double[] mult(double[] source, double[] target)
Multiply a three or four element vector against this matrix.
double multW(double x, double y, double z)
double multW(double x, double y, double z, double w)
double multX(double x, double y)
double multX(double x, double y, double z, double w)
double multX(double x, double y, double z)
double multY(double x, double y)
double multY(double x, double y, double z, double w)
double multY(double x, double y, double z)
double multZ(double x, double y, double z, double w)
double multZ(double x, double y, double z)
void preApply(Matrix2D left)
Apply another matrix to the left of this one.
void preApply(Matrix3D left)
Apply another matrix to the left of this one.
void preApply(double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)
void preApply(double n00, double n01, double n02, double n10, double n11, double n12)
void print()
void reset()
void rotate(double angle, double v0, double v1, double v2)
void rotate(double angle)
void rotateX(double angle)
void rotateY(double angle)
void rotateZ(double angle)
void scale(double s)
void scale(double sx, double sy)
void scale(double x, double y, double z)
void set(double[] source)
void set(Matrix matrix)
void set(double m00, double m01, double m02, double m10, double m11, double m12)
void set(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)
void shearX(double angle)
void shearY(double angle)
void translate(double tx, double ty, double tz)
void translate(double tx, double ty)
void transpose()
Transpose this matrix.
[Expand]
Inherited Methods
From class java.lang.Object
From interface casmi.matrix.Matrix

Fields

protected Matrix3D inverseCopy

public double m00

public double m01

public double m02

public double m03

public double m10

public double m11

public double m12

public double m13

public double m20

public double m21

public double m22

public double m23

public double m30

public double m31

public double m32

public double m33

Public Constructors

public Matrix3D ()

public Matrix3D (double m00, double m01, double m02, double m10, double m11, double m12)

public Matrix3D (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 Matrix3D (Matrix matrix)

public Matrix3D (double rotateX, double rotateY, double rotateZ)

Public Methods

public void apply (Matrix2D source)

public void apply (Matrix3D source)

public void apply (Matrix source)

Multiply this matrix by another.

public void apply (double n00, double n01, double n02, double n10, double n11, double n12)

public void apply (double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)

public double determinant ()

Returns
  • the determinant of the matrix

public double[] get (double[] target)

Copies the matrix contents into a 16 entry double array. If target is null (or not the correct size), a new array will be created.

public Matrix3D get ()

Returns a copy of this Matrix.

public static final Matrix3D getRotateXMatrix (double x)

public static final Matrix3D getRotateYMatrix (double x)

public static final Matrix3D getRotateZMatrix (double x)

public boolean invApply (double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)

public void invRotate (double angle, double v0, double v1, double v2)

public void invRotateX (double angle)

public void invRotateY (double angle)

public void invRotateZ (double angle)

public void invScale (double x, double y, double z)

public void invTranslate (double tx, double ty, double tz)

public boolean invert ()

Invert this matrix.

Returns
  • true if successful

public Vector3D mult (Vector3D source)

public double[] mult (double[] source, double[] target)

Multiply a three or four element vector against this matrix. If out is null or not length 3 or 4, a new double array (length 3) will be returned.

public double multW (double x, double y, double z)

public double multW (double x, double y, double z, double w)

public double multX (double x, double y)

public double multX (double x, double y, double z, double w)

public double multX (double x, double y, double z)

public double multY (double x, double y)

public double multY (double x, double y, double z, double w)

public double multY (double x, double y, double z)

public double multZ (double x, double y, double z, double w)

public double multZ (double x, double y, double z)

public void preApply (Matrix2D left)

Apply another matrix to the left of this one.

public void preApply (Matrix3D left)

Apply another matrix to the left of this one.

public void preApply (double n00, double n01, double n02, double n03, double n10, double n11, double n12, double n13, double n20, double n21, double n22, double n23, double n30, double n31, double n32, double n33)

public void preApply (double n00, double n01, double n02, double n10, double n11, double n12)

public void print ()

public void reset ()

public void rotate (double angle, double v0, double v1, double v2)

public void rotate (double angle)

public void rotateX (double angle)

public void rotateY (double angle)

public void rotateZ (double angle)

public void scale (double s)

public void scale (double sx, double sy)

public void scale (double x, double y, double z)

public void set (double[] source)

public void set (Matrix matrix)

public void set (double m00, double m01, double m02, double m10, double m11, double m12)

public void set (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 void shearX (double angle)

public void shearY (double angle)

public void translate (double tx, double ty, double tz)

public void translate (double tx, double ty)

public void transpose ()

Transpose this matrix.