BSP-Line Basis Functions

First, for degree p=0 (piecewise constant, Box B-SPLine)
Afterwards, for degree p= 1, 2, ... :
We keep the same symbols with [1], which is quite popular, because we want the reader to browse through this thesis conveniently. In the software implementation of this method, however, we discourage the use of symbolizations and instead represent the variables with full names.

Knot value vector as Boundary of Basis Functions Support

Knots define the boundaries of the model’s basis functions. They represent “switches” which turn “on” or “off” a certain piece of a B-SPLine basis function. In order to acquire the knots and the basis functions, a knot vector must be defined.
In order to improve efficiency and communication between members of GiGA Team, we define as
  • “Knot Value Vector”: the whole set of non-decreasing coordinates (“knot values”).
  • “Knot Vector”: the set of unique coordinates (“knots”).
For example, a knot value vector could be {0 1 1 1 2 2 3 3} where 0, 1, 1, 1, 2, 2, 3, 3 are the separate knot values. The corresponding knot vector is {0 1 2 3} where 0, 1, 2, 3 are the separate knots.
Let  be the polynomial degree of the basis function. If the first and the last knots are repeated p+1 times, the knot value vector is considered “Open”, because it has C-1 Continuity on the edges, creating an open curve that is interpolatory at these points. If knot values are equally spaced, the knot value vector is considered “Uniform”. In CAD community, non-uniform, open knot value vectors are widely used. An example of such a knot value vector with p=2 is:
A knot value vector may contain integers or decimals. In fact, the actual numerical content of knot values is of no importance. What matters is the relative distance between them. This means a knot value vector can be multiplied by any number, or have a number added to every knot value and the resulting basis would still be the same.
In GiGA Team, we generally prefer to use knot value vectors that start from 0 and span by 1, as it is more convenient for the human mind to use an integer system.

Full Tensor Product as a characteristic of B-SPLine Basis Functions

B-SPLine basis functions are of full-tensor product nature. Consequently, it is easy to combine B-SPLines across different directions, in order to evaluate a multi-directional B-SPLine Shape function.
It is understood that all properties of B-SPLine basis functions in one direction are inherited by the multi-directional shape functions. As a result, thorough adaptation to one-directional B-SPLine basis function properties and techniques is very important for understanding multi-directional complex geometries.

B-SPLine Basis Function Properties

According to “The NURBS Book” [3], B-SPLine basis functions possess the following important properties:
1. Local support:
2. In any given knot span, at most  functions of order  are non-zero.

3. Nonnegativity:
4. Partition of unity:  
7. A non-periodicknot value vector that produces n functions of order p has n+p+1 knot values .
8. Every B-SPLine basis function shares support with 2p B-SPLines.

​Local support

Local support means that basis functions are non-zero only in certain knot spans in parameter space. This can be expressed by:
​​Local support is a result of the recursive character of B-SPLines. For the creation of a B-SPLine function of degree p, two consecutive B-SPLine functions of order p-1 are used. For the creation of those consecutive basis functions, three consecutive functions of order p-2 are needed. Inductively, p+1 consecutive box basis functions are required.
Each box function has a support of one knot alue span. As a result, the support of the final basis function is defined by the union of the supports of the box functions, hence p+1 consecutive knot value spans.
In figure 2.5, the recursive character of B-SPLines is represented. The box functions, drawn in red, are required in order to build the linear basis functions, drawn in green. Linear functions are combined for the evaluation of quadratic (p=2) basis functions. Bear in mind that some linear and box functions are zero across the entire domain, but still contribute to the evaluation of the next-order B-SPLines.
  Figure 6. B-SPLine recursive character.
Basis functions required for the evaluation of a quadratic B-SPLine function. 
In a similar fashion, a support can be defined with respect to knot values contributing to the creation of a B-SPLine basis function. These are the p+2 knot values that are contained in the knot value span support of the function. Both knot value span support and knot value support are necessary for the understanding of isogeometric methods.
Bear in mind that knot values can be repeated, thus forming trivial spans.
Observe the next basis functions in this example; as more trivial spans are contained, the knot span support of each function is reduced. Still, the knot value span support and the corresponding knot value support follow the rules already mentioned.
In the above figure, the polynomial degree of the basis functions is p=3. Knot value span support is p+1=4 knot value spans, which requires knot value support of p+2=5 knot values.
B-SPLine tensor product properties enable the immediate expansion of 1D properties to 2D and 3D B-SPLine shape functions.
Observe that the value of the bidirectional B-SPLine is represented both in the third axis of the graph and by projection of the contour in the 2D plane. This is useful for representation of 3D basis functions.
Both 1D basis functions have reduced continuity in figure 2.11. 
3D B-SPLine shape functions can be represented as in the figure 2.12.
The three axes represent the three parametric directions ξ, η, ζ. B-SPLine basis functions for ξ are drawn in the ξ-η plane, functions for η in the η-ζ plane and functions for ζ in the ζ-ξ plane.
Their tensor product value has been calculated as a function of two parametric directions at the control point coordinate of the remaining direction. The resulting contour is projected on a plane that is parallel to the two directions and intersects with the tensor product control point. This process is repeated for all three possible combinations, thus creating contours at ξ-η , η-ζ and ζ-ξ planes.
For example, control point (3, 3, 1) has coordinates (ξ, η, ζ)= (1.5, 1.5, 0).

 Maximum number of non-zero functions per Knot Span

A box function that is non-zero in one knot span contributes to the evaluation of two consecutive B-SPLine basis functions of order p=1. These two functions lead to the creation of three consecutive basis functions of order p=2. Inductively, a box function contributes to the creation of p+1 B-SPLine basis functions of order p.
It applies from Cox de Boor recursive formula that only one box function is non-zero across a selected knot span. As a result, only the corresponding p+1 B-SPLine basis functions of order p can be non-zero in that specific knot span.
  Figure 13. Contribution of one box function
to the creation of higher-order B-SPLine basis functions.

  Figure 14. Contribution of one box function to non-zero higher-order B-SPLine basis functions across Knot Span [1,2).


It has been established that:
The degree in figure 2.16 is p=4. As we see in the picture above, all the basis functions are positive for every ξ ,i. This property is very important for isogeometric analysis and it does not apply in the classical shape functions of finite element analysis. Naturally, it is easier for the human mind to work only with positive values, so this attribute simplifies and encourages the understanding of B-SPLines. Non-negativity applies for 2D and 3D shape functions as well.

 Partition of unity

​Partition of unity is expressed by
The degree for the B-SPLine basis functions in Figure 2.17 is p=3. The green horizontal line represents the sum of B-SPLine values at the corresponding ξ, which, of course, is equal to 1 for every ξ.
For example, B-SPLine values have been evaluated for ξ=4.81, with the following results for the four non-zero basis functions:
​The above yields
as expected.  

Partition of unity applies for multi-dimensional shape functions as well.
In 2D, partition of unity is expressed as
which is a result of tensor product nature [1]: 
In full analogy, 3D shape functions also possess partition of unity:
Partition of unity is also a property of great importance for the shape functions that are used in finite element analysis.

Cp-m Continuity

The polynomial order in figure 2.18 is p=3. Continuity for a basis function is affected only by the corresponding knot values. Knot ξ=4 has multiplicity m=3 with respect to the knot vector. Its multiplicity with respect to the basis functions depends on each function’s knot value support.
In 2D and 3D cases, continuity per direction is obtained straight from the continuity of the corresponding one-directional B-SPLine basis functions.
Observe that all functions of reduced continuity tend to be more “steep”. This happens because they contain multiple knot values of the same knot, and therefore develop across trivial spans. This “steepness” is the first indication that a basis function has reduced continuity.

​Linear Independence

These linearly independent vectors form a basis for the vector space V. Some interesting attributes of such vectors include:
  • The basis of the vector space V can be formed by different sets of linearly independent vectors. Any set can be used, provided that the vectors are linearly independent and all the properties above apply for every vector. Thus, in isogeometric analysis, we can choose different sets of B-SPLine basis functions in order to represent the vector space.
  • The number of vectors of any basis chosen is equal to the dimension of V, often represented as dim (V). In isogeometric analysis dim (V) is equal to the number of control points and, consequently, the number of basis functions used.
  • Let there be a mass of vectors {u1 u2 ... un}  which form the basis of a vector space with dim (V)= n and the numbers {a1 a2 ... an}, called the coordinates of u. In isogeometric analysis, the basis of the vector space is the set of B-SPLine basis functions {Nl,p (ξ) N2,p (ξ) ... Nn,p (ξ)} and the numbers are the coordinates {Χ1 Χ2 ... Χn} of the control points of the curve. A random vector  of the vector V space  can be represented by the equation:
 which in isogeometric analysis applies as
Vector space V in i is a mass of vectors with the properties below:
1. Commutativity of addition:
In isogeometric analysis this property applies as
2. Associativity of addition:
Respectively in isogeometric analysis,
In isogeometric analysis the equation applies as
The - u is called the additive inverse of u. The equivalent in isogeometric analysis is
5. Identity element of scalar multiplication: For the real number 1, it applies:
Respectively, in isogeometric analysis
In isogeometric analysis this equation applies as
which is implemented in isogeometric analysis as
Its equivalent in isogeometric analysis is
B-SPLine basis functions are indeed the basis for a vector space with dim(V) = n, where n is the number of control points. Control points are the coordinates that transform the basis functions at any point in the given physical space. Conclusively,
is the basis of the vector space, while
are the coordinates for a vector C(ξ). The familiar linear combination applies:
Due to linear independence and vector space properties, it is understood that for a specific set of basis functions, only one set of control points can yield the appropriate geometry. If one wants to change the basis functions, the control points have to be shifted accordingly.

Fixed number of Knot Values

Shared Support

Each B-Spline shares support with at most 2p B-Splines. More specifically, each basis function shares support with at most p basis functions on each side. This results in higher interconnection, compared to equivalent finite element method shape functions. Basis function overlapping leads to interconnectivity between control points as well.

B-SPLine Basis Function Derivative

Basis function derivatives are widely used in isogeometric analysis. Deformation and stiffness matrices are built upon the derivatives of shape functions. As a result, the distribution of stresses and strains across the model is based on those derivatives. The derivatives of B-SPLines, as obtained from the recursive formula, are represented as a linear combination of previous polynomial order basis functions [1]:
This leads to a generalized equation for the kth derivative:
The partial derivatives of two-directional B-SPLine shape functions can be easily obtained by application of the quotient rule:
​3D Shape function derivatives per direction can be obtained in the same manner

B-SPLine Curves, Surfaces and Solids

After evaluating the shape functions, the B-SPLine surface is defined in analogy to the B-SPLine curve:
​Using the tensor product properties, we can also evaluate the solid function:
 Figure 24. B-SPLine Entities. (a) Curve, (b) Surface and (c) Solid.

B-SPLine Curve Properties

Generalization of Bezier curves

 Figure 25. B-SPLine as generalization of Bezier curves. (a) Physical Space and (b) basis functions​.

Piecewise polynomial curve

 Figure 26 Piecewise polynomials that form a B-SPLine basis function. Knots represent the boundaries of the pieces.
A B-SPLine curve is obtained through the curve function:
which is a linear combination of piecewise polynomial basis functions. This applies in multi-directional entities as well. Tensor product shape functions are piecewise polynomials with respect to the corresponding directions, thus B-SPLine surfaces and solids are also piecewise polynomials. The term B-SPLine, after all, stands for basis - smooth polynomial line.

Non-Uniform Rational B-SPLines

​B-SPLine geometries may have many promising attributes, but they also have several weaknesses in geometrical representation. Some basic geometrical forms cannot be presented as B-SPLine entities, such as circles or conic sections in general. In order to solve this problem, the CAD industry introduced Non-Uniform Rational B-Splines (NURBS). The basic idea is simple. A NURBS entity is produced from the actual section of a cone with a plane.

​Basic Idea

 Figure 38. B-SPLine curve and projective transformation to NURBS Curve.
Projection of the curve and control points on the plane z=1 produces the NURBS curve C(ξ) and the 2D control points:
the weight of NURBS curve are defined as:
In generalization, n-dimensional Rational B-SPLines are projections of (n+1)-dimensional non-rational B-SPLines.