checkpoint
[anneal.git] / src / edu / berkeley / qfat / geom / Plane.java
index 1f79b06..1789e55 100644 (file)
@@ -3,6 +3,9 @@ import javax.media.opengl.*;
 
 public class Plane {
 
+    // FIXME: could be given by
+    // ax+by+cz=d
+
     public final Vec norm;
     public final float dvalue;
 
@@ -14,11 +17,11 @@ public class Plane {
     public Point intersect(Plane p1, Plane p2) {
         Plane p3 = this;
         float z = p1.norm.dot(p2.norm.cross(p3.norm));
-        if (Math.abs(z) == 0) return null;  // planes do not intersect at a point
+        if (Math.abs(z) < 0.0001) return null;  // planes do not intersect at a point
         Vec v1 = p2.norm.cross(p3.norm).times(-1 * p1.dvalue);
         Vec v2 = p3.norm.cross(p1.norm).times(-1 * p2.dvalue);
         Vec v3 = p1.norm.cross(p2.norm).times(-1 * p3.dvalue);
-        return Point.ORIGIN.plus(v1.plus(v2).plus(v3).times(1/z));
+        return Point.ZERO.plus(v1.plus(v2).plus(v3).times(1/z));
     }
 
 }