Allink  v0.1
MatematicaQuadri.h
1 #ifndef MATEMATICAQUADRI_H
2 #define MATEMATICAQUADRI_H
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <math.h>
7 class Quadri{
8  private:
9  public:
11  Quadri();
13  Quadri(double *Axis,double Angle);
15  Quadri(double Ang1,double Ang2,double Ang3);
17  Quadri(double ww,double xx,double yy,double zz);
19  double *Axis();
21  double x;
23  double y;
25  double z;
27  double w;
29  double Norm();
31  double NormInv(double *Vett);
33  double Sqr();
35  double Normalize();
37  double Normalize(double *Vett);
39  double Angle();
41  void Prod(Quadri q);
43  Quadri Prod(Quadri q,Quadri p);
45  Quadri GetConj();
47  void Inv();
49  void Matrix4x4(double *M);
51  void Matrix3x3(double *M);
53  void RotMatrix(double *data,int dim);
55  void Basis(double a,double b,double c,double d,double *Matr);
57  void Conj();
59  void PrintMatrix(double *M);
61  Quadri operator* (const Quadri &rq) const;
63  double *operator* (const double *Vet) const;
65  Quadri operator= (const Quadri &rq) const;
66 };
67 #endif //MATEMATICA_H
Quadri operator=(const Quadri &rq) const
Equal operator.
void Matrix4x4(double *M)
Create a 4x4 rotation matrix.
double Angle()
Return the rotation angle.
double Norm()
Norm of the quaternion.
double Sqr()
Square of a quaternion.
double * Axis()
Print the component of the axis.
void RotMatrix(double *data, int dim)
Alternative creation of a rotation matrix.
double x
First basis component.
Quadri()
An empty quaternion.
void PrintMatrix(double *M)
Print a rotation matrix.
void Inv()
Inverse.
void Conj()
Conjugate.
double y
Second basis component.
void Matrix3x3(double *M)
Create a 3x3 rotation matrix.
double Normalize()
Normalize a quaternion.
double NormInv(double *Vett)
Inverse norm of a 3d-vector.
double w
Forth basis component.
Quaternion class.
double z
Third basis component.
void Basis(double a, double b, double c, double d, double *Matr)
Boh.
Quadri operator*(const Quadri &rq) const
Scalar product with a quaternion.
Quadri GetConj()
Give the conjugate.
void Prod(Quadri q)
Product between two quaternions.