/* Mathematiques de l'informatique graphique */ /* Matrice de base pour des courbes B-Splines */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Mars 2020 */ #include #include #include #include "MatriceDeBase.h" /* Constructeurs */ MatriceDeBase::MatriceDeBase(void) { for ( int i = 0 ; i < 4 ; i++ ) for ( int j = 0 ; j < 4 ; j++ ) c[i][j] =( i == j ) ? 1.0F : 0.0F; } MatriceDeBase::MatriceDeBase(float *t):Matrice4x4(t) { } MatriceDeBase::MatriceDeBase(float **t):Matrice4x4(t) { } MatriceDeBase::MatriceDeBase(MatriceDeBase *m):Matrice4x4(m) { } /* Destructeur */ MatriceDeBase::~MatriceDeBase(void) { } static float vl1[] = { -1.0F/6.0F, 3.0F/6.0F, -3.0F/6.0F, 1.0F/6.0F, 3.0F/6.0F,-6.0F/6.0F, 3.0F/6.0F, 0.0F, -3.0F/6.0F, 0.0F, 3.0F/6.0F, 0.0F, 1.0F/6.0F, 4.0F/6.0F, 1.0F/6.0F, 0.0F }; const MatriceDeBase MatriceDeBase::NRUBS(vl1); static float vl2[] = { -1.0F/2.0F, 3.0F/2.0F, -3.0F/2.0F, 1.0F/2.0F, 2.0F/2.0F,-5.0F/2.0F, 4.0F/2.0F,-1.0F/2.0F, -1.0F/2.0F, 0.0F, 1.0F/2.0F, 0.0F, 0.0F, 2.0F/2.0F, 0.0F, 0.0F }; const MatriceDeBase MatriceDeBase::CATMULL_ROM(vl2);