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.

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.

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.

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

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

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.

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

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.

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 {u
_{1}u_{2 }... u_{n}} which form the basis of a vector space with dim (V)= n and the numbers {a_{1}a_{2 }... a_{n}}, called the coordinates of u. In isogeometric analysis, the basis of the vector space is the set of B-SPLine basis functions {N_{l,p}(ξ) N_{2,p}(ξ) ... N_{n,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.

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.

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 k^{th} 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

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:

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.

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.

Projection of the curve and control points on the plane z=1 produces the NURBS curve C(ξ) and the 2D control points:

where,

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.