/* Mathematiques de l'informatique graphique    */
/* Position en 2D                               */
/*                                              */
/* Auteur: Nicolas JANEY                        */
/* nicolas.janey@univ-fcomte.fr                 */
/* Octobre 2012                                 */

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

#include "CoordonneesHomogenes2D.h"
#include "Position2D.h"

/* Constructeurs                                */

Position2D::Position2D(void):CoordonneesHomogenes2D(0.0,0.0,1.0) {
}

Position2D::Position2D(double x,double y):CoordonneesHomogenes2D(x,y,1.0) {
}

Position2D::Position2D(Position2D *p):CoordonneesHomogenes2D(p) {
}

/* Destructeur                                  */

Position2D::~Position2D(void) {
}

/* Methode de calcul de la distance             */
/* entre deux positions                         */

double Position2D::distance(Position2D *p) {
  return(sqrt(carreDistance(p)));
}

/* Methode de calcul du carre de la distance    */
/* entre deux positions                         */

double Position2D::carreDistance(Position2D *p) {
  double dx = p->c[0]-c[0];
  double dy = p->c[1]-c[1];
  return(dx*dx+dy*dy);
}
