chiark / gitweb /
helixish: debugging output
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Dec 2017 16:52:30 +0000 (16:52 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 17 Dec 2017 16:52:30 +0000 (16:52 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
helixish.py
moedebug.py

index afba64e0075ed107a9ab0cd4b93f94930522e268..0de75698d8755b85c380c78d0f48a98b48ff952a 100644 (file)
@@ -61,9 +61,7 @@ class HelixishCurve():
     dPQplane_basis = np.vstack((dPQplane_basis, [0,0,0,1]))
     dbg(dPQplane_basis)
 
-    for ax in range(0,3):
-      vdbg().arrow(dPQplane_basis[0:3,3], dPQplane_basis[0:3,ax],
-                   colour= [ c * (1.0 - ax*0.2) for c in (1,1,1) ])
+    vdbg().basis(dPQplane_basis)
 
     dPQplane_into = np.linalg.inv(dPQplane_basis)
     dbg(dPQplane_into)
@@ -76,7 +74,7 @@ class HelixishCurve():
 
     vdbg_plane = MatrixVisdebug(vdbg(), dPQplane_basis)
 
-    dbg('plane:', p_plane_check, dp_plane, dq_plane, q_plane)
+    dbg('plane p', p_plane_check, 'dp', dp_plane, 'dq', dq_plane, 'q', q_plane)
     vdbg_plane.arrow(p_plane_check, dp_plane)
     vdbg_plane.arrow(q_plane,       dq_plane)
 
index 8c80c004bdb0a50f1467670bb3efc5f19eaaeaa7..94eaa58153c646519282641299c45dd0e60a7658 100644 (file)
@@ -23,11 +23,16 @@ class BaseVisdebug():
     vd.curve(lambda t: p0 + t * (p1-p0), **kw)
   def arrow(vd, p, d, **kw):
     vd.line(p, p+d, **kw)
+  def basis(vd, basis, hue=(1,1,1)):
+    for ax in range(0,3):
+      vd.arrow(basis[0:3,3], basis[0:3,ax],
+               colour= [ c * (1.0 - ax*0.2) for c in hue ])
 
 class NullVisdebug():
   def curve(*a, **kw): pass
   def line(*a, **kw): pass
   def arrow(*a, **kw): pass
+  def basis(*a, **kw): pass
   def crashing(*a, **kw): pass
 
 class MatrixVisdebug(BaseVisdebug):
@@ -36,6 +41,10 @@ class MatrixVisdebug(BaseVisdebug):
     m._matrix = matrix
   def curve(m, fn, **kw):
     m._b.curve(lambda t: moenp.augmatmultiply(m._matrix, fn(t)), **kw)
+  def arrow(m, p, d, **kw):
+    m._b.arrow(moenp.augmatmultiply(m._matrix, p),
+               moenp.augmatmultiply(m._matrix, d, 0),
+               **kw)
   def crashing(m, *a, **kw): m._b.crashing(*a, **kw)
 
 _nullvis = NullVisdebug()