How can I fit a spline curve through points in the plane with constraints on the curvature?

If I have a number of points in the plane (say I have some points $(x_n, y_n),\ n = 0,1,\ldots, N$) and I would like to fit a parametrised curve through them: $(x(t), y(t))$ where $t$ is some parameter I can vary in an interval to "travel" along the curve.

I suppose I could take standard procedures to fit for example a cubic spline function through each of the $x$ and $y$ coordinates, respectively. But is there a way to compute these with constraints on the curvature of the spline curve? That is, I do not want the curve to bend too sharply anywhere.

• A fairly nasty problem because the curvature constraints are non-linear. Sep 19, 2016 at 23:44

There was a paper written by Deddi et al (2000) on interpolation with curvature constraints using quadratic Bezier curves. When doing curvature constraints, you also need to include some form of curve length minimization to avoid smooth but completely unusable cases.

There is also the curvature minimizing Clough-Tocher scheme in 2D, though it is non parametric.

It is a tricky problem, and although the goal sound appealing, the fact that it is not widely used could suggest that it is not very reliable/practical in real applications. If you can accept that in order to smooth your curve, the interpolation may not pass through all the points (which is acceptable for noisy data), the splprep routine adapted from FITPACK might still be the simplest choice.

• I am actually looking to generate a curve through randomly generated points, so maybe deviating somewhat from them is not so bad afterall. Maybe I should simply try splprep and see how the curves turn out. Sep 22, 2016 at 9:46