package lectures.static_state;
import util.annotations.WebDocuments;
import lectures.graphics.Point;
@WebDocuments({"Lectures/StaticState.pptx", "Lectures/StaticState.pdf", "Videos/StaticState.avi"})
public class ACartesianPointComputingMidPoint implements Point {
private static int numInstances = 0;
int x, y;
public ACartesianPointComputingMidPoint(int theX, int theY) {
x = theX;
y = theY;
numInstances++;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public double getAngle() {
return Math.atan((double) y/x);
}
public double getRadius() {
return Math.sqrt(x*x + y*y);
}
public static int getNumInstances() {
return numInstances;
}
public static Point mid (int x1, int y1, int x2, int y2 ) {
return new ACartesianPointComputingMidPoint(x1 + (x2 - x1)/2, y1 + (y2 - y1)/2);
}
public static Point mid (Point p1, Point p2 ) {
return mid (p1.getX(), p1.getY(), p2.getX(), p2.getY());
}
}