Line

Effective Algorithms
for Joining NURBS Surfaces in a Smooth Fashion
Line

Charles K. Chui
Department of Mathematics
Texas A&M University
College Station, TX 77843
Telephone: (409)845-3261
e-mail: chui@tamu.edu

Ming-Jun Lai
Department of Mathematics
University of Georgia
Athens, GA 30602
Telephone: (706)542-2065
e-mail: mjlai@math.uga.edu

Jian-ao Lian
Department of Mathematics
Prairie View A&M University
Prairie View, TX 77446
Telephone: (409)857-4118
e-mail: jian-ao_lian@pvamu.edu

Patrick F. Cassidy
The Boeing Company
P.O. Box 516
St. Louis, MO 63166
Telephone: (314)233-1743
e-mail: pcassidy@mdc.com

Abstract: The objective of this paper is to introduce effective algorithms for joining independently designed NURBS surfaces with arbitrary weights in a smooth fashion, without gaps and without introducing additional surface patches. Parametric C1 bi-cubic NURBS surfaces with equally-spaced as well as nonequally-spaced double knots are considered. One or more of the NURBS surfaces could be conics. We provide some numerical examples to demonstrate our algorithms by joining two NURBS surfaces. Our algorithms can be extended to join multiple NURBS surfaces.

1. Objective: A NURBS (or non uniform rational B-spline) surface
in the 3-dimensional space R3 is a bi-parametric surface defined by a rational function using B-spline series representation. One of the major advantages of using rational functions over polynomial representation is that some important curves and surfaces such as conic sections can be expressed by rational functions but not by polynomials.
As an example, it is well-known that the unit circle x2+y2=1 in the 2-space cannot be represented by using parametric polynomials with one parameter but can be expressed by a rational function of quintic polynomials of the form C(u) = (x(u), y(u)), where

Observe from (1.1) that the parameter u runs over the closed interval [0,1] and x(u) and y(u) have the same denominator.
NURBS can be used to represent a wide variety of geometric objects including not only conic-sections and free-form curves and surfaces, but also more conventional shapes such as polygonal surfaces. Hence, NURBS curves and surfaces are gaining more popularity for use in three dimensional computer aided design (CAD) and computer aided geometric design (CAGD).
We will focus on bi-cubic NURBS surfaces with double knots, i.e., the NURBS surfaces are in C1. The objective of this paper is to introduce effective algorithms for joining such independently designed NURBS surfaces in a smooth fashion, without gaps and without introducing additional surface patches.
For the parametric domain [0,1]x [0,1], let

be parametric knot sequences; M4, u,i and M4, v,j be the corresponding
4th order normalized B-splines with knots ui, ..., ui+4 and vj, ..., vj+4, respectively, i=0, ... , 2m+1, j=0, ..., 2n+1. Let

be a weight sequence, where wi,j > 0 is the weight corresponding to the knot position (ui,vj), i=0, ... , 2m+1, j=0, ..., 2n+1, and let

be the (2m+2)(2n+2) basis functions, i=0, ... , 2m+1, j=0, ..., 2n+1. We will study bi-cubic NURBS surfaces with two parameters u and v of the form

where di,j is the control point (i.e., de Boor point) relative to the parametric position (u i , vj), i= 0, ... , 2m+1, j=0, ..., 2n+1.

Consider four parametric NURBS surfaces S1 , ..., S4 of the form (1.6). The first algorithm we introduce is for joining S1 and S2 where the boundary knots of S1 may correspond to certain interior knots of S2 , as illustrated in Fig. 1. We emphasize that S1 may be a conic surface in which case the weights are nonuniform. The second algorithm is to connect S1 , S2 , and S3 where one of the boundary knot of S1 must correspond to a boundary knot of S1 . Our algorithm is to connect S3 to the compound surface of S1 and S2 , as illustrated in Fig. 2. For four surfaces, we first connect S1 and S2 as well as S3 and S1 using Algorithm 1. Then our Algorithm 3 is introduced to connect the compound surface S1 and S2 to the compound surface S3 and S4 . This is illustrated in Fig. 3.

2. Approach: Since a NURBS surface is a piecewise parametric rational polynomial function, every such piece can be expressed by Bezier coefficients and local weights. We derive smooth joining conditions in terms of these parameters. Hence, it is necessary to investigate the relations between control points and (global) weights with Bezier coefficients and local weights. Our approach is summarized as follows.

Step 1. Express rational polynomial pieces of a NURBS surface in terms of Bezier coefficients and local weights.

Step 2. Derive C0, C1, and G1 joining conditions of rational polynomial pieces in terms of Bezier coefficients and local weights.

Step 3. Modify Bezier coefficients and local weights along the boundary strip of one surface, say S2 , to join in a smooth fashion.

Step 4. Convert Bezier coefficients and local weights to new control points and global weights of S2 along the boundary strip.

Step 5. Extend to multiple surfaces.

Let B3,j,a,b denote the truncated cubic Bernstein polynomials relative to the interval [a, b], i.e.,

The restrictions of the B-splines M4, u,i and M4, v,i between two adjacent distinct knots are given by

where

Then the NURBS surface S in (1.6) can be written as follows:

We call di,j,k,l, k, l=0, ... , 3, Bezier coefficients and wi,j,k,l , k, l=0, ..., 3, local weights of the NURBS surface S in (1.6) or (2.4). To convert control points and weights in (1.6) to Bezier coefficients and local weights in (2.4), we need the following notations:

Then the conversion formulas are given as follows:

1) From control points to Bezier coefficients, we have, for i=1, ..., m, j=1, ..., n,

2) For conversion from global weights to local weights, we have, for i=1, ..., m, j=1, ..., n,

To convert Bezier coefficients and local weights in (2.4) back to control points and (global) weights, we need the bi-cubic Bezier surface patches to be put together in the C1 fashion. In other words, the Bezier coefficients and local weights satisfy

A. Along the m-1 interior vertical grid lines of the parametric domain,

B. Along the n-1 interior horizontal grid lines of the parametric domain,

Under these assumptions, the conversion algorithm is given below.

(1) For the 4 corners of the parametric domain,

(2)Along the horizontal boundaries of the parametric domain,

(3) Along the vertical boundaries of the parametric domain,

(4) For the interior of the parametric domain,

3. Theory and Algorithms: Let us begin with the discussion of C0, C1, and G1 smoothness joining conditions for two rational Bezier surface patches. First of all, we discuss the conditions under which two Bezier curves represent exactly the same curve. Let c(t): t in [0,1], (): in [0,1], be two cubic rational Bezier curves that have the Bernstein forms

respectively, where B3,j are Bernstein polynomials relative to [0,1]; dj , j are Bezier coefficients; and wj, j are local weights.

Suppose that dj- d0, j=1, 2, 3, are linearly independent. Then for any differentiable parameterization in [0, 1], () represents the same curve as c(t) if and only if

for some constant not equal to 0.

We now consider two rational bi-cubic Bezier surface patches

along the boundaries v=v2j and = 2q.

The two rational Bezier surface patches s(u,v) and (, ) in (3.4)--(3.5), are said to be C0 continuously joined, if there exists a reparameterization = gi(u) such that

By using (3.3), and assuming that the Bezier coefficients of s are in general position, i.e.,dk,0 - d0,0, k=1, 2, 3 are linearly independent. Then, and s represent the same curve along the boundaries v=v2j and = 2q if and only if

We next consider C1 connection of two rational bi-cubic Bezier surface patches s and in (3.4)--(3.5) along the boundaries u=u2i and = 2p. The two rational bi-cubic Bezier surface patches s(u,v) and ( ,) in (3.4)--(3.5) are said to be C1 continuously joined, if s(u,v) and (, ) are C0 continuously joined, as defined by (3.6)--(3.7), and that, since v and are in opposite directions,

It is very hard, if not impossible, to find a useful necessary and sufficient condition for C1 connection. For example, in the monograph ``The NURBS Book'' by Piegal and Tiller [4], not even sufficient conditions are shown.

First, a typical choice for gi(u) in (3.6) is the linear transformation, i.e.,

Then it follows from (3.6)--(3.8) that s(u,v) and (, ) are C1 continuously joined, if

where it is assumed, without loss of generality, that w0,0 = 0,0.

Next, we consider C1 joining of s and along a common boundary u=u2i+2 =2p, where [v2j,v2j+2 ]=[2q , 2q+2]. We give a simple sufficient condition which will be used in our algorithms to connect two bi-cubic NURBS surfaces together. To motivate our sufficient conditions, let us take the partial derivative of s with respect to u along the boundary u=u2i+2 = 2p and [v2j, v2j+2]=[ 2q, 2q+2], i.e.,

In order to join s and in C1 fashion, we have to assume that they are already continuous over the common boundary. By (3.8), we may assume that

In addition, assume that

Then s and are joined in C1 fashion.

Next we consider the two rational Bezier surface patches s and in (3.3)--(3.4) are connected in a G 1 fashion. That is, not only s and are joined continuously along their boundaries v=v2j, u in [u2i,u2i+2] and = 2q, in [ 2p, 2p+2], but there exists a unique plane which is tangent to both rational Bezier surface patches s and at each point on their common boundaries also. Equivalently, there exist rational functions (t), (t), and (t) such that

(see [3] ). To facilitate our discussion, we will only consider (t)=0. In fact, this is the case when we studied with G1 connection of bi-cubic B-spline surfaces in [1,2]. The following is a simple sufficient condition to ensure that two surfaces are connected in a G1 fashion:

Next, we turn to the discussion of joining NURBS surfaces. In addition to the NURBS surface S in (2.4), we consider another NURBS surface

with two knot sequences

and weight sequences ={i,j , i=0, ..., 2 +1, j=0, ..., 2 +1}. We say that the two knot sequences u as defined in (1.2) and as in (3.23) are proportional if

where = min{m, } and 's are defined in (2.2) and i's by

We have shown that if the knot sequences u and of two NURBS surfaces S1and S2 are proportional, then we can modify the control points and the (global) weights of S 2 by letting

to join S2 with S1 without any gaps (i.e., continuously).

We remark here that the proportionality of the knot sequences u and is necessary. In order to join S1 and S2 continuously under no assumption of the knot sequences, we have to adjust the Bezier coefficients and local weights, as follows.

Let S1 be given in terms of Bezier coefficients and local weights as in (2.4). Similarly, let di,j,k,l and i,j,k,l denote the Bezier coefficients and weights of S2. Then if we modify i, l,k,0 and i,l,k, 0 by setting i,l,k,0=di, l,k,0 and i,l,k, 0=wi,l,k,0 , i=1, ..., , k=0, ..., 3, it is clear that S1 and S2 are joint together without gaps.

Next we consider the G1 connection of two NURBS surfaces S1 and S2.

Suppose that the knot sequences u and are proportional. Then we can modify the control points and global weights of both S1 and S 2 by letting

while keeping the other control points and global weights unchanged. Then S1 and S2 are joined in a G1 fashion.

To consider the G1 connection of two NURBS surfaces for arbitrary knot sequences, an easy way is to first modify a portion of the NURBS surface S1 near its boundary by letting the global weights to be equal. More precisely, let

This reduces the portion of S1 over the strip: u2 <= u<= u2, v2 <= v <= v6 to be bi-cubic B-spline surface. Similarly, let

Then the portion of S2 over the strip 2 <= u <= 2 , 2 <= v<= 6, is also reduced to a bi-cubic B-spline surface. Then we can apply the algorithm in our earlier work [2] to connect the resulting B-spline surfaces in a G1 fashion. We shall continue to investigate the methods for joining two NURBS surfaces in G1 fashion while minimizing the change of their control points and global weights.

As an example, we give an algorithm for connecting two NURBS surfaces. We consider equally-spaced knot sequences with double interior knots, i.e., as in (1.2)--(1.3), we require

For the knot sequences and in (3.23), we require

Out algorithm can be summarized as follows (see Fig. 1).

Let S1 and S2 be the two NURBS surfaces in (2.4) and (3.22), respectively. Assume that the first surface patch of S1 along the u-direction corresponds to the rth surface patch of S2 along the -direction, and that m+r < . (1) At the left corner position of the parametric domain, set
(2) Along the interior r boundary patches of the parametric domian, set
(3) At the right corner position of the parametric domain, set

Finally, we demonstrate with a numerical example. Let S1 and S2 be two NURBS surfaces shown in Fig. 4. Here, S1 is simply a plane with equal weights and control points (i,j,1) with 1 < i < 10 and 1< j < 6, and S2 is a true NURBS surface with non-uniform weights. The knot sequences are proportional. In Fig. 5 and Fig. 6, we show that they are joined in C0 and G1 fashion, respectively, by using our algorithms.

Fig. 1. Schematic diagram of parametric domains of two parametric NURBS surfaces S1 and S2

Fig. 2. Schematic diagram of parametric domains of three parametric NURBS surfaces S1, S2 , and S3

Fig. 3. Schematic diagram of parametric domains of four parametric NURBS surfaces S1 , S2 ,S3 , and S4

Fig. 4. Two NURBS surfaces.

Fig. 5. Two NURBS surfaces in joined together without gaps.

Fig. 6. Two NURBS surfaces in G1 .

References

[1]
C. K. Chui, J. Hanisch, M.J. Lai, J.-A. Lian, and P. F. Cassidy, ``Smoothing and Gap Removal of Compound C1 Cubic NURBS Surface Patches,'' Proceedings of the 1998 NSF Design and Manufacturing Grantees Conference, Monterrey, Mexico, pp.181-182, 1998.
[2]
C. K. Chui, J. Hanisch, M.J. Lai, J.-A. Lian, and P. F. Cassidy, ``Removal of Gaps among Compound C1 Bi-cubic B-spline Surface Patches,'' March, 1998, submitted.
[3]
D. Liu and J.  Hoschek, GC1 continuity conditions be tween adjacent rectangular and triangular Bézier  surface patches, Comput. Aid Design, 21(1989), pp. 194-200.
[4]
L.  Piegal and W.  Tiller, The NURBS Book, Springer Verlag, Berlin, 1995.

Acknowledgments: This research was supported by the National Science Foundation under the GOALI Program Grant # DMI-9634833 and by the Boeing Company, St. Louis (formerly McDonnell Douglas Corp.)