Figure 1.3. Quadratic B-spline curve with
Figure 1.4. Quadratic B-spline curve with a non-uniform knot-vector. The initial knot used in Figure 1.3 has been changed by (the dotted lines repeat the uniform knot-vector case)
Returning to the examples, Figure 1.3 depicts a quadratic (i.e. p = 2) B-spline curve, where the knot-vector was chosen as:
[1.11]
This knot-vector is characterized as uniform since all interior knots are equally spaced. The influence of the knot-vector is shown in Figure 1.4, where we only changed one knot of the initial knot-vector such that:
[1.12]
This new knot-vector is characterized as non-uniform because the interior knots are not equally spaced.
1.2.2.2. B-spline basis functions
So far, we have not mentioned how the B-spline basis functions involved in equation [1.9], and already plotted in Figures 1.3 and 1.4, are formulated. There are different ways to define them (Piegl and Tiller 1997). The standard practice in IGA is to call on the following recursive formula:
This recurrence procedure is often known as the Cox–de Boor formula in reference to its inventors (C. de Boor and M.G. Cox; see Piegl and Tiller (1997) for more information). The initial functions
Figure 1.5. Examples of B-spline basis functions of different degrees. The same interior knots were used (0.15, 0.50 and 0.75)
For illustration purposes, we display several examples of B-spline basis functions in Figure 1.5. We can observe the influence of the degree. Many properties of these B-spline basis functions are given in pioneering works (Cohen et al. 1980, 2001; Piegl and Tiller 1997; Farin 2002). In particular, an interesting feature of B-splines is their higher degree of regularity. Indeed, a B-spline function of order p can reach a Cp−1 regularity at knot ξi1, if this one is single. There can be more than one knot at a given location of the parameter space. More precisely, if m is the multiplicity of a given knot, the functions are Cp−m continuous at that location, which is in contrast to standard FE, where only a C0 regularity is encountered on the element boundaries. Figure 1.6 highlights this point: the second derivatives of the cubic basis functions are discontinuous at the double knot, while they remain continuous at single knots.
Figure 1.6. Differentiability of cubic B-spline functions in the case of a uniform knot-vector (interior knots: 2, 4 and 6) (left), and in the case of a double knot (interior knots: 2.4, 2.4 and 6) (right)
Last but not least, it may be noted that the computation of the kth derivatives of a B-spline basis can be efficiently performed, similarly to that for building the basis functions themselves using [1.13]. Indeed, the derivatives of B-spline basis functions are represented in terms of B-spline lower-degree bases:
[1.14]
Again, we refer to Piegl and Tiller (1997) for efficient algorithms regarding these calculations.
NOTE.– Looking more closely at the differentiability properties of B-Spline functions, it may be noted that the B-spline technology encompasses the standard FE technology based on Lagrange polynomials. Indeed, if we seek to recover the subspace of standard Lagrange polynomials with the B-spline formalism, we only need to take a knot-vector where the multiplicity of each (interior) knot is equal to p. This would generate piecewise polynomials of degree p that are C0 at the element boundaries, which is equivalent to taking standard Lagrange polynomials to generate the approximation subspace (see Bouclier and Passieux (2022) for more information regarding the relation between FEM and IGA and, for example, Schillinger et al. (2016b) and Tirvaudey (2019)). Figure 1.5 (top left) clearly illustrates this statement for the case where p = 1: the same basis functions as standard FEM are constructed. As a result, we will obviously consider splines of degree p ≥ 2 and, as much as possible, interior knots of multiplicity 1, in order to benefit from the increased smoothness of this technology.
1.2.2.3. NURBS curves
The NURBS basis functions, denoted by
Then, NURBS curves are defined similarly to those in [1.9]:
[1.16]
Consequently, a NURBS curve takes the same inputs as a B-spline curve,