next up previous contents index
Next: 1.4.3 Algorithms for B-spline Up: 1.4 B-spline curves and Previous: 1.4.1 B-splines   Contents   Index

1.4.2 B-spline curve

A B-spline curve is defined as a linear combination of control points $ {\bf p}_i$ and B-spline basis functions $ N_{i,k}(t)$ given by
$\displaystyle {\bf r}(t) = \sum_{i=0}^n{\bf p}_iN_{i,k}(t), \;\;\;\;\;\;n \geq k-1,
\;\;\;\;\;\; t \in [t_{k-1},t_{n+1}]\;.$     (1.62)

In this context the control points are called de Boor points. The basis function $ N_{i,k}(t)$ is defined on a knot vector
$\displaystyle {\bf T} = (t_0, t_1, \ldots, t_{k-1}, t_k, t_{k+1}, \ldots, t_{n-1},
t_n, t_{n+1}, \ldots, t_{n+k})\;,$     (1.63)

where there are $ n+k+1$ elements, i.e. the number of control points $ n+1$ plus the order of the curve $ k$ . Each knot span $ t_i \leq t \leq t_{i+1}$ is mapped onto a polynomial curve between two successive joints $ {\bf r}(t_i)$ and $ {\bf
r}(t_{i+1})$ . Normalization of the knot vector, so it covers the interval [0,1], is helpful in improving numerical accuracy in floating point arithmetic computation due to the higher density of floating point numbers in this interval [133,300].

Figure 1.10: An order four B-spline basis functions with uniform knot vector
\begin{figure}\centerline{
\psfig{figure=fig/cub.ps,height=4in}}\end{figure}
Figure 1.11: A clamped cubic B-spline curve
\begin{figure}\centerline{
\psfig{figure=fig/bs_cvx.ps,height=3.0in}}\end{figure}

A B-spline curve has the following properties:

Figure 1.12: The de Boor algorithm
\begin{figure}\centerline{\psfig{figure=fig/deboor.ps,width=3.0in}}
\vspace*{0.5...
...m}
\psfig{figure=fig/deboor_graph.eps,height=3.0in}
\vspace*{5mm}}\end{figure}


next up previous contents index
Next: 1.4.3 Algorithms for B-spline Up: 1.4 B-spline curves and Previous: 1.4.1 B-splines   Contents   Index
December 2009