/* Point.c */
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include "Point.h"

#define PI 3.14159265358979323846

double distance(point a, point b)
  { double dx = a.x - b.x, dy = a.y - b.y;
    return sqrt(dx*dx + dy*dy);
  }

double randDouble()
  { return 1.0*rand()/RAND_MAX; }

point randPoint()
  {
    point p;
    double r, theta;

    r = sqrt(randDouble());
    theta = PI*(2*randDouble() - 1);
    p.x = r*cos(theta);
    p.y = r*sin(theta);

    return p;
  }
