Fix splines so that they can handle general lines
When adding the points of a circle ( Cos(t), sin(t) ) for t the values [0,6.28], I get complete garbage out.
It seems that the splines are unable to handle ambiguous values for y for a given x.
Splines should have a independent variable t, on which x and y depend. It seems this implementation has a t that somehow is coupled to x.
Interpolate should for example return a point, and the differentiate should return a vector for a given point.