|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectmaspack.matrix.MatrixObject
maspack.matrix.Matrix3dObject
maspack.matrix.Matrix3d
A general 3 x 3 matrix with the elements stored as explicit fields.
| Field Summary |
| Fields inherited from class maspack.matrix.Matrix3dObject |
m00, m01, m02, m10, m11, m12, m20, m21, m22 |
| Constructor Summary | |
Matrix3d()
Creates a matrix and initializes it to zero. |
|
Matrix3d(double[] vals)
Creates a matrix and initializes its elements from an array of values. |
|
Matrix3d(Matrix3dObject M)
Creates a matrix and initializes its elements to those of the matrix M. |
|
| Method Summary | |
void |
add(Matrix3dObject M1)
Adds this matrix to M1 and places the result in this matrix. |
void |
add(Matrix3dObject M1,
Matrix3dObject M2)
Adds matrix M1 to M2 and places the result in this matrix. |
boolean |
invert()
Inverts this matrix in place, returning false if the matrix is detected to be singular. The inverse is computed using an unrolled LU decomposition with partial pivoting. |
boolean |
invert(Matrix3dObject M)
Inverts the matrix M and places the result in this matrix, return false if M is detected to be singular. The inverse is computed using an unrolled LU decomposition with partial pivoting. |
static void |
main(java.lang.String[] args)
|
void |
mul(Matrix3dObject M1)
Multiplies this matrix by M1 and places the result in this matrix. |
void |
mul(Matrix3dObject M1,
Matrix3dObject M2)
Multiplies matrix M1 by M2 and places the result in this matrix. |
boolean |
mulInverse(Matrix3dObject M1)
Multiplies this matrix by the inverse of M1 and places the result in this matrix. |
boolean |
mulInverseBoth(Matrix3dObject M1,
Matrix3dObject M2)
Multiplies the inverse of matrix M1 by the inverse of M2 and places the result in this matrix. |
boolean |
mulInverseLeft(Matrix3dObject M1,
Matrix3dObject M2)
Multiplies the inverse of matrix M1 by M2 and places the result in this matrix. |
boolean |
mulInverseRight(Matrix3dObject M1,
Matrix3dObject M2)
Multiplies matrix M1 by the inverse of M2 and places the result in this matrix. |
void |
mulTranspose(Matrix3dObject M1)
Multiplies this matrix by the transpose of M1 and places the result in this matrix. |
void |
mulTransposeBoth(Matrix3dObject M1,
Matrix3dObject M2)
Multiplies the transpose of matrix M1 by the transpose of M2 and places the result in this matrix. |
void |
mulTransposeLeft(Matrix3dObject M1,
Matrix3dObject M2)
Multiplies the transpose of matrix M1 by M2 and places the result in this matrix. |
void |
mulTransposeRight(Matrix3dObject M1,
Matrix3dObject M2)
Multiplies matrix M1 by the transpose of M2 and places the result in this matrix. |
void |
negate(Matrix3dObject M1)
Sets this matrix to the negative of M1. |
void |
scale(double s)
Scales the elements of this matrix by s. |
void |
scale(double s,
Matrix3dObject M1)
Scales the elements of matrix M1 by s and places
the results in this matrix. |
void |
setDiagonal(double[] vals)
Sets this matrix to a diagonal matrix whose values are specified by the array vals. |
void |
setDiagonal(Vector3d diag)
Sets this matrix to a diagonal matrix whose values are specified by diag. |
void |
setRandom()
Sets the elements of this matrix to uniformly distributed random values in the range -0.5 (inclusive) to 0.5 (exclusive). |
void |
setRandom(double lower,
double upper)
Sets the elements of this matrix to uniformly distributed random values in a specified range. |
void |
setRandom(double lower,
double upper,
java.util.Random generator)
Sets the elements of this matrix to uniformly distributed random values in a specified range, using a supplied random number generator. |
void |
setZero()
Sets the elements of this matrix to zero. |
void |
sub(Matrix3dObject M1)
Subtracts this matrix from M1 and places the result in this matrix. |
void |
sub(Matrix3dObject M1,
Matrix3dObject M2)
Subtracts matrix M1 from M2 and places the result in this matrix. |
void |
transpose(Matrix3dObject M1)
Takes the transpose of matrix M1 and places the result in this matrix. |
| Methods inherited from class maspack.matrix.Matrix3dObject |
colSize, determinant, epsilonEquals, equals, frobeniusNorm, get, get, getColumn, getColumn, getRow, getRow, infinityNorm, mul, mul, mulInverse, mulInverse, mulInverseTranspose, mulInverseTranspose, mulTranspose, mulTranspose, negate, oneNorm, rowSize, set, set, set, setColumn, setColumn, setIdentity, setRow, setRow, transpose |
| Methods inherited from class maspack.matrix.MatrixObject |
epsilonEquals, equals, equals, get, getColumn, getRow, isFixedSize, scan, set, set, setColumn, setRow, setSize, toString, toString, toString |
| Methods inherited from class java.lang.Object |
getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public Matrix3d()
public Matrix3d(double[] vals)
vals - element values for the matrix, with element (i,j)
stored at location i*3+jpublic Matrix3d(Matrix3dObject M)
M - matrix object to be copied.| Method Detail |
public void mul(Matrix3dObject M1)
M1 - right-hand matrix
public void mul(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrixpublic void mulTranspose(Matrix3dObject M1)
M1 - right-hand matrix
public void mulTransposeLeft(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrix
public void mulTransposeRight(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrix
public void mulTransposeBoth(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrixpublic boolean mulInverse(Matrix3dObject M1)
M1 - right-hand matrix
public boolean mulInverseRight(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrix
public boolean mulInverseLeft(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrix
public boolean mulInverseBoth(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrix
public void add(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrixpublic void add(Matrix3dObject M1)
M1 - right-hand matrix
public void sub(Matrix3dObject M1,
Matrix3dObject M2)
M1 - left-hand matrixM2 - right-hand matrixpublic void sub(Matrix3dObject M1)
M1 - right-hand matrixpublic void scale(double s)
s.
s - scaling factor
public void scale(double s,
Matrix3dObject M1)
s and places
the results in this matrix.
s - scaling factorM1 - matrix to be scaledpublic void negate(Matrix3dObject M1)
M1 - matrix to negatepublic void transpose(Matrix3dObject M1)
M1 - matrix to take the transpose ofpublic void setZero()
public void setRandom()
public void setRandom(double lower,
double upper)
lower - lower random value (inclusive)upper - upper random value (exclusive)
public void setRandom(double lower,
double upper,
java.util.Random generator)
lower - lower random value (inclusive)upper - upper random value (exclusive)generator - random number generatorpublic boolean invert()
invert in class Matrix3dObjectpublic boolean invert(Matrix3dObject M)
M - matrix to invert
public void setDiagonal(Vector3d diag)
diag - diagonal valuespublic void setDiagonal(double[] vals)
vals - diagonal valuespublic static void main(java.lang.String[] args)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||