Computer Aided Engineering Design

(backadmin) #1
SPLINES 155

5.9 Design Features with B-Spline Curves


Generating unclamped and clamped B-spline curves, illustrated in Example 5.7, shows how knot
multiplicity (a case of knot positioning) can be used to have a curve pass through the end points.
Curve design with B-spline basis functions is more flexible than with Bernstein polynomials.
B-spline curves require additional information (the control points and the order of piecewise curve
segments) compared to the Bézier curves for which the two requirements are related (the number of
control points is also the order of Bézier segment). More precisely, the shape of a B-spline curve is
dependent on, and can be controlled using (i) the position of control points, (ii) the order of normalized
basis functions and (iii) the position of knots.


(a) Shape manipulation using control points
That the shape of a B-spline curve changes only locally when a control point is moved to a different
location is known from Eq. (5.35). We can employ the convex hull property to further manipulate the
curve shape by relocating data points. For instance, we can force a curve segment to become a line
segmentby making any p adjacent control points collinear. Thus, if bi, bi+ 1 ,... , bi+p– 1 , all are in a
straight line, the curve segment that lies in their convex hull for t in [ti+p–1,ti+p) will be a straight line.
Fort, however, not belonging to the interval, the curve segments will not be linear. If p–1 of these
control points are identical, say, bi= bi+ 1 =... = bi+p–2, the convex hull degenerates to a line segment
bibi+p–1 and the curve passes through bi. Further if bi–1, bi= bi+ 1 =... bi+p–2andbi+p–1are collinear,
the line segment bi–1bi+p–1 is tangent to the curve at bi. Using the knot sequence as [0,... , 10], the
first four data points in Example 5.7 are modified as (0, 0), (1, 1), (2, 2) and (3, 3), respectively. The
resultant open B-spline is shown in Figure 5.19 (a) with a linear segment for t in [3, 4). Next, the data
points are modified to (0, 0), (0, 1), (2, 3), (2, 3), (2, 3), (6, 0) and (7, –3). The curve is shown in
Figure 5.19 (b) which passes through the point (2, 3). Notice the slope discontinuity at this point that
can also be achieved as a design feature using multiple data points. Further, the data point (6, 0) is
moved to a new location (4, 5) so that (0, 1), (2, 3) and (4, 5) are collinear. Figure 5.19 (c) shows that
the curve not only passes through (2, 3) but also is tangent to the polyline with end points (0, 1) and
(4, 5).
Clamping of a B-spline curve discussed in Example 5.7 using knot-multiplicity can also be
achieved by repeating the first and/or the last data point(s). Thus, if b 0 = b 1 =... bp–2, the curve will
pass through b 0. This is shown in Figure 5.19(d) with the first three of the parent data points in
Example 5.7 as (0, 0). Further, with the last three data points set as (7, –3), Figure 5.19(e) shows a
spline clamped at both ends. Finally, a closedB-spline curve is shown in Figure 5.19(f) which is
obtained using the control points (4, – 4), (4, – 4), (4, – 4), (2, – 4), (0, 0), (2, 4), (4, 6), (8, 0),
(6, – 4), (4, – 4), (4, – 4), (4, – 4). These are 12 in number, and for an order 4 B-spline curve, 16 knots
are required for which the sequence [0,... , 15] is used. Note that the first and last data points, that
is, (4, – 4) are repeated three (p– 1) times each. The curve passes through (4, – 4) and is slope
continuous at this point since points (2, – 4), (4, – 4) and (6, – 4) are collinear.


(b) Shape manipulation using knot modification
Knot modification may be another way to incorporate changes in the shape of a B-spline curve. This
is because each piece of the B-spline curve is defined over a knot span, and modifying the position
of one or more knots changes the behavior of the basis functions and thus the shape of the curve.
However, since the change in shape of respective basis functions is not predictable with the change
in position of the simple knots, this mode of shape control is not recommended.
Change in curve shape using multiple knots on the other hand can be predictable. Examples of

Free download pdf