Spline Interpolation

Hi,
after reading through the past posts I realized that the feature of derivative editing for hermite splines is already planned for future releases. I missed this feature, and I have a suggestion.

There will still remain a need for automatic derivative computation, because the user wouldn’t like to tweak all the derivations by hand all the time. Have you considered using “natural cubic splines” for this task? I don’t know if everyone is familiar with it, basically it’s a technique for computing derivatives that seeks for maximum smoothness of the spline (i.e. it makes the first and second order derivatives of the spline continuous). The algorithm has a linear complexity with respect to number of spline points.

I suggest using this instead of Catmull-Rom, because that one doesn’t work well for 1D splines with large variance and small number of knot points, which seems to be the case for volume/panning envelopes.

I can back this up only by my experience, because when I’m editing an envelope, this is the behaviour I would desire in most cases.

One thing that could pose a problem is that this flavor of splines doesn’t allow for local control, i.e. moving one point around changes the shape of the entire spline (trying to preserve high smoothness).

Boris

P.S. I found a Java applet demostrating the technique at:
http://www.cse.unsw.edu.au/~lambert/splines/