A high performance linear algebra library using native JS arrays. Geared
towards 3D graphics and use with Graphics.WebGL. All matrices are immutable.
This library uses the convention that the prefix make is creating a new
array,as without the prefix, you are applying some transform to an
existing matrix.
Computes the inverse of any matrix. This is somewhat computationally
intensive. If the matrix is not invertible, Nothing is returned.
Computes the inverse of the given matrix, assuming that the matrix is orthonormal. This algorithm is more efficient than general matrix inversion, and has no possibility of failing.
"Flip" the matrix across the diagonal by swapping row index and column index.
Creates a transform from a basis consisting of 3 linearly independent vectors.
Creates a matrix for a projection frustum with the given parameters.
Parameters:
Creates a matrix for a perspective projection with the given parameters.
Parameters:
Creates a matrix for an orthogonal frustum projection with the given parameters.
Parameters:
Creates a matrix for a 2D orthogonal frustum projection with the given
parameters. znear and zfar are assumed to be -1 and 1, respectively.
Parameters:
Creates a transformation matrix for a camera.
Parameters:
Concatenates a rotation in radians about an axis to the given matrix.
Concatenates a translation to the given matrix.
Creates a transformation matrix for rotation in radians about the 3-element vector axis.
Creates a transformation matrix for scaling each of the x, y, and z axes by the amount given in the corresponding element of the 3-element vector.
Creates a transformation matrix for scaling by 3 scalar values, one for each of the x, y, and z directions.
Creates a transformation matrix for translating each of the x, y, and z axes by the amount given in the corresponding element of the 3-element vector.
Creates a transformation matrix for translating by 3 scalar values, one for each of the x, y, and z directions.
Convert a matrix to a record.
Convert a record to a matrix.
4x4 matrix type