Skip to content
Snippets Groups Projects
MyPoint.java 1.01 KiB
package lab.game;

public class MyPoint {

	public double x;
	public double y;

	public MyPoint(double x, double y) {
		super();
		this.x = x;
		this.y = y;
	}

	public double getX() {
		return x;
	}

	public void setX(double x) {
		this.x = x;
	}

	public double getY() {
		return y;
	}

	public void setY(double y) {
		this.y = y;
	}

	public MyPoint multiply(double multiplier) {
		return new MyPoint(x * multiplier, y * multiplier);
	}

	public MyPoint add(MyPoint other) {
		return new MyPoint(x + other.x, y + other.y);
	}
	public MyPoint add(double dx, double dy) {
		return new MyPoint(x + dx, y + dy);
	}

    public double angle(double x, double y) {
        final double ax = getX();
        final double ay = getY();

        final double delta = (ax * x + ay * y) / Math.sqrt(
                (ax * ax + ay * ay) * (x * x + y * y));

        if (delta > 1.0) {
            return 0.0;
        }
        if (delta < -1.0) {
            return 180.0;
        }

        return Math.toDegrees(Math.acos(delta));
    }

}