/* Mathematiques de l'informatique graphique */ /* Position en 3D */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Octobre 2012 */ #include #include #include #include "CoordonneesHomogenes3D.h" #include "Position3D.h" /* Constructeurs */ Position3D::Position3D(void):CoordonneesHomogenes3D(0.0,0.0,0.0,1.0) { } Position3D::Position3D(double x,double y,double z):CoordonneesHomogenes3D(x,y,z,1.0) { } Position3D::Position3D(Position3D *p):CoordonneesHomogenes3D(p) { } /* Destructeur */ Position3D::~Position3D(void) { } /* Methode de calcul de la distance */ /* entre deux positions */ double Position3D::distance(Position3D *p) { return(sqrt(carreDistance(p))); } /* Methode de calcul du carre de la distance */ /* entre deux positions */ double Position3D::carreDistance(Position3D *p) { double dx = p->c[0]-c[0]; double dy = p->c[1]-c[1]; double dz = p->c[2]-c[2]; return(dx*dx+dy*dy+dz*dz); }