From bdaf3233f205a6626a4a4cfe96d8e3fa7e602d66 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 7 Nov 2017 15:51:29 +0000 Subject: [PATCH] mesh: wires, still somewhat buggy Signed-off-by: Ian Jackson --- meshscad | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/meshscad b/meshscad index 6281a0b..57573ae 100755 --- a/meshscad +++ b/meshscad @@ -12,13 +12,13 @@ nomsize = 50; wire = 3.0; # number of wires -kv = 5 -kw = 5 +kv = 10 +kw = 10 # resolution nv = 20 nw = 20 -ns = 3 # around tube +ns = 8 # around tube, should be even nv += -nv % kv nw += -nw % kw @@ -28,7 +28,7 @@ each_w = nw / kw m = Moebius(nv, nw) -def dpr(v): return '%4f %4f %4f' % tuple(v) +def dpr(v): return '%+3f %+3f %+3f' % tuple(v) def round_wire(p, vec_surfacenormal, vec_acrosswire, sigma): return r @@ -42,7 +42,7 @@ def make_moebius(objname): def qc(v, w, sigmas, is_trav): print(' QCv,w,T',v,w,is_trav, file=sys.stderr) for ab in 0,1: - p, norm, extt, trav = m.details(v + ab*is_trav, w + ab*(not is_trav)) + p, norm, extt, trav = m.details(v + ab*(not is_trav), w + ab*is_trav) for sx in 0,1: sigma = sigmas[sx] if is_trav: acrs = extt @@ -63,15 +63,12 @@ def make_moebius(objname): for v in range(0, nv): for w in range(0, nw): for s in range(0, ns): - sigmas = [ (s + sx + 1.0)/ns * tau for sx in 0,1 ] + sigmas = [ (s + sx + 0.)/ns * tau for sx in 0,1 ] print('VWS',v,w,s, sigmas, file=sys.stderr) if not w % each_w: extents[w].quad([ cnr for cnr in qc(v,w,sigmas,False) ]) - if False and not v % each_v: - travers[v].quad([ round_wire(p, norm, extt, sigmas[sx]) - for b in 0,1 - for p, norm, extt, trav in (m.details(v, w+b),) - for sx in 0,1 ]) + if not v % each_v: + travers[v].quad([ cnr for cnr in qc(v,w,sigmas,True) ]) for v in range(0, nv): print('// extent v=', v) extents[v].writeout_core(nomsize) -- 2.30.2