Newer
Older
EPQ-3D-renderer / src / Vector2D.java
@cory cory on 30 Nov 2022 777 bytes Many half implementations
public class Vector2D {
    // technically not required as vectors have the same information as points, but it's useful to have separate vector and point things..
    public double x;
    public double y;

    public Vector2D(double _x, double _y){
        x = _x;
        y = _y;
    }
    public void createFrom2Points(Point2D start, Point2D end){
        x = end.x - start.x;
        y = end.y - start.y;
    }
    public double getLength(){
        return Math.sqrt(x*x + y*y);
    }
    public double angleTo(Vector2D vec2){
        return Math.acos(
                dot(vec2)
                / (getLength()*vec2.getLength()))
                * Math.signum(x*vec2.y - y *vec2.x);
    }
    public double dot(Vector2D vec2){
        return (x*vec2.x) + (y*vec2.y);
    }
}