chiark / gitweb /
helixish: move so we put the basis stuff for debugging first
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 30 Dec 2017 12:17:01 +0000 (12:17 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 30 Dec 2017 12:17:01 +0000 (12:17 +0000)
No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
helixish.py

index 1d36faecef8e4b55501b8384259b589cced9e980..2bfa494d462ba60e7f0382d2c56906a2579f1beb 100644 (file)
@@ -80,15 +80,6 @@ class HelixishCurve():
     vdbg_plane.arrow(p_plane_check, dp_plane)
     vdbg_plane.arrow(q_plane,       dq_plane)
 
-    # two circular arcs of equal maximum possible radius
-    # algorithm courtesy of Simon Tatham (`Railway problem',
-    # pers.comm. to ijackson@chiark 23.1.2004)
-    railway_angleoffset = atan2(*q_plane[0:2])
-    railway_theta = atan2(*dp_plane[0:2]) - railway_angleoffset
-    railway_phi   = atan2(*dq_plane[0:2]) - railway_angleoffset
-    railway_cos_theta = cos(railway_theta)
-    railway_cos_phi   = cos(railway_phi)
-
     railway_inplane_basis_x = np.hstack((q_plane[0:2], [0]))
     railway_inplane_basis = np.column_stack((
       railway_inplane_basis_x,
@@ -103,6 +94,16 @@ class HelixishCurve():
     railway_basis = matmatmultiply(dPQplane_basis, railway_inplane_basis)
     dbg('railway_basis\n', railway_basis)
     vdbg().basis(railway_basis, hue=(1,0,1))
+
+    # two circular arcs of equal maximum possible radius
+    # algorithm courtesy of Simon Tatham (`Railway problem',
+    # pers.comm. to ijackson@chiark 23.1.2004)
+    railway_angleoffset = atan2(*q_plane[0:2])
+    railway_theta = atan2(*dp_plane[0:2]) - railway_angleoffset
+    railway_phi   = atan2(*dq_plane[0:2]) - railway_angleoffset
+    railway_cos_theta = cos(railway_theta)
+    railway_cos_phi   = cos(railway_phi)
+
     dbg('railway:', railway_theta, railway_phi, railway_angleoffset)
 
     if railway_cos_theta**2 + railway_cos_phi**2 > 1E-6: