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 Matrix2D(): Matrix2D
Properties
values
readonly public values: Float32Array = ...
identity
static readonly public identity: Matrix2D = ...
symbol
static readonly public symbol: typeof symbol = ...
zero
static readonly public zero: Matrix2D = ...
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: PossibleVector2: void
public get scaling(): Vector2
Parameters
value: PossibleVector2
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: PossibleVector2: void
public get translation(): Vector2
Parameters
translation: PossibleVector2
x
public get x(): Vector2
y
public get y(): Vector2
Methods
add
public addother: Matrix2D: Matrix2D
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
other: Matrix2DThe matrix to add
column
public columnindex: number: Vector2
Get the nth component vector of the matrix. Only defined for 0, 1, and 2.
Examples
Parameters
index: numberThe index of the component vector to retrieve.
equals
Parameters
exactlyEquals
public exactlyEqualsother: Matrix2D: boolean
Parameters
other: Matrix2D
mul
public mulother: Matrix2D: Matrix2D
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
other: Matrix2DThe matrix to multiply with
mulScalar
public mulScalars: number: Matrix2D
Multiply each value of the matrix by a scalar.
Examples
Parameters
s: numberThe 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: numberThe angle by which to rotate the matrix.
degrees: boolean = trueWhether 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: numberThe index of the row to retrieve.
scale
public scalevec: PossibleVector2: 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: PossibleVector2The factor by which to scale the matrix
sub
public subother: Matrix2D: Matrix2D
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
other: Matrix2DThe matrix to subract
toSymbol
public toSymbol(): symbol
toUniform
Parameters
translate
public translatevec: PossibleVector2: 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: PossibleVector2The vector by which to translate the matrix
fromRotation
static public fromRotationangle: number: Matrix2D
Parameters
angle: number
fromScaling
static public fromScalingscale: PossibleVector2: Matrix2D
Parameters
scale: PossibleVector2
fromTranslation
static public fromTranslationtranslation: PossibleVector2: Matrix2D
Parameters
translation: PossibleVector2