|
| | Matrix3 () |
| | Default constructor.
|
| |
| | Matrix3 (const Real arr[3][3]) |
| |
| | Matrix3 (Real fEntry00, Real fEntry01, Real fEntry02, Real fEntry10, Real fEntry11, Real fEntry12, Real fEntry20, Real fEntry21, Real fEntry22) |
| |
| Real | Determinant () const |
| |
| Real | determinant () const |
| |
| void | EigenSolveSymmetric (Real afEigenvalue[3], Vector3 akEigenvector[3]) const |
| | Eigensolver, matrix must be symmetric.
|
| |
| void | FromAngleAxis (const Vector3 &rkAxis, const Radian &fRadians) |
| |
| void | FromAxes (const Vector3 &xAxis, const Vector3 &yAxis, const Vector3 &zAxis) |
| |
| Vector3 | GetColumn (size_t iCol) const |
| |
| bool | hasNegativeScale () const |
| | Determines if this matrix involves a negative scaling.
|
| |
| bool | hasScale () const |
| | Determines if this matrix involves a scaling.
|
| |
| bool | Inverse (Matrix3 &rkInverse, Real fTolerance=1e-06f) const |
| |
| Matrix3 | Inverse (Real fTolerance=1e-06f) const |
| |
| Matrix3 | inverse () const |
| |
| bool | operator!= (const Matrix3 &rkMatrix) const |
| | Tests 2 matrices for inequality.
|
| |
| Matrix3 | operator* (const Matrix3 &rkMatrix) const |
| | Matrix concatenation using '*'.
|
| |
| Matrix3 | operator* (Real fScalar) const |
| | Matrix * scalar.
|
| |
| Matrix3 | operator+ (const Matrix3 &rkMatrix) const |
| | Matrix addition.
|
| |
| Matrix3 | operator- () const |
| |
| Matrix3 | operator- (const Matrix3 &rkMatrix) const |
| | Matrix subtraction.
|
| |
| bool | operator== (const Matrix3 &rkMatrix) const |
| | Tests 2 matrices for equality.
|
| |
| Real * | operator[] (size_t iRow) |
| |
| const Real * | operator[] (size_t iRow) const |
| | Member access, allows use of construct mat[r][c].
|
| |
| Matrix3 | orthonormalised () const |
| | Gram-Schmidt orthogonalisation (applied to columns of rotation matrix)
|
| |
| void | Orthonormalize () |
| |
| void | QDUDecomposition (Matrix3 &rkQ, Vector3 &rkD, Vector3 &rkU) const |
| | Orthogonal Q, diagonal D, upper triangular U stored as (u01,u02,u12)
|
| |
| void | SetColumn (size_t iCol, const Vector3 &vec) |
| |
| void | SingularValueComposition (const Matrix3 &rkL, const Vector3 &rkS, const Matrix3 &rkR) |
| |
| void | SingularValueDecomposition (Matrix3 &rkL, Vector3 &rkS, Matrix3 &rkR) const |
| | Singular value decomposition.
|
| |
| Real | SpectralNorm () const |
| |
| void | ToAngleAxis (Vector3 &rkAxis, Degree &rfAngle) const |
| |
| void | ToAngleAxis (Vector3 &rkAxis, Radian &rfAngle) const |
| | Note: Matrix must be orthonormal.
|
| |
| Matrix3 | Transpose () const |
| |
| Matrix3 | transpose () const |
| |
|
(De-)composes the matrix in/ from yaw, pitch and roll angles, where yaw is rotation about the Y vector, pitch is rotation about the X axis, and roll is rotation about the Z axis.
The function suffix indicates the (de-)composition order; e.g. with the YXZ variants the matrix will be (de-)composed as yaw*pitch*roll
For ToEulerAngles*, the return value denotes whether the solution is unique. - Note
- The matrix to be decomposed must be orthonormal.
|
| bool | ToEulerAnglesXYZ (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
| |
| bool | ToEulerAnglesXZY (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
| |
| bool | ToEulerAnglesYXZ (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
| |
| bool | ToEulerAnglesYZX (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
| |
| bool | ToEulerAnglesZXY (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
| |
| bool | ToEulerAnglesZYX (Radian &rfYAngle, Radian &rfPAngle, Radian &rfRAngle) const |
| |
| void | FromEulerAnglesXYZ (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
| |
| void | FromEulerAnglesXZY (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
| |
| void | FromEulerAnglesYXZ (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
| |
| void | FromEulerAnglesYZX (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
| |
| void | FromEulerAnglesZXY (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
| |
| void | FromEulerAnglesZYX (const Radian &fYAngle, const Radian &fPAngle, const Radian &fRAngle) |
| |
A 3x3 matrix which can represent rotations around axes.
- Note
- All the code is adapted from the Wild Magic 0.2 Matrix library (http://www.geometrictools.com/).
- The coordinate system is assumed to be right-handed.