ESyS-Particle
4.0.1
|
3x3 Matrix More...
#include <Matrix3.h>
Public Member Functions | |
MATRIX3_INLINE | Matrix3 (const Vec3 &, const Vec3 &, const Vec3 &) |
MATRIX3_INLINE | Matrix3 (const double[3][3]) |
MATRIX3_INLINE | Matrix3 (const Matrix3 &) |
MATRIX3_INLINE double | det () |
Vec3 | solve (const Vec3 &) const |
Vec3 | solve_homogeneous () const |
void | invert () |
in-situ inversion | |
MATRIX3_INLINE Matrix3 | inv () |
return inverse; | |
MATRIX3_INLINE void | transpose () |
transpose in situ | |
MATRIX3_INLINE Matrix3 | trans () const |
return transposed | |
MATRIX3_INLINE Vec3 | operator* (const Vec3 &) const |
MATRIX3_INLINE Matrix3 | operator* (double) const |
MATRIX3_INLINE Matrix3 | operator/ (double) const |
MATRIX3_INLINE Matrix3 | operator* (const Matrix3 &) const |
MATRIX3_INLINE Matrix3 & | operator+= (const Matrix3 &) |
MATRIX3_INLINE Matrix3 | operator+ (const Matrix3 &) const |
MATRIX3_INLINE Matrix3 | operator- (const Matrix3 &) const |
MATRIX3_INLINE bool | operator== (const Matrix3 &) const |
MATRIX3_INLINE Matrix3 & | operator= (const Matrix3 &) |
MATRIX3_INLINE double | trace () const |
MATRIX3_INLINE double | norm () const |
MATRIX3_INLINE double | operator() (int i, int j) const |
MATRIX3_INLINE double & | operator() (int i, int j) |
void | eigen (Vec3 &, Vec3 &, Vec3 &, double &, double &, double &) |
Static Public Member Functions | |
static MATRIX3_INLINE Matrix3 | Unit () |
eigenvectors, eigenvalues | |
Friends | |
MATRIX3_INLINE friend Matrix3 | operator* (double, const Matrix3 &) |
generate matrix from vector | |
MATRIX3_INLINE friend Matrix3 | star (const Vec3 &) |
generate unit matrix | |
MATRIX3_INLINE friend ostream & | operator<< (ostream &, const Matrix3 &) |
3x3 Matrix
MATRIX3_INLINE double Matrix3::det | ( | ) |
void Matrix3::eigen | ( | Vec3 & | v1, |
Vec3 & | v2, | ||
Vec3 & | v3, | ||
double & | e1, | ||
double & | e2, | ||
double & | e3 | ||
) |
calculate eigenvectors & eigenvalues
References det(), CubicEquation::getRealRoots(), solve_homogeneous(), and Unit().
Referenced by PointCloud::getFitPlane().
MATRIX3_INLINE double Matrix3::norm | ( | ) | const |
calculate the euclidian norm of a matrix
Vec3 Matrix3::solve_homogeneous | ( | ) | const |
Solve the homogeneous system Mx=(0,0,0). It is assumed that rank(M)=2. A unit vector is returned;
Referenced by eigen().
MATRIX3_INLINE double Matrix3::trace | ( | ) | const |
calculate the trace of a matrix
Referenced by CParticle::sigma_d().
generate matrix from vector
scalar * matrix