Rotation et réflexion d'un Vecteur :
1
2
3
4
5
6
7
8
9
|
void Vecteur::rotation(const Vecteur& axe, double angle){
Vecteur tourner = cos(angle)*(*this) + (1 - cos(angle))*((*this)*axe)*axe + sin(angle)*(axe^(*this));
(*this) = tourner;
}
void Vecteur::reflexion(const Vecteur& normal){ Vecteur xF = (normal*(-(*this)))/(normal.taille()*normal.taille())*normal;
*this = xF*2 + (*this);
}
|
Nous nous en servirons dans des exemples de jeux.
|