    private final Vector3 gradient;

    @CustomConstructor
    public Line(Vector3 point, Vector3 gradient) {
        this.point = point;
        this.gradient = gradient;
    }

    public static Line ofPoints(Vector3 point1, Vector3 point2) {
        return new Line(point1, point1.subtract(point2));
    }

    public Vector3 getPoint() {