gsl_siman_solve(rng,
startpoint,
cb_Efunc, cb_step, cb_metric,
- 0, //cb_print,
+ cb_print,
0,0,0, sizeof(startpoint), siman_params);
printcore(startpoint);
delta = atan2(*(end - C)[0:2]) - atan2(*(start - C)[0:2])
dbg('railway_ST C', C, 'start', start, 'end', end, 'delta', delta)
if delta < 0: delta += tau
- s = delta * abs(railway_r)
+ s = delta * railway_r
dbg('railway_ST delta', delta, 'r', railway_r, 's', s)
return s
m.nu = nu
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, HelixishCurve) for theta in m._thetas ]
- #check = int(nu/3)
- #m._beziers[check] = m._bezier(m._thetas[check], HelixishCurve)
+ m._beziers = [ m._bezier(theta) for theta in m._thetas ]
+ 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)
from moedebug import *
nv = 20
-nw = 80
+nw = 40
class Visdebug(BaseVisdebug):
def curve(vd, fn, color=color.yellow):
rate(1E-8)
dbg_file(sys.stderr)
-#vdbg_enable(Visdebug())
+vdbg_enable(Visdebug())
m = Moebius(nv, nw)