61 double u32 = (m23-m12*m13/m11)/u22;
62 double u33 =
std::sqrt(m33 - u31*u31 - u32*u32);
68 double v32 = -v33*u32/u22;
69 double v31 = -(v32*u21+v33*u31)/u11;
71 double v21 = -v22*u21/u11;
77 double n11 = v11*v11 + v21*v21 + v31*v31;
78 double n12 = v11*v21 + v21*v22 + v31*v32;
79 double n13 = v11*v31 + v21*v32 + v31*v33;
80 double n22 = v21*v21 + v22*v22 + v32*v32;
81 double n23 = v21*v31 + v22*v32 + v32*v33;
82 double n33 = v31*v31 + v32*v32 + v33*v33;
88 std::copy(fM, &fM[9], mA);
104 static inline void swap(
double &
a,
double &
b) {
106 double t=
b; b=
a; a=t;
142 os <<
"\n" << m[0] <<
" " << m[1] <<
" " << m[2];
143 os <<
"\n" << m[3] <<
" " << m[4] <<
" " << m[5];
144 os <<
"\n" << m[6] <<
" " << m[7] <<
" " << m[8] <<
"\n";
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Rotation class with the (3D) rotation represented by angles describing first a rotation of an angle p...
Rotation class with the (3D) rotation represented by a unit quaternion (u, i, j, k).
std::ostream & operator<<(std::ostream &os, const AxisAngle &a)
Stream Output and Input.
AxisAngle class describing rotation represented with direction axis (3D Vector) and an angle of rotat...
static void swap(double &a, double &b)
void Rectify()
Re-adjust components to eliminate small deviations from perfect orthonormality.
Rotation class with the (3D) rotation represented by a 3x3 orthogonal matrix.
void GetComponents(ForeignVector &v1, ForeignVector &v2, ForeignVector &v3) const
Get components into three vectors which will be the (orthonormal) columns of the rotation matrix...
EulerAngles class describing rotation as three angles (Euler Angles).
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
Namespace for new Math classes and functions.
void Invert()
Invert a rotation in place.
Rotation3D()
Default constructor (identity rotation)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
AVector operator*(const AVector &v) const
Overload operator * for rotation on a vector.