Spline (mathematics)
|
In the mathematical subfield of numerical analysis a spline is a special curve defined piecewise by polynomials. The term spline comes from the flexible spline devices used by shipbuilders and draftsmen to draw smooth shapes.
In interpolating problems, spline interpolation is often preferred to polynomial interpolation because it yields similar results even when using low degree polynomials, thus avoiding Runge's phenomenon.
In curve fitting splines are used to approximate complex shapes. The simplicity of representation and the ease with which a complex spline's shape may be computed make splines popular representations for curves in computer science, predominantly in computer graphics.
Contents |
Definition
Given k points ti called knots in an interval [a,b] with
- <math>a=t_0 < t_1 < \ldots < t_{k-2} < t_{k-1} = b<math>
- <math>S:[a,b] \to \mathbb{R}<math>
is called a spline of degree n if
- <math>S \in \mathrm{C}^{n-1}(a,b)<math>
and restricted to each subinterval
- <math>S_{[t_i,t_{i+1})} \in \Pi_n \mbox{ , } i = 0,\ldots k-2<math>
In other words on each subinterval or knot span
- <math>[t_i,t_{i+1}) \mbox{ , } i = 0,\ldots k-2<math>
S is identical to a polynomial of degree n.
S(ti) is called knot value and (ti, S(ti)) is called internal control point. (t0,...,tk-1) is called the knot vector. If the knots are equidistantly distributed in the Interval [a,b] we say the spline is uniform otherwise we say it is non-uniform.
Example
The most simple spline has degree 1. It is also called linear spline and is just a polygon.
A common spline is the natural cubic spline, of degree 3. Natural is defined by setting the second derivatives of the spline polynomials equal to each other at the endpoints of the interval of interpolation.
<math>S''(a) = S''(b) = 0<math> on the interval <math>[a,b]<math>
This forces the spline to be a straight line outside of the interval, while not disrupting its smoothness.
Notes
For a given knot vector the splines of degree n form a vector space. A basis for this vector space are the basis B-splines of degree n
History
Before computers were used, numerical calculations were done by hand. Although piecewise-defined functions like the signum function or step function were used, polynomials were generally preferred because they were easier to work with. With the advent of computers splines have gained importance. They were first used as a replacement for polynomials in interpolation, then as a tool to construct smooth and flexible shapes in computer graphics.
See also
- spline interpolation
- Hermite spline
- Cubic Hermite spline
- B-spline
- Nonuniform rational B-spline (NURBS)
- the de Boor algorithm is an efficient method for evaluating B-splines
- Bézier spline
External links
- An Interactive Introduction to Splines (http://ibiblio.org/e-notes/Splines/Intro.htm)
- Learning by Simulations (http://www.vias.org/simulations/simusoft_spline.html) Interactive simulation of various cubic splinesde:Spline