X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=visual;h=d623bfb6c14f42f5ea9c2f6097ebd22a9927610e;hb=906edec3ef60cf3e0567c713b2a68688edb634d4;hp=9f98ad72d86593af8270806e17558119f27db9ef;hpb=d66838c49517f07006efc02085444eeede2ff63f;p=moebius3.git diff --git a/visual b/visual index 9f98ad7..d623bfb 100755 --- a/visual +++ b/visual @@ -17,24 +17,30 @@ scene.fov = 1E-3 from moebius import * from moedebug import * -nv = 40 -nw = 40 +nv = 20 +nw = 80 class Visdebug(BaseVisdebug): - def curve(vd, fn, colour=color.yellow): + def curve(vd, fn, color=color.yellow): # fn(t) => 3-tuple, 3-list, or similar, for t \elem [0,1] ps = [ fn(t) for t in np.linspace(0,1,11) ] #dbg('Visdebug', ps) - curve(pos = ps, color=colour) + curve(pos = ps, color=color) + def circle(vd, c, axis, **kw): + ring(pos=c, axis=axis, radius=np.linalg.norm(axis), thickness=0.005, **kw) def arrow(vd, p, d, **kw): - vd.line(p, p+d, **kw) - ring(pos=p, axis=d, radius=0.25, thickness=0.005, **kw) + print('arrow %s' % repr(kw), file=sys.stderr) + bodge_color = kw.get('color', (1,0,0)) + try: del kw['color'] + except KeyError: pass + vd.line(p, p+d, color=bodge_color, **kw) + vd.circle(p, np.asarray(d) * 0.25, color=bodge_color, **kw) def crashing(vd, msg): print("CRASHING - VISDEBUG", msg, file=sys.stderr) rate(1E-8) dbg_file(sys.stderr) -vdbg_enable(Visdebug()) +#vdbg_enable(Visdebug()) m = Moebius(nv, nw) @@ -47,8 +53,10 @@ ws = range(0, nw+1) #c0 = curve( color=color.red, pos = [ m.edge.point(th) for th in thetas ] ) #c1 = curve( color=color.blue, pos = [ m.midline.point(th) for th in thetas ] ) -for v in vs: - c2 = curve( color=color.blue, pos = [ m.point(v,w) for w in ws ] ) +for vi in range(0, len(vs)): + v= vs[vi] + c2 = curve( color= (color.blue if vi == int(2*nv/3) else (0,0,0.5)), + pos = [ m.point(v,w) for w in ws ] ) #for w in ws: # c3 = curve( color=color.blue, pos = [ m.point(v,w) for v in vs ] )