info prev up next book cdrom email home

B-Spline

\begin{figure}\begin{center}\BoxedEPSF{BSpline.epsf scaled 700}\end{center}\end{figure}

A generalization of the Bézier Curve. Let a vector known as the Knot Vector be defined

\begin{displaymath}
{\bf T}=\{t_0, t_1, \ldots, t_m\},
\end{displaymath} (1)

where ${\bf T}$ is a nondecreasing Sequence with $t_i\in[0,1]$, and define control points ${\bf P}_0$, ..., ${\bf P}_n$. Define the degree as
\begin{displaymath}
p\equiv m-n-1.
\end{displaymath} (2)

The ``knots'' $t_{p+1}$, ..., $t_{m-p-1}$ are called Internal Knots.


Define the basis functions as

$\displaystyle N_{i,0}(t)$ $\textstyle =$ $\displaystyle \left\{\begin{array}{ll} 1 & \mbox{if $t_i\leq t<t_{i+1}$\ and $t_i<t_{t+1}$}\\  0 & \mbox{otherwise}\end{array}\right.$ (3)
$\displaystyle N_{i,p}(t)$ $\textstyle =$ $\displaystyle {t-t_i\over t_{i+p}-t_i}N_{i,p-1}(t)+{t_{i+p+1}-t\over t_{i+p+1}-t_{i+1}}N_{i+1,p-1}(t).$  
      (4)

Then the curve defined by
\begin{displaymath}
{\bf C}(t)=\sum_{i=0}^n {\bf P}_iN_{i,p}(t)
\end{displaymath} (5)

is a B-spline. Specific types include the nonperiodic B-spline (first $p+1$ knots equal 0 and last $p+1$ equal to 1) and uniform B-spline (Internal Knots are equally spaced). A B-Spline with no Internal Knots is a Bézier Curve.


The degree of a B-spline is independent of the number of control points, so a low order can always be maintained for purposes of numerical stability. Also, a curve is $p-k$ times differentiable at a point where $k$ duplicate knot values occur. The knot values determine the extent of the control of the control points.

See also Bézier Curve, NURBS Curve




© 1996-9 Eric W. Weisstein
1999-05-26