dirn = np.cross(vec_u, vec_t)
return p + offset * dirn / np.linalg.norm(dirn)
-class Moebius(MoebiusHalf):
+class Moebius():
def __init__(m, nv, nw):
'''
0 <= v <= nw along the extent, v=0 is the flat traverse
m.nw = nw
m.nt = nw/2
m._t_vals = np.linspace(0, 1, m.nt+1)
- MoebiusHalf.__init__(m, nu=nv*2)
+ m.h = MoebiusHalf(nu=nv*2)
def _vw2tiu_kw(m, v, w):
if w <= m.nt:
return { 't': m._t_vals[it], 'iu': iu }
def point(m, v, w):
- return MoebiusHalf.point(m, **m._vw2tiu_kw(v,w))
+ return m.h.point(**m._vw2tiu_kw(v,w))
def point_offset(m, v, w, offset):
- return MoebiusHalf.point_offset(m,
- offset=
- offset if w <= m.nt else -offset,
- **m._vw2tiu_kw(v,w))
+ return m.h.point_offset(offset=
+ offset if w <= m.nt else -offset,
+ **m._vw2tiu_kw(v,w))