- Spline (mathematics)
-
In mathematics, a spline is a sufficiently smooth piecewise-polynomial function. In interpolating problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results, even when using low-degree polynomials, while avoiding Runge's phenomenon for higher degrees.
In computer graphics splines are popular curves because of the simplicity of their construction, their ease and accuracy of evaluation, and their capacity to approximate complex shapes through curve fitting and interactive curve design.
The term spline comes from the flexible spline devices used by shipbuilders and drafters to draw smooth shapes[citation needed].
The most commonly used splines are cubic spline, i.e., of order 3—in particular, cubic B-spline and cubic Bézier spline. They are common, in particular, in spline interpolation simulating the function of flat splines.
Contents
Definition
A spline is a piecewise-polynomial real function
on an interval [a,b] composed of k ordered disjoint subintervals [ti − 1,ti] with
- .
The restriction of S to an interval i is a polynomial
- ,
so that
The highest order of the polynomials Pi(t) is said to be the order of the spline S. If all subintervals are of the same length, the spline is said to be uniform and non-uniform otherwise.
The idea is to choose the polynomials in a way that guarantees sufficient smoothness of S. Specifically, for a spline of order n, S is required to be continuously differentiable to order n-1 at the interior points ti: for all and all ,.
Derivation of a Cubic Spline interpolating between points
This is one of the most important uses of splines. The algorithm for this is given in the article Spline interpolation
Examples
A simple example of a quadratic spline (a spline of degree 2) is
for which S'(0) = 2.
A simple example of a cubic spline is
as
and
An example of using a cubic spline to create a bell shaped curve is the Irwin-Hall polynomials:
History
Before computers were used, numerical calculations were done by hand. Functions such as the step function were used but polynomials were generally preferred. With the advent of computers, splines first replaced polynomials in interpolation, and then served in construction of smooth and flexible shapes in computer graphics.[1]
It is commonly accepted that the first mathematical reference to splines is the 1946 paper by Schoenberg,[2] which is probably the first place that the word "spline" is used in connection with smooth, piecewise polynomial approximation. However, the ideas have their roots in the aircraft and shipbuilding industries. In the foreword to (Bartels et al., 1987),[3] Robin Forrest describes "lofting", a technique used in the British aircraft industry during World War II to construct templates for airplanes by passing thin wooden strips (called "splines") through points laid out on the floor of a large design loft, a technique borrowed from ship-hull design. For years the practice of ship design had employed models to design in the small. The successful design was then plotted on graph paper and the key points of the plot were re-plotted on larger graph paper to full size. The thin wooden strips provided an interpolation of the key points into smooth curves. The strips would be held in place at discrete points (called "ducks" by Forrest; Schoenberg used "dogs" or "rats") and between these points would assume shapes of minimum strain energy. According to Forrest, one possible impetus for a mathematical model for this process was the potential loss of the critical design components for an entire aircraft should the loft be hit by an enemy bomb. This gave rise to "conic lofting", which used conic sections to model the position of the curve between the ducks. Conic lofting was replaced by what we would call splines in the early 1960s based on work by J. C. Ferguson[4] at Boeing and (somewhat later) by M.A. Sabin at British Aircraft Corporation.
The word "spline" was originally an East Anglian dialect word.[5]
The use of splines for modeling automobile bodies seems to have several independent beginnings. Credit is claimed on behalf of de Casteljau at Citroën, Pierre Bézier at Renault, and Birkhoff,[6] Garabedian, and de Boor at General Motors (see Birkhoff and de Boor, 1965),[7] all for work occurring in the very early 1960s or late 1950s. At least one of de Casteljau's papers was published, but not widely, in 1959. De Boor's work at General Motors resulted in a number of papers being published in the early 1960s, including some of the fundamental work on B-splines.[8]
Work was also being done at Pratt & Whitney Aircraft, where two of the authors of (Ahlberg et al., 1967)[9] — the first book-length treatment of splines — were employed, and the David Taylor Model Basin, by Feodor Theilheimer. The work at General Motors is detailed nicely in (Birkhoff, 1990) and (Young, 1997).[10] Davis (1997) summarizes some of this material.
See also
References
- ^ Epperson, History of Splines, NA Digest, vol. 98, no. 26, 1998.
- ^ Schoenberg, Contributions to the problem of approximation of equidistant data by analytic functions, Quart. Appl. Math., vol. 4, pp. 45–99 and 112–141, 1946.
- ^ Bartels, Beatty, and Barsky, An Introduction to Splines for Use in Computer Graphics and Geometric Modeling, 1987.
- ^ Ferguson, James C, Multi-variable curve interpolation, J. ACM, vol. 11, no. 2, pp. 221-228, Apr. 1964.
- ^ "spline". Oxford English Dictionary. Oxford University Press. 2nd ed. 1989.
- ^ Birkhoff, Fluid dynamics, reactor computations, and surface representation, in: Steve Nash (ed.), A History of Scientific Computation, 1990.
- ^ Birkhoff and de Boor, Piecewise polynomial interpolation and approximation, in: H. L. Garabedian (ed.), Proc. General Motors Symposium of 1964, pp. 164–190. Elsevier, New York and Amsterdam, 1965.
- ^ Davis, B-splines and Geometric design, SIAM News, vol. 29, no. 5, 1997.
- ^ Ahlberg, Nilson, and Walsh, The Theory of Splines and Their Applications, 1967.
- ^ Young, Garrett Birkhoff and applied mathematics, Notices of the AMS, vol. 44, no. 11, pp. 1446–1449, 1997.
Further reading
- Stoer; Bulirsch. Introduction to Numerical Analysis. Springer Science+Business Media. pp. 93–106. ISBN 0387904204.
- Chapra, Canale. Numerical Methods for Engineers (5th ed.).
External links
Theory
- Cubic Splines Module Prof. John H. Mathews California State University, Fullerton
- Spline Curves, Prof. Donald H. House Clemson University
- An Interactive Introduction to Splines, ibiblio.org
- Introduction to Splines, codeplea.com
Excel functions
- Open source Excel cubic spline User Defined Function
- SRS1 Cubic Spline for Excel - Free Excel cubic spline function (with utility to embed spline function code into any workbook)
Online utilities
- Online Cubic Spline Interpolation Utility
- Learning by Simulations Interactive simulation of various cubic splines
- Symmetrical Spline Curves, an animation by Theodore Gray, The Wolfram Demonstrations Project, 2007.
Computer code
- Notes, PPT, Mathcad, Maple, Mathematica, Matlab, Holistic Numerical Methods Institute
- various routines, NTCC
- Sisl: Opensource C-library for NURBS, SINTEF
- Closed Bezier Spline, C#, WPF, Oleg V. Polikarpotchkin
- Bezier Spline from 2D Points, C#, WPF, Oleg V. Polikarpotchkin
Categories:- Splines
- Interpolation
Wikimedia Foundation. 2010.