An implementation of Uniform Cubic Hermite Splines.
Hermite splines accept no control points. Only knots. Control points are calculated automatically based on the first derivative of each knot.
Example
curve = Curves.define_hermite([
{5, 10},
{10, 5},
{15, 10},
{20, 10},
{25, 5},
{30, 15},
])
for i <- 0..1000 do
Curves.solve!(curve, i / 1000)
end
|> # render_vega_lite_chart(...)