/* Mathematiques de l'informatique graphique */ /* Direction en 3D */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Mars 2019 */ #ifndef ____DIR3D____ #define ____DIR3D____ class Pos3D; #include "CH3D.h" class Dir3D : public CH3D { public : /* Constructeurs */ Dir3D(void); Dir3D(double x,double y,double z); Dir3D(Dir3D *c); Dir3D(Pos3D *pi,Pos3D *pf); /* Destructeur */ ~Dir3D(void); /* Methode de calcul de la norme de this */ double norme(void); /* Methode de normalisation de this */ void normalisation(void); /* Methode de calcul du produit scalaire */ /* de this et de la direction d */ double produitScalaire(Dir3D *d); /* Methode statique de calcul */ /* du produit scalaire des deux directions */ /* d1 et d2 */ static double produitScalaire(Dir3D *d1,Dir3D *d2); /* Methode de calcul du produit vectoriel */ /* de this par la direction d */ /* avec stockage du resultat dans this */ void produitVectoriel(Dir3D *d); /* Methode de calcul du produit vectoriel */ /* de this par la direction d */ /* avec stockage du resultat dans res */ void produitVectoriel2(Dir3D *d,Dir3D *res); /* Methode statique de calcul */ /* du produit vectoriel de deux directions */ /* d1 et d2 */ /* Retour d'un objet Dir3D */ /* cree dans la methode */ static Dir3D *produitVectoriel(Dir3D *d1,Dir3D *d2); /* Methode statique de calcul */ /* du produit vectoriel de deux directions */ /* d1 et d2 avec Stockage du resultat */ /* dans res */ static void produitVectoriel(Dir3D *d1,Dir3D *d2,Dir3D *res); }; #endif