m._thetas = [ u * tau for u in np.linspace(0, 1, nu+1) ]
m._cp2b = BezierSegment([ (c,) for c in [0.33,0.33, 1.50]])
m._beziers = [ m._bezier(theta) for theta in m._thetas ]
- def _bezier(m, theta):
+ check = int(nu/3)
+ m._beziers[check] = m._bezier(m._thetas[check], HelixishCurve)
+ def _bezier(m, theta, constructor=DoubleCubicBezier):
cp = [None] * 4
cp[0] = m.edge .point(theta)
cp[3] = m.midline.point(theta*2)
# file=sys.stderr)
cp[1] = cp[0] + cp1scale * m.edge .dirn (theta)
cp[2] = cp[3] + cp2scale * m.midline.dirn (theta*2)
- return HelixishCurve(cp)
+ return constructor(cp)
def point(m, iu, t):
'''
0 <= iu <= nu meaning 0 <= u <= 1
c3 = curve( color=color.yellow, pos = [ m.point(v,w) for v in vs ] )
-for v in vs:
- c4 = curve( color=color.blue,
- pos = [ m.point_offset(v,w, 0.1) for w in ws ] )
+#for v in vs:
+# c4 = curve( color=color.blue,
+# pos = [ m.point_offset(v,w, 0.1) for w in ws ] )
-for w in ws:
- c3 = curve( color=(1,0,1), pos = [ m.point_offset(v,w, -0.1) for v in vs ] )
+#for w in ws:
+# c3 = curve( color=(1,0,1), pos = [ m.point_offset(v,w, -0.1) for v in vs ] )