package curve;

public class Coordinate {
  public double x,y;

  public Coordinate() {
    x=0;y=0;
  };

  public Coordinate(double ax,double ay) {
    x=ax;y=ay;
  };

  public String toString() {
    String s;
    s="("+new PrintableDouble(x).asStringSF(3);
    s+=","+new PrintableDouble(y).asStringSF(3)+")";
    return s;
  };

  public String asString(int sigFigs) {
    String s;
    s="("+new PrintableDouble(x).asStringSF(sigFigs);
    s+=","+new PrintableDouble(y).asStringSF(sigFigs)+")";
    return s;
  };

  public Coordinate(Coordinate co) {
    x=co.x;y=co.y;
  };

  public void add(Coordinate co) {
    x+=co.x;y+=co.y;
  };

  public void sub(Coordinate co) {
    x-=co.x;y-=co.y;
  };

  public void div(double d) {
    x/=d;y/=d;
  };

  public void mul(double d) {
    x*=d;y*=d;
  };
  
  public void normalise() {
    double length=Math.sqrt(x*x+y*y);
    x/=length;
    y/=length;
  };
};
