
200 Applied Geometry for Computer Graphics and CAD
Example 8.8
Consider the uniform B-spline B(t)ofdegreed = 2 defined on the knot vector
t
0
=0,t
1
=1,t
2
=2,t
3
=3,t
4
=4,t
5
=5,t
6
=6,t
7
= 7, and with control
points b
0
(3, 2), b
1
(7, −1), b
2
(5, 2), b
3
(4, 5), b
4
(2, 3). The curve is defined on
the interval [t
d
,t
m−d
]=[2, 5]. There are three curve segments defined on the
sub-intervals [2, 3], [3, 4], and [4, 5]. For instance, to determine the point B(3.6)
which lies on the i = 1 segment, t =3.6 is translated into the interval [0, 1]
using t → t − i − 2. The required parameter is t =3.6 − 1 − 2=0.6, and (8.6)
gives
B
1
(0.6) =
1
2
(1 − 0.6)
2
(7, −1) +
1
2
(1 + 2(0.6) − 2(0.6)
2
)(5, 2) +
1
2
(0.6)
2
(4, 5)
=(4.98, 2.3) .
Periodic B-splines and Closed Periodic B-splines
In a number of applications, it is desirable to represent closed curves for
which the starting point equals the finishing point. A closed B´ezier curve can
be obtained by choosing control points which form a closed control polygon.
But, in general, B-splines do not interpolate the first and last control points,
and therefore a closed control polygon does not yield a closed curve. Closure of
the curve is obtained by imposing conditions on the control points and knots.
For instance, an open B-spline could be used for this purpose. An alternative
is to use a closed periodic B-spline.
A periodic B-spline of degree d and with n + 1 control points is obtained by
choosing knots t
0
≤ ...≤ t
n
arbitrarily, and then setting
t
n+i
= t
n+i−1
+(t
i
− t
i−1
) ,
for i =1,...,d+ 1. A knot vector of this form is called a periodic knot vector.
In particular, a uniform B-spline is a special case of a periodic B-spline.
A closed periodic B-spline of degree d and control points b
0
,...,b
n
, b
n+1
=
b
0
, b
n+2
= b
1
,...,b
n+d
= b
d−1
is obtained by choosing knots t
0
≤ ...≤ t
n+1
arbitrarily, and forming a periodic knot vector with n +2d + 2 knots.
Example 8.9
Let d = 3 and n = 4. Let the first five control points be b
0
(1, 2), b
1
(3, 7),
b
2
(6, 6), b
3
(6, −2), b
4
(1, −1), and let the remaining control points be b
5
(1, 2),
b
6
(3, 7), b
7
(6, 6). Suppose the first n + 2 = 6 knots are t
0
=0.0, t
1
=0.5,
t
2
=2.0, t
3
=3.0, t
4
=3.1, t
5
=3.4. The periodic knot vector is obtained by