A class representing a 3x3 matrix.
var m = new Matrix3();
The set() method takes arguments in row-major
order, while internally they are stored in the elements array in column-major order.
This means that calling
m.set(11, 12, 13,
21, 22, 23,
31, 32, 33);
will result in the elements array containing:
m.elements = [11, 21, 31,
12, 22, 32,
13, 23, 33];
and internally all calculations are performed using column-major ordering. However, as the actual ordering
makes no difference mathematically and most people are used to thinking about matrices in row-major order,
the Verge3D documentation shows matrices in row-major order. Just bear in mind that if you are reading the source
code, you'll have to take the transpose of any matrices outlined here to make sense of the calculations.
Creates and initializes the Matrix3 to the 3x3 identity matrix.
A column-major list of matrix values.
Used to check whether this or derived classes are Matrix3s. Default is true.
You should not change this, as it used internally for optimisation.
attribute - An attribute of floats that represent 3D vectors.
Multiplies (applies) this matrix to every 3D vector in the attribute.
Creates a new Matrix3 and with identical elements to this one.
Copies the elements of matrix m into this matrix.
Computes and returns the determinant of this matrix.
Return true if this matrix and m are equal.
array - the array to read the elements from.
offset - (optional) index of first element in the array. Default is 0.
Sets the elements of this matrix based on an array in column-major format.
m - the matrix to take the inverse of.
throwOnDegenerate - (optional) If true, throw an error if the matrix is degenerate (not invertible).
Set this matrix to the inverse of the passed matrix m, using the analytic method. If throwOnDegenerate is not set and the matrix is not invertible, set this to the 3x3 identity matrix.
m - Matrix4
Sets this matrix as the upper left 3x3 of the normal matrix of the passed matrix4. The normal matrix is the inverse transpose of the matrix m.
Resets this matrix to the 3x3 identity matrix:
1, 0, 0
0, 1, 0
0, 0, 1
Post-multiplies this matrix by m.
Sets this matrix to a x b.
Multiplies every component of the matrix by the scalar value s.
n11 - value to put in row 1, col 1.
n12 - value to put in row 1, col 2.
n32 - value to put in row 3, col 2.
n33 - value to put in row 3, col 3.
Sets the 3x3 matrix values to the given row-major sequence of values.
Pre-multiplies this matrix by m.
Set this matrx to the upper 3x3 matrix of the Matrix4 m.
tx - offset x
ty - offset y
sx - repeat x
sy - repeat y
rotation - rotation (in radians)
cx - center x of rotation
cy - center y of rotation
Sets the UV transform matrix from offset, repeat, rotation, and center.
array - (optional) array to store the resulting vector in. If not given a new array will be created.
offset - (optional) offset in the array at which to put the result.
Writes the elements of this matrix to an array in column-major format.
Transposes this matrix in place.
array - array to store the resulting vector in.
Transposes this matrix into the supplied array, and returns itself unchanged.
For more info on how to obtain the source code of this module see this page.