Skip to main content

Matrix3

Represents a 3x3 matrix.

let mat3 = new Matrix3(
m11: number = 1, m12: number = 0, m13: number = 0,
m21: number = 0, m22: number = 1, m23: number = 0,
m31: number = 0, m32: number = 0, m33: number = 1
)

This will create an identity 3x3 matrix.

Instance properties​

  • m11: 1st row, 1st col
  • m12: 1st row, 2nd col ...
  • m33: 3rd row, 3rd col
  • isIdentity: Returns whether the matrix is the identity matrix.
  • translation: Get the translation component of this matrix.

Static properties​

  • Identity: Gets the identity matrix.

Instance methods​

determinant, det​

mat3.determinant(): number
mat3.det() : number

Calculates the determinant for this matrix.

equals​

mat3.equals(m: Matrix3): boolean

Returns a value that indicates whether this instance and another 3x3 matrix are equal.

clone​

mat3.clone(): Matrix3

Returns a new Matrix3 and with identical elements to this one.

Static methods​

add​

Matrix3.add(m1: Matrix3, m2: Matrix3): Matrix3

Adds each element in one matrix with its corresponding element in a second matrix.

sub​

Matrix3.sub(m1: Matrix3, m2: Matrix3): Matrix3

Subtracts each element in a second matrix from its corresponding element in a first matrix.

multiply​

Matrix3.multiply(m1: Matrix3, m2: Matrix3): Matrix3

Returns the matrix that results from multiplying two matrices together.

multiplyScalar​

Matrix3.multiplyScalar(m: Matrix3, v: number): Matrix3

Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.

transpose​

Matrix3.transpose(m: Matrix3): Matrix3

Transposes the rows and columns of a matrix.

invert​

Matrix3.invert(m: Matrix3, result: Matrix3): boolean

Inverts the specified matrix. The return value indicates whether the operation succeeded.

negate​

Matrix3.negate(m: Matrix3): Matrix3

Negates the specified matrix by multiplying all its values by -1.

lerp​

Matrix3.lerp(m1: Matrix3, m2: Matrix3, alpha: number): Matrix3

Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.

createTranslation​

Matrix3.createTranslation(v: Vector2): Matrix3

Creates a translation matrix from the specified 2-dimensional vector.

createRotation​

Matrix3.createRotation(angle: number, center?: Vector2): Matrix3

Creates a rotation matrix using the given rotation in radians and a center point (if specified).

createScaleVec​

Matrix3.createScaleVec(v: Vector2, center?: Vector2): Matrix3

Creates a scaling matrix from the specified vector scale and a center point (if specified).

createScaleScalar​

Matrix3.createScaleScalar(s: number, center?: Vector2): Matrix3

Creates a scaling matrix that scales uniformly with the given scale and a center point (if specified).

createSkew​

Matrix3.createSkew(angleX: number, angleY: number, center?: Vector2): Matrix3

Creates a skew matrix from the specified angles in radians and a center point (if specified).