Exemple #1
0
 def measure_derivs(x, ys):
     dx, dy = tocubic.bz_eval(dbz, x)
     ds = hypot(dx, dy)
     s = ys[0] * arclen_ratio
     dscore = ds * (tocubic.mod_2pi(atan2(dy, dx) - seg.th(s)) ** 2)
     #print s, atan2(dy, dx),  seg.th(s)
     return [ds, dscore]
Exemple #2
0
 def measure_derivs(x, ys):
     dx, dy = tocubic.bz_eval(dbz, x)
     ds = hypot(dx, dy)
     s = ys[0] * arclen_ratio
     dscore = ds * (tocubic.mod_2pi(atan2(dy, dx) - seg.th(s))**2)
     #print s, atan2(dy, dx),  seg.th(s)
     return [ds, dscore]
Exemple #3
0
def plot_k_of_bz(bz):
    dbz = tocubic.bz_deriv(bz)
    ddbz = tocubic.bz_deriv(dbz)
    cmd = 'moveto'
    ss = [0]
    def arclength_deriv(x, ss):
        dx, dy = tocubic.bz_eval(dbz, x)
        return [hypot(dx, dy)]
    dt = 0.01
    t = 0
    for i in range(101):
        dx, dy = tocubic.bz_eval(dbz, t)
        ddx, ddy = tocubic.bz_eval(ddbz, t)
        k = (ddy * dx - dy * ddx) / (dx * dx + dy * dy) ** 1.5
        print 100 + 500 * ss[0], 100 + 200 * k, cmd
        cmd = 'lineto'

        dsdx = arclength_deriv(t, ss)
        tocubic.rk4(ss, dsdx, t, .01, arclength_deriv)
        t += dt
    print 'stroke'
Exemple #4
0
def plot_k_of_bz(bz):
    dbz = tocubic.bz_deriv(bz)
    ddbz = tocubic.bz_deriv(dbz)
    cmd = 'moveto'
    ss = [0]

    def arclength_deriv(x, ss):
        dx, dy = tocubic.bz_eval(dbz, x)
        return [hypot(dx, dy)]

    dt = 0.01
    t = 0
    for i in range(101):
        dx, dy = tocubic.bz_eval(dbz, t)
        ddx, ddy = tocubic.bz_eval(ddbz, t)
        k = (ddy * dx - dy * ddx) / (dx * dx + dy * dy)**1.5
        print(100 + 500 * ss[0], 100 + 200 * k, cmd)
        cmd = 'lineto'

        dsdx = arclength_deriv(t, ss)
        tocubic.rk4(ss, dsdx, t, .01, arclength_deriv)
        t += dt
    print('stroke')
Exemple #5
0
 def arclength_deriv(x, ss):
     dx, dy = tocubic.bz_eval(dbz, x)
     return [hypot(dx, dy)]
Exemple #6
0
 def arclength_deriv(x, ss):
     dx, dy = tocubic.bz_eval(dbz, x)
     return [hypot(dx, dy)]