Internal typed array storing matrix data in column-major order
ReadonlyclassReturns the class name of the matrix implementation
ReadonlyisIndicates if this matrix is an identity matrix class
Element at row 0, column 0
Element at row 0, column 1
Element at row 0, column 2
Element at row 0, column 3
Element at row 1, column 0
Element at row 1, column 1
Element at row 1, column 2
Element at row 1, column 3
Element at row 2, column 0
Element at row 2, column 1
Element at row 2, column 2
Element at row 2, column 3
Element at row 3, column 0
Element at row 3, column 1
Element at row 3, column 2
Element at row 3, column 3
Translation component along X-axis (same as m03)
Translation component along Y-axis (same as m13)
Translation component along Z-axis (same as m23)
Swaps two elements in the internal array.
Left index
Right index
Adds a translation to the existing translation of this matrix.
3D translation vector to add
This matrix for method chaining
Gets the value at the specified row and column.
Row index (0-based)
Column index (0-based)
Value at the specified position
Creates a deep copy of this matrix.
New mutable 4x4 matrix with the same values
Copies components from another matrix.
Source matrix to copy from
This matrix for method chaining
Calculates the determinant of this 4x4 matrix.
Determinant value
Flattens the matrix into a plain JavaScript array.
Array containing all matrix elements
Sets this matrix from a quaternion rotation.
Quaternion representing the rotation
This matrix for method chaining
Extracts the rotation part of this matrix as a mutable 4x4 matrix.
Mutable 4x4 matrix containing only rotation components
Extracts the scale factors from this matrix and stores them in an output vector.
Output vector to store the scale factors
The output vector for method chaining
Extracts the translation part of this matrix.
3D vector containing translation components
Extracts the translation part of this matrix and stores it in an output vector.
Output vector to store the translation
The output vector for method chaining
Checks if this is a dummy/placeholder matrix.
True if this is a dummy matrix
Checks if this matrix is approximately equal to another matrix.
Matrix to compare against
Optionaldelta: numberOptional tolerance for comparison (default: small epsilon)
True if matrices are approximately equal
Checks if this matrix is strictly equal to another matrix.
Matrix to compare against
True if matrices are exactly equal
Checks if the internal array buffer is the same as the provided one.
Array buffer to compare against
True if the source is the same
Multiplies this matrix by another 4x4 matrix.
Matrix to multiply by
This matrix for method chaining
Multiplies this matrix by another 4x4 matrix from the left.
Matrix to multiply from the left
This matrix for method chaining
Multiplies this matrix by a scale vector.
3D scale vector
This matrix for method chaining
Multiplies this matrix by a 3D vector and stores the result in an output vector.
3D vector to multiply
Output vector to store the result
The output vector for method chaining
Multiplies this matrix by a 4D vector and stores the result in an output vector.
4D vector to multiply
Output vector to store the result
The output vector for method chaining
Multiplies this matrix by a 4D vector and stores the result in a 3D output vector.
4D vector to multiply
Output 3D vector to store the result
The output vector for method chaining
Sets the translation part of this matrix.
3D translation vector
This matrix for method chaining
Applies a rotation specified by a 3D vector (Euler angles).
3D vector containing rotation angles
This matrix for method chaining
Applies a rotation around the X-axis to this matrix.
Rotation angle in radians
This matrix for method chaining
Applies rotations around X, Y, and Z axes in that order.
Rotation around X-axis in radians
Rotation around Y-axis in radians
Rotation around Z-axis in radians
This matrix for method chaining
Applies a rotation around the Y-axis to this matrix.
Rotation angle in radians
This matrix for method chaining
Applies a rotation around the Z-axis to this matrix.
Rotation angle in radians
This matrix for method chaining
Applies scaling to this matrix.
3D scale vector
This matrix for method chaining
Sets the value at the specified row and column.
Row index (0-based)
Column index (0-based)
Value to set
This matrix for method chaining
Sets all matrix components from individual values.
Element at row 0, column 0
Element at row 0, column 1
Element at row 0, column 2
Element at row 0, column 3
Element at row 1, column 0
Element at row 1, column 1
Element at row 1, column 2
Element at row 1, column 3
Element at row 2, column 0
Element at row 2, column 1
Element at row 2, column 2
Element at row 2, column 3
Element at row 3, column 0
Element at row 3, column 1
Element at row 3, column 2
Element at row 3, column 3
This matrix for method chaining
Converts the rotation part of this matrix to Euler angles.
3D vector containing Euler angles in radians
Converts the rotation part of this matrix to Euler angles and stores them in an output vector.
Output vector to store the Euler angles
The output vector for method chaining
Converts the matrix to a string representation.
String representation of the matrix
Converts the matrix to an approximate string representation.
Approximate string representation with rounded values
Applies a translation to this matrix.
3D translation vector
This matrix for method chaining
Gets the value at the specified linear index.
Linear index in the internal array
Value at the specified index
Interface for mutable 4x4 matrices. Provides modifiable 4x4 matrix operations for complete 3D transformations.