public class Matrix extends Object
Transformation matrix in PDF is a special case of a 3 by 3 matrix
[a b 0]
[c d 0]
[e f 1]
In its most general form, this matrix is specified by six numbers, usually in the form of an array containing six
elements [a b c d e f]. It can represent any linear transformation from one coordinate system to
another. Here the most common transformations:
[1 0 0 1 Tx Ty], where Tx and Ty shall be the
distances to translate the origin of the coordinate system in the horizontal and vertical dimensions, respectively.
[Sx 0 0 Sy 0 0]. This scales the coordinates so that 1 unit in the
horizontal and vertical dimensions of the new coordinate system is the same size as Sx and Sy units,
respectively, in the previous coordinate system.
[Rc Rs -Rs Rc 0 0], where Rc = cos(q) and Rs = sin(q)
which has the effect of rotating the coordinate system axes by an angle q counterclockwise.
[1 Wx Wy 1 0 0], where Wx = tan(a) and Wy = tan(b) which
skews the x-axis by an angle a and the y-axis by an angle b.
For more information see PDF Specification ISO 32000-1 section 8.3.
| Modifier and Type | Field and Description |
|---|---|
static int |
I11
The row=1, col=1 position ('a') in the matrix.
|
static int |
I12
The row=1, col=2 position ('b') in the matrix.
|
static int |
I13
The row=1, col=3 position (always 0 for 2D) in the matrix.
|
static int |
I21
The row=2, col=1 position ('c') in the matrix.
|
static int |
I22
The row=2, col=2 position ('d') in the matrix.
|
static int |
I23
The row=2, col=3 position (always 0 for 2D) in the matrix.
|
static int |
I31
The row=3, col=1 ('e', or X translation) position in the matrix.
|
static int |
I32
The row=3, col=2 ('f', or Y translation) position in the matrix.
|
static int |
I33
The row=3, col=3 position (always 1 for 2D) in the matrix.
|
| Constructor and Description |
|---|
Matrix()
Constructs a new Matrix with identity.
|
Matrix(float tx,
float ty)
Constructs a matrix that represents translation.
|
Matrix(float a,
float b,
float c,
float d,
float e,
float f)
Creates a Matrix with 6 specified entries.
|
Matrix(float e11,
float e12,
float e13,
float e21,
float e22,
float e23,
float e31,
float e32,
float e33)
Creates a Matrix with 9 specified entries.
|
| Modifier and Type | Method and Description |
|---|---|
Matrix |
add(Matrix arg)
Adds a matrix from this matrix and returns the results.
|
boolean |
equals(Object obj)
Checks equality of matrices.
|
float |
get(int index)
Gets a specific value inside the matrix.
|
float |
getDeterminant()
Computes the determinant of the matrix.
|
int |
hashCode()
Generates a hash code for this object.
|
Matrix |
multiply(Matrix by)
multiplies this matrix by 'b' and returns the result.
|
Matrix |
subtract(Matrix arg)
Subtracts a matrix from this matrix and returns the results.
|
String |
toString()
Generates a String representation of the matrix.
|
public static final int I11
public static final int I12
public static final int I13
public static final int I21
public static final int I22
public static final int I23
public static final int I31
public static final int I32
public static final int I33
public Matrix()
public Matrix(float tx,
float ty)
tx - x-axis translationty - y-axis translationpublic Matrix(float e11,
float e12,
float e13,
float e21,
float e22,
float e23,
float e31,
float e32,
float e33)
e11 - element at position (1,1)e12 - element at position (1,2)e13 - element at position (1,3)e21 - element at position (2,1)e22 - element at position (2,2)e23 - element at position (2,3)e31 - element at position (3,1)e32 - element at position (3,2)e33 - element at position (3,3)public Matrix(float a,
float b,
float c,
float d,
float e,
float f)
a - element at (1,1)b - element at (1,2)c - element at (2,1)d - element at (2,2)e - element at (3,1)f - element at (3,2)public float get(int index)
For reference, the indeces are as follows:
I11 I12 I13
I21 I22 I23
I31 I32 I33
index - an array index corresponding with a value inside the matrixpublic Matrix multiply(Matrix by)
by - The matrix to multiply bypublic Matrix add(Matrix arg)
arg - the matrix to subtract from this matrixpublic Matrix subtract(Matrix arg)
arg - the matrix to subtract from this matrixpublic float getDeterminant()
public boolean equals(Object obj)
equals in class Objectobj - the other Matrix that needs to be compared with this matrix.Object.equals(java.lang.Object)public int hashCode()
hashCode in class ObjectObject.hashCode()public String toString()
toString in class ObjectObject.toString()Copyright © 1998–2025 Apryse Group NV. All rights reserved.