Public Member Functions | |
Matrix3D (void) | |
Matrix3D (const Point3D &eulerAngles) | |
Matrix3D (const class Quaternion &q) | |
Matrix3D (const class Matrix4D &m) | |
double & | operator() (int col, int row) |
double & | index (int col, int row) |
double | det (void) const |
Matrix3D | operator- (void) const |
Matrix3D | operator * (const Matrix3D &m) const |
Matrix3D & | operator *= (const Matrix3D &m) |
Matrix3D | operator+ (const Matrix3D &m) const |
Matrix3D & | operator+= (const Matrix3D &m) |
Matrix3D | operator- (const Matrix3D &m) const |
Matrix3D & | operator-= (const Matrix3D &m) |
Matrix3D | operator * (double f) const |
Matrix3D & | operator *= (double f) |
Matrix3D | operator/ (double f) const |
Matrix3D & | operator/= (double f) |
Matrix3D | transpose (void) const |
Matrix3D | invert (void) const |
Point3D | operator * (const Point3D &p) const |
Ray3D | operator * (const Ray3D &ray) const |
Point3D | toEuler (void) const |
Point3D | toEuler (const Point3D &euler) const |
double | squareNorm (void) const |
void | SVD (Matrix3D &r1, Matrix3D &diagonal, Matrix3D &r2) const |
void | Factor (Matrix3D &rot, Matrix3D &sym) const |
Matrix3D | closestRotation (void) const |
Matrix3D | symmetrize (void) const |
Matrix3D | skewSymmetrize (void) const |
Static Public Member Functions | |
static int | Invert (const Matrix3D &in, Matrix3D &out) |
static Matrix3D | IdentityMatrix (void) |
static double | SquareL2Difference (const Matrix3D &m1, const Matrix3D &m2) |
static Matrix3D | Exp (const Matrix3D &m, int iter=100) |
static Matrix3D | Log (const Matrix3D &m, double eps=0.0001) |
static Matrix3D | SquareRoot (const Matrix3D &m, double eps=0.000001) |
Public Attributes | |
double | m [3][3] |
|
This constructor generates an identity matrix |
|
This constructor generates a rotation matrix from the specified Euler angles |
|
This constructor generates a rotation matrix from the specified quaternion |
|
This constructor generates a matrix from the top 3x3 matrix of the Matrix4D |
|
This method returns the closest 3x3 rotation matrix |
|
This method returns the determinant of the matrix. |
|
This method returns the exponent of a matrix |
|
This method factors a matrix as the product of a rotation and a symmetric matrix |
|
This static method returns the identity matrix. |
|
This method returns the entry of the matrix in the col-th column and the row-th row. |
|
This static method tries to invert the input matrix and write it out into the output. A value of 0 is returned if the matrix has 0 determinant. |
|
This method returns the inverse of a matrix. (Note that it does not change the entries of the current matrix.) |
|
This method returns the logarithm of a matrix |
|
This method applies transformation to a ray. |
|
This method transforms a 3D point. |
|
This method scales the entries of a matrix and returns a new matrix. |
|
This method multiplies two matrices and returns the product. |
|
This method scales the entries of the current matrix. |
|
This method multiplies the current matrix (on the right) by the input matrix.. |
|
This method returns the entry of the matrix in the col-th column and the row-th row. |
|
This method adds two matrices and returns the sum. |
|
This method adds the input matrix to the current matrix. |
|
This method subtracts two matrices and returns the difference. |
|
This method returns the negative of the matrix |
|
This method subtracts the input matrix from the current matrix. |
|
This method divides the entries of a matrix and returns a new matrix. |
|
This method divides the entries of the current matrix. |
|
This method returns nearest skew-symmetric matrix |
|
This method returns sum of the squares of the entries of the difference matrix. |
|
This method returns the sum of the squares of the matrix entries |
|
This method returns the square-root of a matrix |
|
This method computes the SVD decomposition of the upper 3x3 matrix, such that r1 and r2 are rotations and the upper 3x3 matrix is equal to r1*diagonal*r2 |
|
This method returns nearest symmetric matrix |
|
Because the Euler angles are not unique, the following method returns the Euler angles closest to the input ones |
|
This method returns the Euler Angles of a rotation matrix |
|
This method returns the transpose of a matrix. (Note that it does not change the entries of the current matrix.) |
|
The actual matrix entries |