new Matrix3
A 3x3 matrix, indexable as a column-major order array. Constructor parameters are in row-major order for code readability.
Parameters:
| Name | Type | Argument | Default | Description | 
|---|---|---|---|---|
| column0Row0 | Number | <optional> | 0.0 | The value for column 0, row 0. | 
| column1Row0 | Number | <optional> | 0.0 | The value for column 1, row 0. | 
| column2Row0 | Number | <optional> | 0.0 | The value for column 2, row 0. | 
| column0Row1 | Number | <optional> | 0.0 | The value for column 0, row 1. | 
| column1Row1 | Number | <optional> | 0.0 | The value for column 1, row 1. | 
| column2Row1 | Number | <optional> | 0.0 | The value for column 2, row 1. | 
| column0Row2 | Number | <optional> | 0.0 | The value for column 0, row 2. | 
| column1Row2 | Number | <optional> | 0.0 | The value for column 1, row 2. | 
| column2Row2 | Number | <optional> | 0.0 | The value for column 2, row 2. | 
- Matrix3.fromColumnMajor
- Matrix3.fromRowMajorArray
- Matrix3.fromQuaternion
- Matrix3.fromScale
- Matrix3.fromUniformScale
- Matrix2
- Matrix4
See:
Source:
Members
- 
    <static> COLUMN0ROW0
- 
    
    The index into Matrix3 for column 0, row 0.
- 
    <static> COLUMN0ROW1
- 
    
    The index into Matrix3 for column 0, row 1.
- 
    <static> COLUMN0ROW2
- 
    
    The index into Matrix3 for column 0, row 2.
- 
    <static> COLUMN1ROW0
- 
    
    The index into Matrix3 for column 1, row 0.
- 
    <static> COLUMN1ROW1
- 
    
    The index into Matrix3 for column 1, row 1.
- 
    <static> COLUMN1ROW2
- 
    
    The index into Matrix3 for column 1, row 2.
- 
    <static> COLUMN2ROW0
- 
    
    The index into Matrix3 for column 2, row 0.
- 
    <static> COLUMN2ROW1
- 
    
    The index into Matrix3 for column 2, row 1.
- 
    <static> COLUMN2ROW2
- 
    
    The index into Matrix3 for column 2, row 2.
- 
    <static> IDENTITY
- 
    
    An immutable Matrix3 instance initialized to the identity matrix.
Methods
- 
    clone
- 
    
    
    Duplicates the provided Matrix3 instance. Parameters:Name Type Argument Description resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.
- 
    equals
- 
    
    
    Compares this matrix to the provided matrix componentwise and returns trueif they are equal,falseotherwise.Parameters:Name Type Argument Description rightMatrix3 <optional> 
 The right hand side matrix. Returns:Booleantrueif they are equal,falseotherwise.
- 
    equalsEpsilon
- 
    
    
    Compares this matrix to the provided matrix componentwise and returns trueif they are within the provided epsilon,falseotherwise.Parameters:Name Type Argument Description rightMatrix3 <optional> 
 The right hand side matrix. epsilonNumber The epsilon to use for equality testing. Returns:Booleantrueif they are within the provided epsilon,falseotherwise.
- 
    toString
- 
    
    
    Creates a string representing this Matrix with each row being on a separate line and in the format '(column0, column1, column2)'. Returns:String A string representing the provided Matrix with each row being on a separate line and in the format '(column0, column1, column2)'.
- 
    <static> abs
- 
    
    
    Computes a matrix, which contains the absolute (unsigned) values of the provided matrix's elements. Parameters:Name Type Argument Description matrixMatrix3 The matrix with signed elements. resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.
- 
    <static> clone
- 
    
    
    Duplicates a Matrix3 instance. Parameters:Name Type Argument Description matrixMatrix3 The matrix to duplicate. resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided. (Returns undefined if matrix is undefined)
- 
    <static> determinant
- 
    
    
    Computes the determinant of the provided matrix. Parameters:Name Type Description matrixMatrix3 The matrix to use. Returns:Number The value of the determinant of the matrix.
- 
    <static> equals
- 
    
    
    Compares the provided matrices componentwise and returns trueif they are equal,falseotherwise.Parameters:Name Type Argument Description leftMatrix3 <optional> 
 The first matrix. rightMatrix3 <optional> 
 The second matrix. Returns:Booleantrueif left and right are equal,falseotherwise.
- 
    <static> equalsEpsilon
- 
    
    
    Compares the provided matrices componentwise and returns trueif they are within the provided epsilon,falseotherwise.Parameters:Name Type Argument Description leftMatrix3 <optional> 
 The first matrix. rightMatrix3 <optional> 
 The second matrix. epsilonNumber The epsilon to use for equality testing. Returns:Booleantrueif left and right are within the provided epsilon,falseotherwise.
- 
    <static> fromArray
- 
    
    
    Creates a Matrix3 from 9 consecutive elements in an array. Parameters:Name Type Argument Default Description arrayArray The array whose 9 consecutive elements correspond to the positions of the matrix. Assumes column-major order. startingIndexNumber <optional> 
 0 The offset into the array of the first element, which corresponds to first column first row position in the matrix. resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.Example// Create the Matrix3: // [1.0, 2.0, 3.0] // [1.0, 2.0, 3.0] // [1.0, 2.0, 3.0] var v = [1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0]; var m = Cesium.Matrix3.fromArray(v); // Create same Matrix3 with using an offset into an array var v2 = [0.0, 0.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0, 3.0]; var m2 = Cesium.Matrix3.fromArray(v2, 2); 
- 
    <static> fromColumnMajorArray
- 
    
    
    Creates a Matrix3 instance from a column-major order array. Parameters:Name Type Argument Description valuesArray The column-major order array. resultMatrix3 <optional> 
 The object in which the result will be stored, if undefined a new instance will be created. Returns:The modified result parameter, or a new Matrix3 instance if one was not provided.
- 
    <static> fromQuaternion
- 
    
    
    Computes a 3x3 rotation matrix from the provided quaternion. Parameters:Name Type Description quaternionQuaternion the quaternion to use. Returns:Matrix3 The 3x3 rotation matrix from this quaternion.
- 
    <static> fromRotationX
- 
    
    
    Creates a rotation matrix around the x-axis. Parameters:Name Type Argument Description angleNumber The angle, in radians, of the rotation. Positive angles are counterclockwise. resultMatrix3 <optional> 
 The object in which the result will be stored, if undefined a new instance will be created. Returns:The modified result parameter, or a new Matrix3 instance if one was not provided.Example// Rotate a point 45 degrees counterclockwise around the x-axis. var p = new Cesium.Cartesian3(5, 6, 7); var m = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(45.0)); var rotated = Cesium.Matrix3.multiplyByVector(m, p); 
- 
    <static> fromRotationY
- 
    
    
    Creates a rotation matrix around the y-axis. Parameters:Name Type Argument Description angleNumber The angle, in radians, of the rotation. Positive angles are counterclockwise. resultMatrix3 <optional> 
 The object in which the result will be stored, if undefined a new instance will be created. Returns:The modified result parameter, or a new Matrix3 instance if one was not provided.Example// Rotate a point 45 degrees counterclockwise around the y-axis. var p = new Cesium.Cartesian3(5, 6, 7); var m = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(45.0)); var rotated = Cesium.Matrix3.multiplyByVector(m, p); 
- 
    <static> fromRotationZ
- 
    
    
    Creates a rotation matrix around the z-axis. Parameters:Name Type Argument Description angleNumber The angle, in radians, of the rotation. Positive angles are counterclockwise. resultMatrix3 <optional> 
 The object in which the result will be stored, if undefined a new instance will be created. Returns:The modified result parameter, or a new Matrix3 instance if one was not provided.Example// Rotate a point 45 degrees counterclockwise around the z-axis. var p = new Cesium.Cartesian3(5, 6, 7); var m = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(45.0)); var rotated = Cesium.Matrix3.multiplyByVector(m, p); 
- 
    <static> fromRowMajorArray
- 
    
    
    Creates a Matrix3 instance from a row-major order array. The resulting matrix will be in column-major order. Parameters:Name Type Argument Description valuesArray The row-major order array. resultMatrix3 <optional> 
 The object in which the result will be stored, if undefined a new instance will be created. Returns:The modified result parameter, or a new Matrix3 instance if one was not provided.
- 
    <static> fromScale
- 
    
    
    Computes a Matrix3 instance representing a non-uniform scale. Parameters:Name Type Argument Description scaleCartesian3 The x, y, and z scale factors. resultMatrix3 <optional> 
 The object in which the result will be stored, if undefined a new instance will be created. Returns:The modified result parameter, or a new Matrix3 instance if one was not provided.Example// Creates // [7.0, 0.0, 0.0] // [0.0, 8.0, 0.0] // [0.0, 0.0, 9.0] var m = Cesium.Matrix3.fromScale(new Cesium.Cartesian3(7.0, 8.0, 9.0)); 
- 
    <static> fromUniformScale
- 
    
    
    Computes a Matrix3 instance representing a uniform scale. Parameters:Name Type Argument Description scaleNumber The uniform scale factor. resultMatrix3 <optional> 
 The object in which the result will be stored, if undefined a new instance will be created. Returns:The modified result parameter, or a new Matrix3 instance if one was not provided.Example// Creates // [2.0, 0.0, 0.0] // [0.0, 2.0, 0.0] // [0.0, 0.0, 2.0] var m = Cesium.Matrix3.fromUniformScale(2.0); 
- 
    <static> getColumn
- 
    
    
    Retrieves a copy of the matrix column at the provided index as a Cartesian3 instance. Parameters:Name Type Argument Description matrixMatrix3 The matrix to use. indexNumber The zero-based index of the column to retrieve. resultCartesian3 <optional> 
 The object onto which to store the result. Throws:DeveloperError : index must be 0, 1, or 2.Returns:Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided.See:
- 
    <static> getEigenDecomposition
- 
    
    
    Computes the eigenvectors and eigenvalues of a symmetric matrix. Returns a diagonal matrix and unitary matrix such that: matrix = unitary matrix * diagonal matrix * transpose(unitary matrix)The values along the diagonal of the diagonal matrix are the eigenvalues. The columns of the unitary matrix are the corresponding eigenvectors. Parameters:Name Type Argument Description matrixMatrix3 The matrix to decompose into diagonal and unitary matrix. Expected to be symmetric. resultObject <optional> 
 An object with unitary and diagonal properties which are matrices onto which to store the result. Returns:Object An object with unitary and diagonal properties which are the unitary and diagonal matrices, respectively.Examplevar a = //... symetric matrix var result = { unitary : new Cesium.Matrix3(), diagonal : new Cesium.Matrix3() }; Cesium.Matrix3.getEigenDecomposition(a, result); var unitaryTranspose = Cesium.Matrix3.transpose(result.unitary); var b = Cesium.Matrix3.multiply(result.unitary, result.diagonal); Cesium.Matrix3.multiply(b, unitaryTranspose, b); // b is now equal to a var lambda = Cesium.Matrix3.getColumn(result.diagonal, 0).x; // first eigenvalue var v = Cesium.Matrix3.getColumn(result.unitary, 0); // first eigenvector var c = Cesium.Cartesian3.multiplyByScalar(v, lambda); // equal to Cesium.Matrix3.multiplyByVector(a, v)
- 
    <static> getElementIndex
- 
    
    
    Computes the array index of the element at the provided row and column. Parameters:Name Type Description rowNumber The zero-based index of the row. columnNumber The zero-based index of the column. Throws:- 
DeveloperError : row must be 0, 1, or 2.
- 
DeveloperError : column must be 0, 1, or 2.
 Returns:Number The index of the element at the provided row and column.Examplevar myMatrix = new Cesium.Matrix3(); var column1Row0Index = Cesium.Matrix3.getElementIndex(1, 0); var column1Row0 = myMatrix[column1Row0Index] myMatrix[column1Row0Index] = 10.0; 
- 
- 
    <static> getMaximumScale
- 
    
    
    Computes the maximum scale assuming the matrix is an affine transformation. The maximum scale is the maximum length of the column vectors. Parameters:Name Type Description matrixMatrix3 The matrix. Returns:Number The maximum scale.
- 
    <static> getRow
- 
    
    
    Retrieves a copy of the matrix row at the provided index as a Cartesian3 instance. Parameters:Name Type Argument Description matrixMatrix3 The matrix to use. indexNumber The zero-based index of the row to retrieve. resultCartesian3 <optional> 
 The object onto which to store the result. Throws:DeveloperError : index must be 0, 1, or 2.Returns:Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided.See:
- 
    <static> getScale
- 
    
    
    Extracts the non-uniform scale assuming the matrix is an affine transformation. Parameters:Name Type Argument Description matrixMatrix3 The matrix. resultCartesian3 <optional> 
 The object onto which to store the result. Returns:Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided.
- 
    <static> inverse
- 
    
    
    Computes the inverse of the provided matrix. Parameters:Name Type Argument Description matrixMatrix3 The matrix to invert. resultMatrix3 <optional> 
 The object onto which to store the result. Throws:DeveloperError : matrix is not invertible.Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.
- 
    <static> multiply
- 
    
    
    Computes the product of two matrices. Parameters:Name Type Argument Description leftMatrix3 The first matrix. rightMatrix3 The second matrix. resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.
- 
    <static> multiplyByScalar
- 
    
    
    Computes the product of a matrix and a scalar. Parameters:Name Type Argument Description matrixMatrix3 The matrix. scalarNumber The number to multiply by. resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Cartesian3 instance if one was not provided.
- 
    <static> multiplyByVector
- 
    
    
    Computes the product of a matrix and a column vector. Parameters:Name Type Argument Description matrixMatrix3 The matrix. cartesianCartesian3 The column. resultCartesian3 <optional> 
 The object onto which to store the result. Returns:Cartesian3 The modified result parameter or a new Cartesian3 instance if one was not provided.
- 
    <static> negate
- 
    
    
    Creates a negated copy of the provided matrix. Parameters:Name Type Argument Description matrixMatrix3 The matrix to negate. resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.
- 
    <static> setColumn
- 
    
    
    Computes a new matrix that replaces the specified column in the provided matrix with the provided Cartesian3 instance. Parameters:Name Type Argument Description matrixMatrix3 The matrix to use. indexNumber The zero-based index of the column to set. cartesianCartesian3 The Cartesian whose values will be assigned to the specified column. resultCartesian3 <optional> 
 The object onto which to store the result. Throws:DeveloperError : index must be 0, 1, or 2.Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.See:
- 
    <static> setRow
- 
    
    
    Computes a new matrix that replaces the specified row in the provided matrix with the provided Cartesian3 instance. Parameters:Name Type Argument Description matrixMatrix3 The matrix to use. indexNumber The zero-based index of the row to set. cartesianCartesian3 The Cartesian whose values will be assigned to the specified row. resultCartesian3 <optional> 
 The object onto which to store the result. Throws:DeveloperError : index must be 0, 1, or 2.Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.See:
- 
    <static> toArray
- 
    
    
    Creates an Array from the provided Matrix3 instance. The array will be in column-major order. Parameters:Name Type Argument Description matrixMatrix3 The matrix to use.. resultArray <optional> 
 The Array onto which to store the result. Returns:Array The modified Array parameter or a new Array instance if one was not provided.
- 
    <static> transpose
- 
    
    
    Computes the transpose of the provided matrix. Parameters:Name Type Argument Description matrixMatrix3 The matrix to transpose. resultMatrix3 <optional> 
 The object onto which to store the result. Returns:Matrix3 The modified result parameter or a new Matrix3 instance if one was not provided.
