6.3.19 Rotation et réflexion d'un Vecteur

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 normal à une surface plane
	Vecteur xF = (normal*(-(*this)))/(normal.taille()*normal.taille())*normal;
	*this = xF*2 + (*this);
}

Nous nous en servirons dans des exemples de jeux.