Matrix2D
class Matrix2D implements TypeWebGLConvertible
A specialized 2x3 Matrix representing a 2D transformation.
A Matrix2D contains six elements defined as [a, b, c, d, tx, ty]
This is a shortcut for a 3x3 matrix of the form [a, b, 0, c, d, 0 tx, ty, 1]
Note that because a Matrix2D ignores the z-values of each component vectors, it does not satisfy all properties of a "real" 3x3 matrix.
- A Matrix2D has no transpose
- A(B + C) = AB + AC does not hold for a Matrix2D
- (rA)^-1 = r^-1 A^-1, r != 0 does not hold for a Matrix2D
- r(AB) = (rA)B = A(rB) does not hold for a Matrix2D
Constructors
constructor
public new Matrix2Dmatrix: PossibleMatrix2D: Matrix2D
public new Matrix2Dx: PossibleVector2numbery: PossibleVector2numberz: PossibleVector2number: Matrix2D
Properties
values
readonly public values: Float32Array = ...
identity
symbol
zero
Accessors
determinant
public get determinant(): number
Get the determinant of the matrix.
domMatrix
public get domMatrix(): DOMMatrix
inverse
public get inverse(): nullMatrix2D
Get the inverse of the matrix.
If the matrix is not invertible, i.e. its determinant is 0
, this will
return null
, instead.
Examples
rotation
public set rotationangle: number: void
public get rotation(): number
Parameters
angle: number
scaleX
public set scaleXvalue: number: void
public get scaleX(): number
Parameters
value: number
scaleY
public set scaleYvalue: number: void
public get scaleY(): number
Parameters
value: number
scaling
public set scalingvalue: PossibleVector2number: void
public get scaling(): Vector2
Parameters
value: PossibleVector2number
skewX
public set skewXvalue: number: void
public get skewX(): number
Parameters
value: number
skewY
public set skewYvalue: number: void
public get skewY(): number
Parameters
value: number
translateX
public set translateXvalue: number: void
public get translateX(): number
Parameters
value: number
translateY
public set translateYvalue: number: void
public get translateY(): number
Parameters
value: number
translation
public set translationtranslation: PossibleVector2number: void
public get translation(): Vector2
Parameters
translation: PossibleVector2number
x
public get x(): Vector2
y
public get y(): Vector2
Methods
add
Add the provided matrix to this matrix.
This method returns a new matrix representing the result of the computation. It will not modify the source matrix.
Examples
Parameters
column
Get the nth component vector of the matrix. Only defined for 0, 1, and 2.
Examples
Parameters
index: number
The index of the component vector to retrieve.
equals
Parameters
exactlyEquals
Parameters
mul
Returns the matrix product of this matrix with the provided matrix.
This method returns a new matrix representing the result of the computation. It will not modify the source matrix.
Examples
Parameters
mulScalar
Multiply each value of the matrix by a scalar.
Examples
Parameters
s: number
The value by which to scale each term
rotate
Rotate the matrix by the provided angle. By default, the angle is provided in degrees.
This method returns a new matrix representing the result of the computation. It will not modify the source matrix.
Examples
Parameters
angle: number
The angle by which to rotate the matrix.
degrees: boolean = true
Whether the angle is provided in degrees.
row
public rowindex: number: numbernumbernumber
Returns the nth row of the matrix. Only defined for 0 and 1.
Examples
Parameters
index: number
The index of the row to retrieve.
scale
public scalevec: PossibleVector2number: Matrix2D
Scale the x and y component vectors of the matrix.
If vec
is provided as a vector, the x and y component vectors of the
matrix will be scaled by the x and y parts of the vector, respectively.
If vec
is provided as a scalar, the x and y component vectors will be
scaled uniformly by this factor.
This method returns a new matrix representing the result of the computation. It will not modify the source matrix.
Examples
Parameters
vec: PossibleVector2number
The factor by which to scale the matrix
sub
Subtract the provided matrix from this matrix.
This method returns a new matrix representing the result of the computation. It will not modify the source matrix.
Examples
Parameters
toSymbol
public toSymbol(): symbol
toUniform
Parameters
translate
public translatevec: PossibleVector2number: Matrix2D
Translate the matrix by the dimensions of the provided vector.
If vec
is provided as a scalar, matrix will be translated uniformly
by this factor.
This method returns a new matrix representing the result of the computation. It will not modify the source matrix.
Examples
Parameters
vec: PossibleVector2number
The vector by which to translate the matrix
fromRotation
Parameters
angle: number
fromScaling
static public fromScalingscale: PossibleVector2number: Matrix2D
Parameters
scale: PossibleVector2number
fromTranslation
static public fromTranslationtranslation: PossibleVector2number: Matrix2D
Parameters
translation: PossibleVector2number