Example #1
0
    k2, b2 = get_parameters_of_normal(m2, (c[0] + b[0]) / 2, (c[1] + b[1]) / 2)

    xi, yi = get_normal_intersection_point(k1, k2, b1, b2)

    curvature = get_cauchy_curvature(xi, b[0], yi, b[1])
    return curvature


a = np.linspace(-5, 5, 300)
b = sigmoid(a)
line = [(i, j) for i, j in zip(a, b)]

curv = Curvature(line=line)

start = time.time()
curv.calculate_curvature()
end = time.time()
print(end - start)

cauchy_curvature = []
start = time.time()
for i in range(1, 299):
    cauchy_curvature.append(calculate_cauchy_curvature_from_triplet(*line[i-1:i+2]))
end = time.time()
print(end - start)

xc = range(len(curv.curvature))
plt.plot(xc, curv.curvature)
plt.plot(xc, cauchy_curvature, 'r.')
plt.axhline(np.max(curv.curvature), linestyle='--')
plt.xlabel("$x$")