B-spline
Encyclopedia
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. B-splines were investigated as early as the nineteenth century by Nikolai Lobachevsky. A fundamental theorem states that every spline function of a given degree, smoothness, and domain partition, can be uniquely represented as a linear combination
of B-splines of that same degree and smoothness, and over that same partition.
The term "B-spline" was coined by Isaac Jacob Schoenberg
and is short for basis spline. B-splines can be evaluated in a numerically stable
way by the de Boor algorithm. Simplified, potentially faster variants of the de Boor algorithm have been created but they suffer from comparatively lower stability.
In the computer science
subfields of computer-aided design
and computer graphics
, the term B-spline frequently refers to a spline curve parametrized by spline
functions 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 phenomenon
without increasing the degree of the B-spline.
a B-spline of degree n is a parametric curve
composed of a linear combination of basis B-splines bi,n of degree n
.
The points are called control points or de Boor points. There are m−n-1 control points, and they form a convex hull
.
The m-n-1 basis B-splines of degree n can be defined, for n=0,1,...,m-2, using the Cox-de Boor recursion formula
Note that j+n+1 can not exceed m-1, which limits both j and n.
When the knots are equidistant the B-spline is said to be uniform, otherwise non-uniform. If two knots tj are identical, any resulting indeterminate forms 0/0 are deemed to be 0.
Note that when one sums a run of adjacent n-degree basis B-splines one obtains, from this recursion
for any sum with
When here, then this sum is, by this recursion, identically equal to 1, within the limited subrange , (since this interval excludes the supports of the two basis B-splines in the separate terms at the ends of this sum).
with
and
where
is the truncated power function.
of , and Bk recursively as the convolution
product
then Bk are called (centered) cardinal B-splines. This definition goes back to Schoenberg
.
Bk has compact support and is an even function. As the normalized cardinal B-splines tend to the Gaussian function.
on the knots. It is just the indicator function for the different knot spans.
Put in matrix
-form, it is: for
where Si is the ith 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 are not necessarily equal (the knot vector of interior knot spans are not equal). A common form is where intervals are successively reduced to zero, interpolating control points.
-form, it is:
for
Mathematics
Mathematics is the study of quantity, space, structure, and change. Mathematicians seek out patterns and formulate new conjectures. Mathematicians resolve the truth or falsity of conjectures by mathematical proofs, which are arguments sufficient to convince other mathematicians of their validity...
subfield of numerical analysis
Numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis ....
, a B-spline is a spline
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...
function that has minimal support
Support (mathematics)
In mathematics, the support of a function is the set of points where the function is not zero, or the closure of that set . This concept is used very widely in mathematical analysis...
with respect to a given degree
Degree of a polynomial
The degree of a polynomial represents the highest degree of a polynominal's terms , should the polynomial be expressed in canonical form . The degree of an individual term is the sum of the exponents acting on the term's variables...
, smoothness
Smooth function
In mathematical analysis, a differentiability class is a classification of functions according to the properties of their derivatives. Higher order differentiability classes correspond to the existence of more derivatives. Functions that have derivatives of all orders are called smooth.Most of...
, and domain
Domain (mathematics)
In mathematics, the domain of definition or simply the domain of a function is the set of "input" or argument values for which the function is defined...
partition. B-splines were investigated as early as the nineteenth century by Nikolai Lobachevsky. A fundamental theorem states that every spline function of a given degree, smoothness, and domain partition, can be uniquely represented as a linear combination
Linear combination
In mathematics, a linear combination is an expression constructed from a set of terms by multiplying each term by a constant and adding the results...
of B-splines of that same degree and smoothness, and over that same partition.
The term "B-spline" was coined by Isaac Jacob Schoenberg
Isaac Jacob Schoenberg
Isaac Jacob Schoenberg was a Romanian mathematician, known for his discovery of splines.He studied at the University of Iaşi, receiving his M.A. in 1922. From 1922 to 1925 he studied at the Universities of Berlin and Göttingen, working on a topic in analytic number theory suggested by Issai Schur...
and is short for basis spline. B-splines can be evaluated in a numerically stable
Numerical stability
In the mathematical subfield of numerical analysis, numerical stability is a desirable property of numerical algorithms. The precise definition of stability depends on the context, but it is related to the accuracy of the algorithm....
way by the de Boor algorithm. Simplified, potentially faster variants of the de Boor algorithm have been created but they suffer from comparatively lower stability.
In the computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
subfields of computer-aided design
Computer-aided design
Computer-aided design , also known as computer-aided design and drafting , is the use of computer technology for the process of design and design-documentation. Computer Aided Drafting describes the process of drafting with a computer...
and computer graphics
Computer graphics
Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....
, the term B-spline frequently refers to a spline curve parametrized by spline
Spline
Spline can refer to:* Spline , a mating feature for rotating elements* Spline , a mathematical function used for interpolation or smoothing* Smoothing spline, a method of smoothing using a spline function...
functions 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
Bézier curve
A Bézier curve is a parametric curve frequently used in computer graphics and related fields. Generalizations of Bézier curves to higher dimensions are called Bézier surfaces, of which the Bézier triangle is a special case....
, and it can avoid the Runge phenomenon
Runge's phenomenon
In the mathematical field of numerical analysis, Runge's phenomenon is a problem of oscillation at the edges of an interval that occurs when using polynomial interpolation with polynomials of high degree...
without increasing the degree of the B-spline.
Definition
Given m real values ti, called knots, witha B-spline of degree n is a parametric curve
composed of a linear combination of basis B-splines bi,n of degree n
.
The points are called control points or de Boor points. There are m−n-1 control points, and they form a convex hull
Convex hull
In mathematics, the convex hull or convex envelope for a set of points X in a real vector space V is the minimal convex set containing X....
.
The m-n-1 basis B-splines of degree n can be defined, for n=0,1,...,m-2, using the Cox-de Boor recursion formula
Note that j+n+1 can not exceed m-1, which limits both j and n.
When the knots are equidistant the B-spline is said to be uniform, otherwise non-uniform. If two knots tj are identical, any resulting indeterminate forms 0/0 are deemed to be 0.
Note that when one sums a run of adjacent n-degree basis B-splines one obtains, from this recursion
for any sum with
When here, then this sum is, by this recursion, identically equal to 1, within the limited subrange , (since this interval excludes the supports of the two basis B-splines in the separate terms at the ends of this sum).
Uniform B-spline
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-1 basis B-splines iswith
and
where
is the truncated power function.
Cardinal B-spline
Define B0 as the characteristic functionCharacteristic function
In mathematics, characteristic function can refer to any of several distinct concepts:* The most common and universal usage is as a synonym for indicator function, that is the function* In probability theory, the characteristic function of any probability distribution on the real line is given by...
of , and Bk recursively as the convolution
Convolution
In mathematics and, in particular, functional analysis, convolution is a mathematical operation on two functions f and g, producing a third function that is typically viewed as a modified version of one of the original functions. Convolution is similar to cross-correlation...
product
then Bk are called (centered) cardinal B-splines. This definition goes back to Schoenberg
Isaac Jacob Schoenberg
Isaac Jacob Schoenberg was a Romanian mathematician, known for his discovery of splines.He studied at the University of Iaşi, receiving his M.A. in 1922. From 1922 to 1925 he studied at the Universities of Berlin and Göttingen, working on a topic in analytic number theory suggested by Issai Schur...
.
Bk has compact support and is an even function. As the normalized cardinal B-splines tend to the Gaussian function.
Constant B-spline
The constant B-spline is the simplest spline. It is defined on only one knot span and is not even continuousContinuous function
In mathematics, a continuous function is a function for which, intuitively, "small" changes in the input result in "small" changes in the output. Otherwise, a function is said to be "discontinuous". A continuous function with a continuous inverse function is called "bicontinuous".Continuity of...
on the knots. It is just the indicator function for the different knot spans.
Linear B-spline
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 function can easily be precalculated, and is equal for each segment in this case.Put in matrix
Matrix (mathematics)
In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...
-form, it is: for
Cubic B-Spline
A B-spline formulation for a single segment can be written as:where Si is the ith 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 are not necessarily equal (the knot vector of 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 function can easily be precalculated, and is equal for each segment in this case. Put in matrixMatrix (mathematics)
In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...
-form, it is:
for
See also
- Spline (mathematics)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...
- Nonuniform rational B-splineNonuniform rational B-splineNon-uniform rational basis spline is a mathematical model commonly used in computer graphics for generating and representing curves and surfaces which offers great flexibility and precision for handling both analytic and freeform shapes.- History :Development of NURBS began in the 1950s by...
s (NURBS) - De Boor algorithm
- M-splineM-splineIn the mathematical subfield of numerical analysis, an M-spline is a non-negative spline function.-Definition:A family of M-spline functions of order k with n free parameters is defined by a set of knots t1 ≤ t2 ≤ .....
- I-splineI-splineIn the mathematical subfield of numerical analysis, an I-spline is a monotone spline function.-Definition:A family of I-spline functions of order k with n free parameters is defined in terms of the M-splines Mi...