Figure 1.7. An example of a NURBS curve: influence of the weights on the basis functions and on the final curve with comparison to the B-spline case (the weights of the first, third and sixth control points have been moved from 1 to 0.5 , 2 and
1.2.2.4. Surfaces and volumes
B-splines and NURBS are not restricted to parametric curves. Obviously, multivariate entities such as surfaces and volumes can also be described in the parametric form by using these technologies. The standard construction principle is identical to that of curves. In particular, a B-spline surface is a bivariate function of the form:
[1.17]
where the bivariate B-spline basis functions
Figure 1.8. Example of bivariate B-spline basis functions. The lower continuity at a repeated knot of the univariate basis functions propagates along a knot line due to the tensor product
The basis functions
Figure 1.9. Example of a free-form surface described with a cubic B-spline surface
As for the univariate case, the construction of a NURBS surface requires the additional definition of one weight per control point. More specifically, a NURBS surface reads:
[1.19]
where the bivariate piecewise rational basis functions
[1.20]
Therefore, the tensor product operation [1.18] is also involved for NURBS surfaces. As for NURBS curves, the weights give more shape control on the surface and allow us to describe exactly, for example, cylinders and spheres.
Let us eventually introduce the case of parametric volumes. These are trivariate functions obtained with an additional tensor product at the B-spline level. A NURBS volume can be expressed as follows:
[1.21]
where the trivariate piecewise rational basis functions
[1.22]
The trivariate B-spline basis functions above are the generalizations of those for B-spline surfaces (see equation [1.18]). Thus, a volume is equipped with three knot-vectors for each ξ1-, ξ2- and ξ3-direction. Figure 1.10 depicts the case of a hollow cylinder (with similar geometry to that in Figure 1.2 (right)). Thanks to adapted weights, the circular part can be exactly represented. However, it has to be noted that only simple geometries can be modeled with a single spline patch. Indeed, given the tensor product structure at the B-spline level, a patch is necessarily a rectangle or a cuboid in the parameter domain for bivariate and trivariate topologies, respectively, which makes it poorly suited for representing complex, multiply connected domains. In this situation, non-conforming multipatch modeling that consists, roughly speaking, of assembling different (possible cut) spline patches is necessary. We do not go into further detail here. At this stage, we refer the reader to Cottrell et al. (2009) and indicate that the multipatch modeling issue is addressed, in detail, in this book.