9.3. Types of Splines   

9.3.1. Bezier Curves   

The Bezier Curve was pioneered by P.Bezier for computer modelling of surfaces for the design of automobiles. In fact Renault have used his UNISURF system (which uses the Bezier Curve method) on several of the vehicles.

The key the Beziers method is the use of blending functions. These affect the behaviour of the curve from four control points. The four blending functions represent the 'influence' each control point has on the curve.

There are several drawbacks in using this method. The blending functions affect all points along the curve. In other words, it does not have localised control over the curve. Also, the number of control points affected the degree of the curve. The higher the degree, the higher the lack of control over the curve there was. Designing Bezier Surfaces   

It is simple to use a Bezier curve to get a Bezier surface. The Bezier surface is just a mesh of Bezier curves anyway. Obviously there are lots of similarities between them. Characteristics of Bezier surfaces   

There are two characteristics of Bezier surfaces that are important to remember while designing them.

The surface passes through the four corner control points of the surface control net.

The surface tangent in both the u and v direction at each corner control point passes through each of the adjacent edge control points. In other words, the tangent is defined by the corner control point and the adjacent edge control point

Bezier surface characteristics
Fig. 9.1 : Bezier surface characteristics
(see Fig. 9.1)

These two are considered most important when surfaces are to be joined together. To get a smooth seemless join, the shared control point and the two internal control points either side in each patch of adjoining surfaces should be colinear

Joining Bezier surfaces
Fig. 9.2 : Joining Bezier surfaces
(see Fig. 9.2) Applications of Bezier surfaces   

These are some example object types and how to build them out of Bezier surfaces. Volumes of revolution   

One thing that Bezier surfaces are good for is modeling volumes of revolution. Sketch the profile of the object and draw in the control points for a series of Bezier curves that would match it. These become the edges of a series of Bezier surfaces that will be used to model a quarter of the revolution.

Imagine these edges are in the x-z plane and the profile is to be revolved 90 degrees about the z axis. Lets just take one of the control points. Its x and z coordinates are just the distances from the respective axis, and the y coordinate is 0. The control point on the opposite side of the resultant surface will be in the y-z plane. Its z coordinate is the same, and the x and y coordinates are swapped.

Now we need to work out the coordinates of the two internal control points of this row of the surface. The tangents at the axis need to be perpendicular so that all the surfaces of the revolution join seemlessly. So it turns out that the internal control points are just shifted away from the axis. For a circular sweep, the distance is roughly 0.55 times the distance of the edge control points from the z axis.

Bezier approx. of quarter circle
Fig. 9.3 : Bezier approx. of quarter circle
The coordinates for the other three quarters of the revolution are easily calculated by just mirroring and swapping about the ones just worked out. Tubes   

Tubes are constructed in two symmetrical halves; each a surface. The edge control points are on opposite sides on the surface of the tube. The internal control points are just shifted out again so the tangents at the top and bottom are perpendicular. For a circular cross section the distance away from the centre line is about 0.63 times the height of the tube.

Bezier approximation of cylinder
Fig. 9.4 : Bezier approximation of cylinder

Example 1 - Lens   

This is a simple example of how two Bezier surfaces can be used to model a convex lens. Below is some data used to model the lens. The first block of numbers is the coordinates of the control points, and the second is the control point numbers for the two surfaces. The line numbers are just for easy reference.

1: -1 0 0
2: -1 -0.55 0
3: -0.55 -1 0
4: 0 -1 0
5: -1 0.55 0
6: -0.55 0 0.5
7: 0 -0.55 0.5
8: 0.55 -1 0
9: -0.55 1 0
10: 0 0.55 0.5
11: 0.55 0 0.5
12: 1 -0.55 0
13: 0 1 0
14: 0.55 1 0
15: 1 0.55 0
16: 1 0 0
17: -0.55 0 -0.5
18: 0 -0.55 -0.5
19: 0 0.55 -0.5
20: 0.55 0 -0.5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5 17 18 8 9 19 20 12 13 14 15 16
Lens - Control net from above
Fig. 9.1 : Lens - Control net from above
Figure 9.1 shows the lens control net from above. The x axis goes off to the right, and the y axis goes up the page. Notice that we only needed four extra control points for the second/bottom surface because all the edge ones can be shared with the first/top surface.

Lens - Surfaces from side
Fig. 9.2 : Lens - Surfaces from side
Figure 9.2 shows the two surfaces from the side.

Example 2 - Teapot   

This is an example of a more complex object modeled with Bezier surfaces; a teapot. Because it is constructed from 306 control points and 32 surfaces the data has not been included here. The body and lid are just volumes of revolution. The spout and handle are bent tubes.

Teapot - Control nets
Fig. 9.1 : Teapot - Control nets
Figure 9.1 shows the control nets for the Bezier surfaces. If you look carefully at the back corner, you can see a bug in the geometry definition. One of the control point numbers for that surface was typed in twice.

Teapot - Surfaces
Fig. 9.2 : Teapot - Surfaces
Figure 9.2 shows the surfaces themselves.  

9.3.2. Cubic Splines   

The natural starting point for a study of spline functions is the cubic spline because it is similar to the draftman's spline. It is a continuous cubic polynomial that interpolates the control points ( joints ). The polynomial coefficients for cubic splines are dependent on all n control points, their calculation involves inverting an (n+1) by (n+1) matrix. This has two disadvantages: (i) moving any one control point affects the entire curve, and (ii) the computation time needed to invert the matrix can interfere with rapid interactive reshaping of a curve.  

9.3.3. B-Splines   

B-Spline (which means Basis Spline) was the earliest spline method. It overcame the problems encountered by the Bezier Curve , by providing a set of blending functions that only had effect on a few control points. This gave the local control that was lacking.

Also, the problem of piecing curves together was avoided by allowing only those curves that possessed the required continuity at the joints. Most other spline techniques provided this at the loss of local control.

The overall formulation is much like that of the Bezier, but the key difference is in the formulation of the blending functions. The important feature of the B-Spline blending functions is that they are non-zero in only a small portion of the range of the particular parameter.

B-Spline share many of the advantages of Bezier Curves, but the main advantage is the local control of the curve shape. B- Splines also reduce the need to piece many curves together to define the final shape. Control points can be added at will without increasing the degree of the curve, thereby retaining the control over the curve that wouls be lost with a Bezier curve.

There are three types of B-splines: uniform nonrational B- splines, nonuniform nonrational B-splines and nonuniform rational B-splines. (Foley and et.al., 1987)

The term uniform means that the joints (knots) are spaced at equal intervals of the parameter t.

The term rational is used where x(t), y(t) and z(t) are each defined as the ration of two cubic polynomials.  

9.3.4. Uniform Nonrational B-Splines   

B-splines consist of curve segments whose polynomial coefficients depends on just a few control points. This is called local control. In other words, moving a control point affects only in the region near the control point of a curve. In addition, the time needed to compute the coefficients is greatly reduced. B-splines have the same continuity as cubic splines, but do not interpolate their control points.  

9.3.5. Nonuniform Nonrational B-Splines   

Nonuniform nonrational B-splines permit unequal spacing between the knots. These curves have several advantages over uniform B-splines.

First, continuity at selected join points can be reduced from second derivative (C2) to first derivative (C1) to C0 to none. If the continuity is reduced to C0, then the curve interpolates a control point, but without the undesirable effect of uniform B-splines, where the curve segments on either side of the interpolated control point are straight lines.

Also, starting and ending points can be easily interpolated exactly, without at the same time introducing lineat segments.

It is possible to add an additional knot and control point to nonuniform B-splines, so the resulting curve can be easily reshaped, whereas this cannot be done with uniform B-splines.  

9.3.6. Nonuniform Rational B-Splines   

NURBS are Non-Uniform Rational B-Splines and is the term given to curves that are defined on a knot vector where the interior knot spans are not equal. As an example, we may have interior knots with spans of zero. Some common curves reqiure this type of non-uniform knot spacing. The use of this option allows better shape control and the ability to model a larger class of shapes.

Nonuniform rational B-splines (NURBS) are useful for two reasons. The first and most important reason is that they are invariant under perspective transformations of the control points.

A second advantage of rational splines is that they can define precisely any of the conic sections. A conic can be only approximated with nonrationals, by using many control points close to the conic.  

9.3.7. Beta-Splines   

Beta-splines is a tool for designing parametrically defined curves because they are tailored to geometric continuity rather than to parametric continuity. Geometric continuity is an intrinsic measure of continuity appropiate for spline development. It has been shown to be a relaxed form of parametric continuity independent of the parameterizations of the curve segments under consideration, but still sufficient for geometric smoothness of the resulting curve. However, geometric continuity is appropriate only for applications where the particular parameterization used is unimportant, since parameteric discontinuities are allowed. (Goodman and Unsworth, 1986)

Uniformly shaped Beta-splines are considered in which the bias and tension parameters are fixed throughout the length of the curves. Therefore, the extra control gained is not of a local nature, since a change in either parameter affected the entire curve.  

9.3.8. V-Splines   

V-spline curves, similar in mathematical structure to Beta- splines, are developed as a more computationally efficient alternative to splines in tension.

Although the splines in tension can be modified to allow tension to be applied at each control point, the procedure is computationally expensive. The v-spline curve uses more computationally tractable piecewise cubic curves segments, resulting in curves that are just smoothly joined as those of a standard cubic spline. (Nielson, 1986)