Читать книгу IGA - Robin Bouclier - Страница 18

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 take degree p in the ξ1-direction and degree q in the ξ2-direction. They are obtained by the tensor product of their univariate counterparts:

[1.18]

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 are B-spline basis functions of degree p and q and correspond to two different knot-vectors Ξ1 and Ξ2 of size n1 + p + 1 and n2 + q + 1, respectively. The number of bivariate B-spline functions is thus n2D = n1 × n2, and the ith bivariate basis function corresponds to the i1th and i2th functions in the ξ1- and ξ2-directions, respectively. Examples of bivariate B-spline basis functions are given in Figure 1.8. We can observe that the lower regularity due to a double knot leads to a complete C0-line for the bivariate basis functions. This is due to the tensor product nature of B-spline surfaces. In other words, a pointwise feature in one parametric direction propagates along a line into the other direction. This will also make local mesh refinement delicate with such functions (see the remark in section 1.2.3). Finally, note that in order to build a B-spline surface, we should define two degrees, two knot-vectors and n2D = n1 × n2 control points (to be associated with the n2D bivariate B-spline functions). An example of a B-spline surface is shown in Figure 1.9.

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 are computed from the bivariate B-spline functions as:

[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 are given by:

[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.


Figure 1.10. Example of a hollow cylinder described with a quadratic NURBS volume

In the rest of this book, we may omit the degree of the functions when unnecessary. In this case, the notations of the form will simply turn into Ri. In addition, we will sometimes use a matrix form to define the spline objects for ease of reading, with respect to the implementation. In this respect, the general expression for NURBS (thus also including B-spline) geometries with parameter ξ ∈ d ⊂d (with d being the parametric dimension of the spline entity, i.e. d = 1 for curves, d = 2 for surfaces and d = 3 for volumes) will be simply written as:

[1.23]

where R and x denote the matrix of the NURBS basis functions and the vector collecting the locations of the associated control points, respectively. Considering, for example, control points in 3D, R and x, formally read as:

[1.24]

Pi in [1.23] is obviously the subset of x gathering the coordinates (xi, yi, zi) of the ith control point.

IGA

Подняться наверх