public class PMatrix2D extends Object implements PMatrix
PMatrix
for a
general description. This matrix looks like the following when multiplying
a vector (x, y) in mult()
.
[m00 m01 m02][x] [m00*x + m01*y + m02*1] [x'] [m10 m11 m12][y] = [m10*x + m11*y + m12*1] = [y'] [ 0 0 1 ][1] [ 0*x + 0*y + 1*1 ] [ 1](x', y') is returned. The values in the matrix determine the transformation. They are modified by the various transformation functions.
Modifier and Type | Field and Description |
---|---|
float |
m00 |
float |
m01 |
float |
m02 |
float |
m10 |
float |
m11 |
float |
m12 |
Constructor and Description |
---|
PMatrix2D()
Create a new matrix, set to the identity matrix.
|
PMatrix2D(float m00,
float m01,
float m02,
float m10,
float m11,
float m12) |
PMatrix2D(PMatrix matrix) |
Modifier and Type | Method and Description |
---|---|
void |
apply(float n00,
float n01,
float n02,
float n10,
float n11,
float n12)
Multiply this matrix by another.
|
void |
apply(float n00,
float n01,
float n02,
float n03,
float n10,
float n11,
float n12,
float n13,
float n20,
float n21,
float n22,
float n23,
float n30,
float n31,
float n32,
float n33)
Unavailable in 2D.
|
void |
apply(PMatrix source)
Multiply this matrix by another.
|
void |
apply(PMatrix2D source)
Multiply this matrix by another.
|
void |
apply(PMatrix3D source)
Unavailable in 2D.
|
float |
determinant() |
PMatrix2D |
get()
Returns a copy of this PMatrix.
|
float[] |
get(float[] target)
Copies the matrix contents into a 6 entry float array.
|
boolean |
invert()
Invert this matrix.
|
float[] |
mult(float[] vec,
float[] out)
Multiply a two element vector against this matrix.
|
PVector |
mult(PVector source,
PVector target)
Multiply source by this matrix, and return the result.
|
float |
multX(float x,
float y)
Returns the x-coordinate of the result of multiplying the point (x, y)
by this matrix.
|
float |
multY(float x,
float y)
Returns the y-coordinate of the result of multiplying the point (x, y)
by this matrix.
|
void |
preApply(float n00,
float n01,
float n02,
float n10,
float n11,
float n12)
Apply another matrix to the left of this one.
|
void |
preApply(float n00,
float n01,
float n02,
float n03,
float n10,
float n11,
float n12,
float n13,
float n20,
float n21,
float n22,
float n23,
float n30,
float n31,
float n32,
float n33)
Unavailable in 2D.
|
void |
preApply(PMatrix source)
Apply another matrix to the left of this one.
|
void |
preApply(PMatrix2D left)
Apply another matrix to the left of this one.
|
void |
preApply(PMatrix3D left)
Unavailable in 2D.
|
void |
print() |
void |
reset()
Make this an identity matrix.
|
void |
rotate(float angle) |
void |
rotate(float angle,
float v0,
float v1,
float v2)
Unavailable in 2D.
|
void |
rotateX(float angle)
Unavailable in 2D.
|
void |
rotateY(float angle)
Unavailable in 2D.
|
void |
rotateZ(float angle) |
void |
scale(float s) |
void |
scale(float sx,
float sy) |
void |
scale(float x,
float y,
float z)
Unavailable in 2D.
|
void |
set(float[] source)
Set the contents of this matrix to the contents of source.
|
void |
set(float m00,
float m01,
float m02,
float m10,
float m11,
float m12)
Sets the matrix content.
|
void |
set(float m00,
float m01,
float m02,
float m03,
float m10,
float m11,
float m12,
float m13,
float m20,
float m21,
float m22,
float m23,
float m30,
float m31,
float m32,
float m33)
Unavailable in 2D.
|
void |
set(PMatrix matrix)
If matrix is a PMatrix2D, sets this matrix to be a copy of it.
|
void |
set(PMatrix3D src)
Unavailable in 2D.
|
void |
shearX(float angle) |
void |
shearY(float angle) |
void |
translate(float tx,
float ty) |
void |
translate(float x,
float y,
float z)
Unavailable in 2D.
|
void |
transpose()
Unavailable in 2D.
|
public float m00
public float m01
public float m02
public float m10
public float m11
public float m12
public PMatrix2D()
public PMatrix2D(float m00, float m01, float m02, float m10, float m11, float m12)
public PMatrix2D(PMatrix matrix)
public void reset()
PMatrix
public float[] get(float[] target)
{m00, m01, m02, m10, m11, m12}
.public void set(PMatrix matrix)
public void set(PMatrix3D src)
public void set(float[] source)
PMatrix
public void set(float m00, float m01, float m02, float m10, float m11, float m12)
public void set(float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33)
public void translate(float x, float y, float z)
public void rotateX(float angle)
public void rotateY(float angle)
public void rotate(float angle, float v0, float v1, float v2)
public void scale(float x, float y, float z)
public void apply(PMatrix source)
PMatrix
public void apply(PMatrix2D source)
PMatrix
public void apply(PMatrix3D source)
public void apply(float n00, float n01, float n02, float n10, float n11, float n12)
PMatrix
public void apply(float n00, float n01, float n02, float n03, float n10, float n11, float n12, float n13, float n20, float n21, float n22, float n23, float n30, float n31, float n32, float n33)
public void preApply(PMatrix source)
public void preApply(PMatrix2D left)
PMatrix
public void preApply(PMatrix3D left)
public void preApply(float n00, float n01, float n02, float n10, float n11, float n12)
PMatrix
public void preApply(float n00, float n01, float n02, float n03, float n10, float n11, float n12, float n13, float n20, float n21, float n22, float n23, float n30, float n31, float n32, float n33)
public PVector mult(PVector source, PVector target)
public float[] mult(float[] vec, float[] out)
public float multX(float x, float y)
public float multY(float x, float y)
public void transpose()
public boolean invert()
PMatrix
public float determinant()
determinant
in interface PMatrix
public void print()