chiark / gitweb /
helixish: fixes
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 29 Nov 2017 17:40:07 +0000 (17:40 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 29 Nov 2017 17:40:07 +0000 (17:40 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
helixish.py

index d0f99b61c352c5d98581ec882b3278d604857c9c..14df4619a60242d46b262201d7b3e165933742b2 100644 (file)
@@ -59,9 +59,14 @@ class HelixishCurve():
     #     but minimum is 10% of (wlog) {s,t} [[ not quite like this ]]
 
     dPQplane_normal = np.cross(dp, dq)
-    if (np.linalg.norm(dPQplane_normal) < 1E6):
+
+    if np.linalg.norm(dPQplane_normal) < 1E-6:
       dbg('dPQplane_normal small')
-      dPQplane_normal += [0, 0, 1E5]
+      dPQplane_normal = np.cross([1,0,0], dp)
+    if np.linalg.norm(dPQplane_normal) < 1E-6:
+      dbg('dPQplane_normal small again')
+      dPQplane_normal = np.cross([0,1,0], dp)
+
     dPQplane_normal = unit_v(dPQplane_normal)
 
     dPQplane_basis = np.column_stack((np.cross(dp, dPQplane_normal),