There's a nice generalisation of splines to higher-dimensional spaces, in a non-ad-hoc way:<p>For the case of fitting a 2D surface to interpolate some control points {(x_i, y_i)}_i, x_i \in R^2, y_i in R, we can seek to find a surface f : R^2 --> R that attains the minimum<p><pre><code> min_f sum_i ( f(x_i) - y_i )^2 + \lambda || D f ||^2
</code></pre>
where \lambda > 0 is some real constant parameter.<p>I.e., we seek to find a surface f that trades-off goodness of fit to the control points (in the least-squares sense) against smoothness (measured by the norm of the derivative).<p>In the 2D case these are called "thin-plate splines". They can be viewed as nice energy-mininising surfaces that interpolate between a few control points. The functions f live in Sobolev spaces - analysis of this stuff descends into a lot of PDE theory and approximation theory if you want to compute approximations to them in practice.<p>To get non-singular surfaces in higher dimensions than 2 you merely have to increase which derivative appears in the smoothing term, but the same idea basically works. (You also need to ensure you have enough control points to define the surface -- note that if your smoothing term is || D^k f ||^2 then a degree k-1 polynomial is invisible to it -- so the smoothing term does not control a degree k-1 polynomial component, so you have to ensure you have appropriate control points to define that part)<p>If you are curious to read more about this, there's Grace Wahba's book "spline models for observational data". e.g. <a href="http://bookstore.siam.org/CB59/" rel="nofollow">http://bookstore.siam.org/CB59/</a>