/* nicolas.janey@univ-fcomte.fr */ /* Octobre 2005 */ /* Classe de gestion de matrice 4x4 */ #include "Matrice.h" Matrice::Matrice(void) { for ( int i = 0 ; i < 4 ; i++ ) for ( int j = 0 ; j < 4 ; j++ ) m[i][j] = ( i == j ) ? 1.0F : 0.0F; } Matrice::Matrice(float m[4][4]) { for ( int i = 0 ; i < 4 ; i++ ) for ( int j = 0 ; j < 4 ; j++ ) this->m[i][j] = m[i][j]; } Matrice::~Matrice(void) { } void Matrice::multiplie(Vecteur *v) { Vecteur *nv = new Vecteur(); nv->x = m[0][0]*v->x+m[0][1]*v->y+m[0][2]*v->z+m[0][3]*v->t; nv->y = m[1][0]*v->x+m[1][1]*v->y+m[1][2]*v->z+m[1][3]*v->t; nv->z = m[2][0]*v->x+m[2][1]*v->y+m[2][2]*v->z+m[2][3]*v->t; nv->t = m[3][0]*v->x+m[3][1]*v->y+m[3][2]*v->z+m[3][3]*v->t; *v = *nv; delete(nv); }