From: Ian Jackson Date: Tue, 7 Nov 2017 16:22:21 +0000 (+0000) Subject: mesh: introduce points_round_wire (nfc) X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=59b3fb2aa6c63cd1d7fde14306f49971390f2c38;p=moebius3.git mesh: introduce points_round_wire (nfc) Signed-off-by: Ian Jackson --- diff --git a/meshscad b/meshscad index c8924b7..d567544 100755 --- a/meshscad +++ b/meshscad @@ -30,8 +30,11 @@ m = Moebius(nv, nw) def dpr(v): return '%+3f %+3f %+3f' % tuple(v) -def round_wire(p, vec_surfacenormal, vec_acrosswire, sigma): - return r +def points_round_wire(p, norm, acrs, sigmas): + for sigma in sigmas: + delta = norm * sin(sigma) + acrs * cos(sigma) + r = p + wire/nomsize * delta + yield r def make_moebius(objname): print('module %s(){' % objname) @@ -43,21 +46,18 @@ def make_moebius(objname): #print(' QCv,w,T',v,w,is_trav, file=sys.stderr) for ab in 0,1: 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 - else: acrs = trav - delta = norm * sin(sigma) + acrs * cos(sigma) - r = p + wire/nomsize * delta - #print(' RW,ab,sx',ab,sx, - # 'r=',dpr(r), - # 'p=',dpr(p), - # 'norm=',dpr(norm), - # 'extt=',dpr(extt), - # 'acrs=',dpr(acrs), - # 'delta=',dpr(delta), - # 's=','%4f' % sigma, - # file=sys.stderr) + if is_trav: acrs = extt + else: acrs = trav + #print(' RW,ab,sx',ab,sx, + # 'r=',dpr(r), + # 'p=',dpr(p), + # 'norm=',dpr(norm), + # 'extt=',dpr(extt), + # 'acrs=',dpr(acrs), + # 'delta=',dpr(delta), + # 's=','%4f' % sigma, + # file=sys.stderr) + for r in points_round_wire(p, norm, acrs, sigmas): yield r for v in range(0, nv):