LA PYRAMIDE

La pyramide est définie par quatre points : a1, a2, a3, a4. Le point a ainsi que les vecteurs v1 et v2 sont calculés par le programme.


v1 = (p2x-p1x,p2y-p1y,p2z-p1z};
v2 = (p3x-p1x],p3y-p1y,p3z-p1z};
a = (p1x+v1x+v2x,p1y+v1y+v2y,p1z+v1z+v2z,1};

On utilise les méthodes parallélogramme et triangle pour tracer la pyramide et relier correctement les sommets.
On trace la base avec la méthode parallélogramme pour (a1, a2, a3 ). Puis on trace les autres faces avec la méthode triangle pour (a1, a2, a4 ) , (a2, a, a4 ) , (a, a3, a4 ), (a3, a1, a4 ).


Calcul de l'intersection

On calcule la distance entre le point d'intersection du rayon et de la base (a1, a2, a3, a), à l'aide de la méthode intersection de la classe parallélogramme. Si elle est inférieure à MAXDOUBLE, on affecte le numéro 100 à la variable face intersectée, sinon on lui affecte la valeur -1. Puis, pour chaque face restante (de 0 à 3), on calcule une distance d' (méthode intersection de la classe triangle) que l'on compare à d. Si d'<d, la face la plus proche intersectée est la face en cours, d'où le numéro de la face intersectée vaut le numéro de la face en cours, d prend la valeur de d', et le point d'intersection est mis à jour.


Calcul de la normale

Si le numéro de la face intersectée est différent de -1, plusieurs cas se présentent :
· Si la face intersectée est la base, on utilise la méthode normale de la classe parallélogramme
· Si c'est une autre face, on utilise la méthode normale de la classe triangle


Auteurs : Thomas Bonfort, Delphine Chaigneau, Olivier Galizzi, Laure Heigeas