3 from __future__ import print_function
6 signal.signal(signal.SIGINT, signal.SIG_DFL)
9 from bezier import BezierSegment
18 from moedebug import *
23 class Visdebug(BaseVisdebug):
24 def curve(vd, fn, color=color.yellow):
25 # fn(t) => 3-tuple, 3-list, or similar, for t \elem [0,1]
26 ps = [ fn(t) for t in np.linspace(0,1,11) ]
28 curve(pos = ps, color=color)
29 def circle(vd, c, axis, **kw):
30 ring(pos=c, axis=axis, radius=np.linalg.norm(axis), thickness=0.005, **kw)
31 def arrow(vd, p, d, **kw):
32 print('arrow %s' % repr(kw), file=sys.stderr)
33 bodge_color = kw.get('color', (1,0,0))
36 vd.line(p, p+d, color=bodge_color, **kw)
37 vd.circle(p, np.asarray(d) * 0.25, color=bodge_color, **kw)
38 def crashing(vd, msg):
39 print("CRASHING - VISDEBUG", msg, file=sys.stderr)
43 vdbg_enable(Visdebug())
50 #ts = np.linspace(0, 1, 40)
52 #thetas = np.linspace(0, tau, 40)
53 #c0 = curve( color=color.red, pos = [ m.edge.point(th) for th in thetas ] )
54 #c1 = curve( color=color.blue, pos = [ m.midline.point(th) for th in thetas ] )
57 c2 = curve( color=color.blue, pos = [ m.point(v,w) for w in ws ] )
60 # c3 = curve( color=color.blue, pos = [ m.point(v,w) for v in vs ] )
64 # c4 = curve( color=color.blue,
65 # pos = [ m.point_offset(v,w, 0.1) for w in ws ] )
68 # c3 = curve( color=(1,0,1), pos = [ m.point_offset(v,w, -0.1) for v in vs ] )