Some Spline Terminology
We are going to briefly discuss some of the terminology
related to the spline portion of the interactive web app
Exploring Bezier and Spline Curves, together with
the associated help page and its links.
We recognize that, as the technology has evolved, the usage of these terms
has sometimes drifted from the definitions put forth in the fundamental
work of I. J. Schoenberg, C. R. de Boor, and others.
We will describe our use of the terms and also will point out some alternative
usages below. We will not try to be totally mathematically rigorous or complete.
-
Spline function: We consider a spline function to be a real-valued piecewise
polynomial having specified degree, specified set of breakpoints, and
specified levels of derivative continuity at each breakpoint. A breakpoint is a
value in the domain of the spline function where two adjacent polynomials that are pieces
of the spline join up.
-
B-spline: We consider a B-spline to be a normalized spline function that has
minimal support. A set of B-splines is determined by specifying the degree, the set of breakpoints, and
the level of derivative continuity at each breakpoint. By normalized we mean that the set of
B-splines is scaled in such a way that, for each parameter value in the domain, the sum of the values
of all the B-splines is 1.0; in other words, the B-splines form a partition of unity.
To help you visualize B-splines, the graphs of some B-spline functions are displayed next to the corresponding
control points in the
spline portion of the interactive web app.
Every spline function can be written uniquely as a linear combination of appropriately-chosen
B-spline functions. So, the "B" in "B-spline" stands for "basis," in the linear algebra sense.
We consider it to be better style to usually refer simply to "B-splines" rather than "B-spline basis functions."
-
Spline curve: In our web app a spline curve is a two-dimensional parametric curve of the
form C(t) = (x(t), y(t)), where x(t) and y(t) are each real-valued spline functions.
Some people call a spline curve a B-spline curve, whenever the x and y components of the spline
curve are explicitly represented as linear combinations of B-splines. However, in the interactive web app
we reserve the use of the term B-spline for the basis functions themselves and not for spline functions
or spline curves that are expressed as linear combinations of these basis functions. However, this strict use of terminology
breaks down when we consider NURBS curves, which are beyond the scope of this web app, but are widely used in applications.
-
NURBS curve: NURBS stands for Non-Uniform Rational B-Spline.
The mathematical expression for a NURBS curve is a fraction, where the numerator is a sum of products of weights, control points
and B-splines and the denominator is a sum of products of weights and B-splines. The use of the term NURBS has become standard,
so, in this case, even though the curve is not a B-spline in the purist sense of the term, the "BS" has become part of the
acronym.
-
NU stands for "non-uniform," which really means that the spacing of the breakpoints is not necessarily uniform.
-
R stands for "rational," which means that the mathematical expression is a fraction.
-
BS stands for "B-spline," which means, in this case, not that the whole curve is a B-spline, but rather that there
are B-splines involved in the mathematical expression.