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)
#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):