In the mathematical subfield of
numerical analysis, a B-spline is a spline function that has minimal support with respect to a given degree, smoothness, and domain partition. A fundamental theorem states that every spline function of a given degree, smoothness, and domain partition, can be represented as a linear combinationof B-splines of that same degree and smoothness, and over that same partition. [cite book | author = Carl de Boor | title = A Practical Guide to Splines | publisher = Springer-Verlag | pages = 113-114 | year = 1978] The term "B-spline" was coined by Isaac Jacob Schoenbergand is short for basis spline. [cite book | author = Carl de Boor | title = A Practical Guide to Splines | publisher = Springer-Verlag | pages = 114-115 | year = 1978] B-splines can be evaluated in a numerically stable way by the de Boor algorithm.
computer sciencesubfields of computer-aided designand computer graphicsthe term B-spline frequently refers to a spline curveparametrized by splinefunctions that are expressed as linear combinations of B-splines (in the mathematical sense above). A B-spline is simply a generalisation of a Bézier curve, and it can avoid the Runge phenomenonwithout increasing the degree of the B-spline.
Given "m"+1 values , called "knots", with:
a B-spline of degree "n" is a
composed of basis B-splines of degree "n"
The P"i" are called control points or de Boor points. (There are "m−n" control points.) A
polygoncan be constructed by connecting the de Boor points with lines, starting with P0 and finishing with P"m−n−1". This polygon is called the de Boor polygon.
The "m"−"n" basis B-splines of degree "n" can be defined using the Cox-de Boor recursion formula
When the knots are equidistant we say the B-spline is uniform otherwise we call it non-uniform. If two knots are identical, we deem .
Note that can not exceed , which limits both j and n.
When the B-spline is uniform, the basis B-splines for a given degree "n" are just shifted copies of each other. An alternative non-recursive definition for the "m"−"n" basis B-splines is
truncated power function.
Define B"0" as the
characteristic functionof , and B"k" recursively as the convolutionproduct
then B"k" are called (centered) "cardinal B-splines". This definition goes back to Schoenberg.
B"k" has compact support and is an
even function. As the normalized cardinal B-splines tend to the Gaussian function. [Brinks R: On the convergence of derivatives of B-splines to derivatives of the Gaussian function, Comp. Appl. Math., 27, 1, 2008]
When the number of knots is the same as the degree, the B-Spline degenerates into a
Bézier curve. The shape of the basis functions is determined by the position of the knots. Scaling or translating the knot vectordoes not alter the basis functions.
The spline is contained in the
convex hullof its control points.
A basis B-spline of degree "n":is non-zero only in the interval ["t""i", "t""i+n+1"] that is :In other words if we manipulate one control point we only change the local behaviour of the curve and not the global behaviour as with Bézier curves.
The basis function can be derived from the
The constant B-spline is the most simple spline. It is defined on only one
knot spanand is not even continuous on the knots. It is just the indicator functionfor the different knot spans.
The linear B-spline is defined on two consecutive knot spans and is continuous on the knots, but not differentiable.
Uniform quadratic B-spline
Quadratic B-splines with uniform "knot-vector" is a commonly used form of B-spline. The
blending functioncan easily be precalculated, and is equal for each segment in this case. :
Put in matrix-form, it is: [http://graphics.idav.ucdavis.edu/education/CAGDNotes/Quadratic-Uniform-B-Spline-Curve-Splitting/Quadratic-Uniform-B-Spline-Curve-Splitting.html] : for
A B-spline formulation for a single segment can be written as:
where S"i" is the "i"th B-spline segment and P is the set of control points, segment "i" and "k" is the local control point index. A set of control points would be where the is weight, pulling the curve towards control point as it increases or moving the curve away as it decreases.
An entire set of segments, "m"-2 curves () defined by "m"+1 control points (), as one B-spline in "t" would be defined as:
where "i" is the control point number and "t" is a global parameter giving
knot values. This formulation expresses a B-spline curve as a linear combination of B-spline basis functions, hence the name.
There are two types of B-spline - uniform and non-uniform. A non-uniform B-spline is a curve where the intervals between successive control points is not, or not necessarily, equal (the
knot vectorof interior knot spans are not equal). A common form is where intervals are successively reduced to zero, interpolating control points.
Uniform cubic B-splines
Cubic B-splines with uniform "knot-vector" is the most commonly used form of B-spline. The
blending functioncan easily be precalculated, and is equal for each segment in this case. Put in matrix-form, it is:: for
Nonuniform rational B-splines (NURBS)
De Boor algorithm
* [http://www.ibiblio.org/e-notes/Splines/Basis.htm Interactive java applets for B-splines]
* [http://mathworld.wolfram.com/B-Spline.html B-spline on MathWorld]
* [http://math.fullerton.edu/mathews/n2003/B-SplinesMod.html Module B-Splines by John H. Mathews]
* [http://www.qwerkop.de/qwerkop-projects-bspline.php BSpline Java Applet by Stefan Beck (with C++ Source)]
* [http://www.stat.columbia.edu/~ruf/ruf_bspline.pdf B-splines of third order on a non-uniform grid by Johannes Ruf]
Wikimedia Foundation. 2010.
Look at other dictionaries:
Spline — can refer to:* Flat spline, a device to draw curves * Rotating spline, a mating mechanism on a driveshaft. * Spline (mathematics), a mathematical function used for interpolation or smoothing. * Spline cord, a type of thin rubber cord used to… … Wikipedia
Spline drive — Spline drive, is a fastener specification. A spline drive bit or socket has 12 teeth. Spline drives are sized via numbers. #5 is one common size. It is different from the 12 toothed triple square and double hex driversThe primary advantage spline … Wikipedia
Spline cubique d'hermite — On appelle spline cubique d Hermite une spline de degré 3, nommée ainsi en hommage à Charles Hermite, et dont chaque polynôme Pi(x) se trouve sous la forme suivante: avec … Wikipédia en Français
Spline — 〈[splaın] f. 10; EDV〉 durch Kontrollpunkte bestimmte, mit minimaler Krümmung verlaufende Kurve, die mathematisch beschreibbar ist ● Spline Interpolation [engl., „Kurvenlineal“, eigtl. „Keil; Metall , Holzfeder“] * * * Spline [von engl. spline… … Universal-Lexikon
Spline-Interpolation — [ splaɪn ; spline englisch »Straklatte«, »Kurvenlineal«], ein mathematisches Interpolationsverfahren, bei dem durch die n Punkte der Ebene (x1, y1), (x2, y2),. .., (x … Universal-Lexikon
Spline-Kurve — Spline Kurve, in Grafik und CAD Programmen benutzte Kurven, die mithilfe mathematischer Funktionen (Splines) berechnet werden. Auf diese Weise lassen sich gegebene Punkte durch weiche gerundete Linien verbinden oder bei Animationen flüssig… … Universal-Lexikon
spline — [splīn] n. [< E Anglian dial., prob. akin to Norw dial. splindra, a large, flat splinter: for IE base see SPLIT] 1. a long, flat, pliable strip, as of wood or metal, esp. one used in drawing curves 2. a) a flat key or strip that fits into a… … English World dictionary
Spline — Spline, n. 1. A rectangular piece fitting grooves like key seats in a hub and a shaft, so that while the one may slide endwise on the other, both must revolve together; a feather; also, sometimes, a groove to receive such a rectangular piece.… … The Collaborative International Dictionary of English
Spline — [splain] der; s, s <aus gleichbed. engl. spline, Herkunft ungeklärt> biegsames Kurvenlineal, das man zum Zeichnen einer glatten Kurve durch vorgegebene Punkte benutzt … Das große Fremdwörterbuch
Spline — Spline. См. Шпонка. (Источник: «Металлы и сплавы. Справочник.» Под редакцией Ю.П. Солнцева; НПО Профессионал , НПО Мир и семья ; Санкт Петербург, 2003 г.) … Словарь металлургических терминов
Spline — 〈[splaın] f.; Gen.: , Pl.: s; EDV〉 durch Kontrollpunkte bestimmte, mit minimaler Krümmung verlaufende Kurve, die mathematisch beschreibbar ist [Etym.: engl., »Kurvenlineal«, eigtl. »Keil; Metall , Holzfeder«] … Lexikalische Deutsches Wörterbuch