B Spline

You might also like

You are on page 1of 7
B-SPLINE CURVES AB-Spline curve differs from a Hermite or Bézier curve in that it usually con- sists of more than one curve segment. Each segment is defined and influenced by only a few control points, which are the coefficients of the B-Spline basis, function polynomials. The degree of the curve is independent of the total num- ber of control points. These characteristics allow changes in shape that do not, propagate beyond one or only a few local segments. Most curve-defining tech- niques do not provide for local control of shape. Consequently, local changes (for example, a small change in the position of a point on a spline curve or of a vertex of a characteristic polygon of a Bézier curve) tend to be strongly propa- gated throughout the entire curve. Thisis sometimes described as a global prop- agation of local change. The B-Spline curve avoids this problem by using a special set of basis functions that has only local influence and depends on only a few neighboring control points. Connecting the control points p, (see Equation [5.1)) in the order of their numbering with straight lines produces the B-Spline control polygon. The B-Spline curve is contained within the convex hull of its control polygon. In general, B-Splines do not necessarily interpolate their end- points. However, the nonuniform B-Spline basis functions allow this. We con- sider here both nonrational and rational forms of the B-Spline basis functions. 5.1 NONUNIFORM B-SPLINE BASIS FUNCTIONS ‘We begin with the most general nonrational B-Spline curves, those defined by nonuniform basis functions. That is, the basis function defining one seg- 113 ment may differ from those defining another. This allows us to interpolate one or more of the control points, depending on the modeling situation. We do this by specifying a nondecreasing set of knot values (explained in the fol- lowing). A B-Spline curve is similar to a Bézier curve in that a set of basis functions combines the effects of m +1 control points p, The nonrational formis given by PCH) => peal) (6) Comparing Equation (5.1) to Equation (4.2) for Bézier curves, we find that the most important difference is the way the basis functions Nj, (u) are formulated. For a Bézier curve, the number of control points determines the degree of the basis function polynomial. For a B-Spline curve, a parameter k controls the degree of the basis polynomials, and it is usually independent of the number of control points, except as it is limited by Equation (5.6), fol- lowing. We will not discuss degree elevation or reduction here. However, Piegl and Tiller (1994) report successful methods for accomplishing both. ‘The nonuniform B-Spline basis functions are defined recursively by the fol- lowing expressions: Naw)=1 if =0 — otherwise bSucter (5.2) and (63) link — lies where k controls the degree (k— 1) of the resulting polynomial in w and also the continuity of the curve. The ¢, are knot values, and a set of knot values comprises a knot vector. They relate the parametric variable u to the p; con- trol points. For an open nonuniform curve that interpolates the endpoints, the 4 are 0 if i 3, and at least eight nondecreasing knot values. ‘What happens if we increase the number of control points? To answer this, we must review Figures 5.1 to 5.3. In Figure 5.1, we see no evidence whatso- Nonuniform B-Spline Basis Functions = 123 ever to indicate an influence on the shape of the basis-function curves that we can attribute to the number of control points. In both Figures 5.2 and 5.3, we also correctly infer that, except for the basis functions influenced by the endpoints or those very near them (depending on k), the interior basis func- tions are independent of n. For example, if n= 7 and k=3, we would find that Na3(t) = Ny3(t) = Nas(u) = Nsa(u). Let us pursue this idea of basis-function independence of n and at the same time try to develop a more convenient matrix notation, We will do this for k = 3. First, we compute Nja(u), N.,13(u), and N,.2(u). The reason for selecting these three will become clear as our investigation progresses, We choose an interval in iso that k Sin. This anticipates the uniform B-Spline and, for now, simplifies the calculation of the «; knot values so that =i ~ k-+ 1 =i~2. Using the recursive formulas of Equations (5.2) and (5.3), we then compute Nalw for i-2 Po 5.19) is (5.19) ps(4) = UMS} ps Pe PP Pe(u) = UMS} ps Ps and for n=5 and k=4, ie [1:3] Ps p(w) = UMg|P* Pb Po Pr =uM,|P2 P2(u) = UM, rl Pe (5.20) Pe Ps Ps Ps

You might also like