Newer
Older
EPQ-3D-renderer / src / main / java / Plane.java
@cory cory on 6 Jan 2023 1015 bytes - random stuff
public class Plane {
    public Point3D mainPoint;
    public Vector3D normalVector;

    public double getDistance(Point3D point){
        Vector3D vec = new Vector3D(0,0,0);
        vec.createFrom2Points(mainPoint, point);
        return normalVector.dot(vec);
    }
    public void initFrom3Points(Point3D _mainPoint, Point3D point1, Point3D point2){
        // find normal vector to 3 points
        Vector3D vec1 = new Vector3D(0,0,0);
        Vector3D vec2 = new Vector3D(0,0,0);
        vec1.createFrom2Points(_mainPoint, point1);
        vec2.createFrom2Points(point1, point2);
        initFromPointAndVector(_mainPoint, vec1.cross(vec2));
    }
    public void initFromPointAndVector(Point3D _mainPoint, Vector3D _normalVector){
        // convert to unit vector
        mainPoint = _mainPoint;
        double len = _normalVector.getLength();
        normalVector = new Vector3D(
                _normalVector.x / len,
                _normalVector.y / len,
                _normalVector.z / len);
    }
}