
public class PlaneEqn {
    
    public float A, B, C, D;

    public PlaneEqn(Vector3D v1, Vector3D v2, Vector3D n) {

	Vector3D v = v1.sub(v2);
	Vector3D N = n.cross(v);
	A = N.x;
	B = N.y;
	C = N.z;
	D = -N.dot(v1);
    }

    public float eval(Vector3D v) {
	return A*v.x + B*v.y + C*v.z + D;
    }

    public String toString() {
	return "[PlaneEqn: A=" + A + " B=" + B + " C=" + C + " D=" + D + "]";
    }
	
}

