Matrix3 represents 3x3 dense matrices as a set of numerical components. It implement Matrix interface and therefore Vector interface.
m[2]
xx
, yz
, ...x
, y
, z
, ...add
, prodv
, pow
, ...rot
, rotX
, ...diag
, sym
, scalar
, ...Not all the operations have been detailed here to learn more about provided operations see Matrix.
A matrix is 1D-array of number stored in a column-major form, each components of the column are ordered from up to down.
In order to access the components of the matrix use the syntax m.ij
where :
i
can be x
, y
or z
and denotes the row index of the matrix in a descending orderj
can be x
, y
or z
and denotes the column index of the matrix in a left-to-right orderNote m.ij
is equal to m[3 * j + i]
if we consider x == 0
, y == 1
and z == 2
.
You can represent the matrix with theses conventions as :
m.xx = 2; // m[0] = 2
m.yz = 5; // m[7] = 5
Matrix3 provides an interface with Vector3 by implementing Object3 interface.
It allows to construct vectors from rows and columns of the matrix.
Reciprocally you can affect rows and columns of the matrix with a Vector3
.
m.x = new Vector3(2, 0, 2);
u = m.y;
m.xyz = [u, v, w];
For more details see Object3.
Generate rotation matrix using static methods.
// rotation matrix around x axis with angle +pi/4
m = Matrix3.rotX(Math.PI / 4);
// rotation matrix around u axis with angle +pi/4
n = Matrix3.rot(u, Math.PI / 4);
// elliptic rotation matrix around z axis with angle +pi/4
q = Matrix3.rotZ(Math.PI / 4, (x) => 5 * Math.cos(x), Math.sin);
If you want to get deep into rotation features see Object3.
You can also directly assign an existent matrix to a rotation matrix.
m.rotX(Math.PI / 3);
The size in bytes of each element in the array.
The ArrayBuffer instance referenced by the array.
The length in bytes of the array.
The offset in bytes of the array.
The length of the array.
value at row 0, column 0
value at row 0, column 0
value at row 0, column 1
value at row 0, column 1
value at row 0, column 2
value at row 0, column 2
value at row 1, column 0
value at row 1, column 0
value at row 1, column 1
value at row 1, column 1
value at row 1, column 2
value at row 1, column 2
value at row 2, column 0
value at row 2, column 0
value at row 2, column 1
value at row 2, column 1
value at row 2, column 2
value at row 2, column 2
explicitly sets all the component of the matrix ordered as rows
Returns the this object after copying a section of the array identified by start and end to the same array starting at position target
If target is negative, it is treated as length+target where length is the length of the array.
If start is negative, it is treated as length+start. If end is negative, it is treated as length+end.
If not specified, length of the this object is used as its default value.
Returns an array of key, value pairs for every entry in the array
Determines whether all the members of an array satisfy the specified test.
A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Returns the elements of an array that meet the condition specified in a callback function.
A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Returns the value of the first element in the array where predicate is true, and undefined otherwise.
find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, find immediately returns that element value. Otherwise, find returns undefined.
If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Returns the index of the first element in the array where predicate is true, and -1 otherwise.
find calls predicate once for each element of the array, in ascending order, until it finds one where predicate returns true. If such an element is found, findIndex immediately returns that element index. Otherwise, findIndex returns -1.
If provided, it will be used as the this value for each invocation of predicate. If it is not provided, undefined is used instead.
Performs the specified action for each element in an array.
A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Determines whether an array includes a certain element, returning true or false as appropriate.
The element to search for.
The position in this array at which to begin searching for searchElement.
Returns the index of the first occurrence of a value in an array.
The value to locate in the array.
The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
Adds all the elements of an array separated by the specified separator string.
A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma.
Returns an list of keys in the array
Returns the index of the last occurrence of a value in an array.
The value to locate in the array.
The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.
Calls a defined callback function on each element of an array, and returns an array that contains the results.
A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.
If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function.
A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array.
If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.
sets matrix to identity
Reverses the elements in an Array.
See Object3 for more details
See Object3 for more details
See Object3 for more details
Sets a value or an array of values.
A typed or untyped array of values to set.
The index in the current array at which the values are to be written.
Returns a section of an array.
The beginning of the specified portion of the array.
The end of the specified portion of the array.
Determines whether the specified callback function returns true for any element of an array.
A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array.
An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.
Sorts an array.
The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order.
Gets a new Float64Array view of the ArrayBuffer store for this array, referencing the elements at begin, inclusive, up to end, exclusive.
The index of the beginning of the array.
The index of the end of the array.
Converts a number to a string by using the current locale.
Returns a string representation of an array.
Returns an list of values in the array
matrix from given 1D array containing the components of the matrix ordered as rows
matrix from 2D array of number ordered such that arr[j]
is the j-th column of the matrix
matrix from 2D array of number ordered such that arr[i]
is the i-th row of the matrix
scalar value
Generated using TypeDoc
Brief
Matrix3 represents 3x3 dense matrices as a set of numerical components. It implement Matrix interface and therefore Vector interface.
Main features
m[2]
xx
,yz
, ...x
,y
,z
, ...add
,prodv
,pow
, ...rot
,rotX
, ...diag
,sym
,scalar
, ...Not all the operations have been detailed here to learn more about provided operations see Matrix.
Getting Started
A matrix is 1D-array of number stored in a column-major form, each components of the column are ordered from up to down.
Components accessors
In order to access the components of the matrix use the syntax
m.ij
where :i
can bex
,y
orz
and denotes the row index of the matrix in a descending orderj
can bex
,y
orz
and denotes the column index of the matrix in a left-to-right orderNote
m.ij
is equal tom[3 * j + i]
if we considerx == 0
,y == 1
andz == 2
.You can represent the matrix with theses conventions as :
Example
m.xx = 2; // m[0] = 2 m.yz = 5; // m[7] = 5
Interface with Vector3
Matrix3 provides an interface with Vector3 by implementing Object3 interface. It allows to construct vectors from rows and columns of the matrix. Reciprocally you can affect rows and columns of the matrix with a
Vector3
.Example
m.x = new Vector3(2, 0, 2); u = m.y; m.xyz = [u, v, w];
For more details see Object3.
Rotation matrix
Generate rotation matrix using static methods.
Example
// rotation matrix around x axis with angle +pi/4 m = Matrix3.rotX(Math.PI / 4); // rotation matrix around u axis with angle +pi/4 n = Matrix3.rot(u, Math.PI / 4); // elliptic rotation matrix around z axis with angle +pi/4 q = Matrix3.rotZ(Math.PI / 4, (x) => 5 * Math.cos(x), Math.sin);
If you want to get deep into rotation features see Object3.
You can also directly assign an existent matrix to a rotation matrix.
Example
m.rotX(Math.PI / 3);