/* Mathematiques de l'informatique graphique */ /* Position en 3D */ /* */ /* Auteur: Nicolas JANEY */ /* nicolas.janey@univ-fcomte.fr */ /* Mars 2020 */ #include #include #include #include "CH3D.h" #include "Pos3D.h" #include "TG3D.h" /* Construit l'origine */ Pos3D::Pos3D(void):CH3D(0.0F,0.0F,0.0F,1.0F) { } /* Construit le point (x,y,z) */ Pos3D::Pos3D(float x,float y,float z):CH3D(x,y,z,1.0F) { } /* Construit un clone de la Pos3D p */ Pos3D::Pos3D(Pos3D *p):CH3D(p) { } /* Construit la Pos3D transformee de p par tg */ Pos3D::Pos3D(Pos3D *p,TG3D *tg):CH3D(p) { transformation(tg); } /* Destructeur */ Pos3D::~Pos3D(void) { } /* Calcul et retourne la distance */ /* entre this et p */ double Pos3D::distance(Pos3D *p) { double dx = x-p->x; double dy = y-p->y; double dz = z-p->z; return(sqrt(dx*dx+dy*dy+dz*dz)); }