Construction of Blending Surfaces

Ling Huang  Xinxiong Zhu

(School of Mechanical Engineering & Automation,

Beijing University of Aeronautics & Astronautics, Beijing, 100083)


Abstract: Surface blending is very important in geometric modeling and is widely used in product design and manufacturing. This paper has a comprehensive discussion in surface blending with constant/variable radii, including the generation of rolling-ball blending between a curve and a surface, rolling-ball blending between two surfaces at a given contact curve, sliding-circle blending between two surfaces, etc. All those algorithms developed have been put into the commercial CAD/CAE/CAM software system CAXA-ME and greatly enhanced its modeling ability.

1.      Introduction

Blending is a term of forming a smooth localized transition between neighboring surfaces. It is very important in geometric modeling and is widely used to improve functions and aesthetics, and reduce stress concentrations of a product. For different applications there are different requirements.

In most commercial CAD/CAM systems, parametric(Bezier/B-spline) surfaces, especially the trimmed parametric surfaces, are the main forms used for free-form surface design. In most instances, blending surfaces have no exact representations and should be approximated by Bezier/B-spline surface within a given tolerance. The construction of approximated blends is typically based on surface intersection, interpolation and trimming. Fig.1 depicts the terminology for parametric-blending techniques.


                    Fig.1  Terminology used in blending surface generation

Much research has been done on the construction of blending surfaces. Rockwood and Hoffman described methods to generate blends between implicit surfaces. Choi introduced rolling-ball method employing offset surfaces intersection algorithm to construct blending surface. Harada adopted sliding-circle approach to blend two parametric surfaces based on a specified control curve. But they all did not take into consideration of the positional and tangent contact accuracy between the blending surface and the two base surfaces. Farouki computes approximate constant-radius blending for free-form parametric surfaces and the result blending surface approaches to a true constant-radius blends within any defined accuracy in rational Bezier/B-spline form.

This memorandum describes several methods for constructing approximate blends between free-form parametric surfaces, which are widely used in commercial CAD/CAM systems, based on the marching and approximation of center curve of the blending surface. The contact curves are either user-defined or obtained by offset surface intersection. The blending surface is expressed in the form of rational Bezier/B-spline patches and ensures positional and normal vector continuity with two base surefaces along the contact curves within a given accuracy. All the algorithms can be applied to trimmed-surfaces.

Firstly described is the procedure of constructing a blending surface by rolling-ball with a given radius (for constant-radius blending) or a radius function (for variable-radius blending). The procedure is a typical one of constructing the blending surface, involving the procedures of offset surfaces intersection, section curve construction and section curves sweeping.

 Secondly presented is the construction of blending surface by rolling-ball along the contact curve on one surface being specified arbitrarily. This results a variable-radius blending surface tangent to one of the base surfaces at the given contact curve. It is noted that this method does not require the existence and calculation of the intersection between two surfaces.

However, in rolling-ball method the blend radius is assumed being smaller than the least concave principal radius of curvature of the given surfaces. It is unable to blend surfaces with local radius of curvature being too small. So sliding-circle method is suggested, which employes a circle sliding on two parametric surfaces so that the circle is perpendicular to a specified control curve.

2.   Rolling-Ball Blending Between Two Surfaces

In this section we describe the method of constructing and approximating rolling-ball blends between two free-form parametric surfaces.

Let  and  be topologically rectangular parametric surfaces with proper parameterization. We need to construct a blending surface of radius  to smooth out the intersection of  and . A spherical ball of radius  is imagined to roll while maintaining simultaneous contact with the two given surfaces and the center trajectory (center curve) of the ball may be regarded as the intersection of the offsets to those surfaces at distance . For the offset surfaces intersection curve is respectively defined on the domains of two base surfaces, the contact curves on two base surfaces can be obtained and the arcs on the rolling ball between two contact curves are the section curves of the blending surface. The section curve sweeps along the center curve forms the blending surface.

2.1  Procedure

The main steps of constructing blending surface by rolling-ball approach are:

l       Step1: Construct the offset surfaces of a pair of base surfaces.

l       Step2: Compute the intersection of the offset surfaces in order to determine the center curve and contact curves of the blending surface. Step3: Construct a blending surface by sweeping or meshing the section curves along the center curve and the contact curves.

2.2    Offset Surface Intersection

The offset surface is a parametric  patch if the base surface is parametric one with  continuity. Let  and  be topologically rectangular parametric surfaces with unit normal vectors  and , respectively. Then, their offset surfaces with distance  in normal direction are defined by Equation set (1):


The derivatives of offset surface are given by Equation set (2):




Similarly, the derivatives of offset surface  can be obtained.

Many published papers have discussed the intersection of  parametric surfaces and are helpful to compute the intersection of offset surfaces. Also, we, by ourselves, have developed an algorithm for computing approximate intersection curves in Bezire/B-spline form by an adaptive manner within any given accuracy. This algorithm can be employed to construct the blending surface with little modification. For example, the systems surface generator which calculates the positions and derivatives only needs to be replaced by the offset surface generator, described as follows.

The theory of plane vector field combined with the divide-and-conquer algorithm can be exploited to search and calculate the starting points for marching the intersection curves of the  offset surfaces.

Initial approximate points can be relaxed onto the intersection curve by Newton-Raphson iteration. Given a pair of near points ,  and , their corresponding points on base surfaces are and , respectively, and can be described by Equation set (4):


The Newton-Raphson iteration to compute real intersection point related to this near point pairs can be represented by Equation set (5):


where .

    On surface untrimmed or trimmed boundaries, the offset surfaces intersection points iteration has a similar equation as their base surfaces do.

In marching procedure, similar algorithm can be employed to determine the step direction and step length by taking advantages of local differential geometry of the intersection curve. But for step direction at the points with surface tangent planes being parallel, the surface normal curvature can not be used to determine the step directions for the offset surfaces being  continuity. In this case a backtracking method should be implemented and the step directions are taken as the difference of previous intersection points.

Starting from current point , i.e.  or , the next approximate intersection point  and candidate parameter pairs () and () of surfaces  and  can be calculated, respectively, with the step vector  and the step length  by using marching technique described by Equation set (6):


Iterated by Equation (3), point  can be relaxed onto the intersection curve and the next intersection can be obtained. Significant points can be searched and determined by similar algorithm in the marching procedure.

2.3   Construction of Blending Surface

By the offset surface intersection processing, three corresponding sequences of points lying respectively on the center curve and two contact curves can be obtained. As shown in Fig.2, the center of the ball locates at the offset surface intersection described by Equation (7):


The rolling ball contacts with the base surfaces at points described by Equation set (8):

      and                     (8)

where parameter tuples  are calculated by the offset surfaces intersection procedure.



 Fig.2  Center point  and Contact points  &      Fig.3  Construction of the arc

Let  and  be the end-points and  the center of the arc of radius  as depicted in Fig.3. The intersection point  of the tangents at  and  is uniquely determined.  can be calculated by Equation (9):


Then, by taking ,  and  as the control vertices, an arc can be defined by a rational parametric equation (Equation 10):


where  is the parameter, and  are the weights of the control points () and can be used to adjust the shape (fullness) of the blending surface. If an arc is required, the weights can be determined by Equation (11a):


or more generally, by Equation (11b):


where  and  and are unit normals at contact points.

When the section curve sweeps along the center curve and the contact curves with maintaining the section plane perpendicular to the center curve, a smooth blending surface can be obtained. Let  denote the sweeping parameter sequence, and ,  and  be three piecewise curves defined on it. Thus, the blending surface can be described by Equation (12):


can be easily approximated by Bezier or B-spline patches by the use of lofting or skinning method.

A variable radius blend can be denoted as:


where the blending radius is specified as a function of the sweeping parameter . A variable-radius blend can be constructed by exploiting the similar procedure.

2.4    Interpolation and Accuracy Measures

The shape of the blending surface and its accuracy of connecting (positional and tangent) with base surfaces is determined by the center curve. Smooth center curve and contact curves within the given tolerance can be constructed by the following two steps: (1)employing the offset surfaces intersection procedure, (2)fitting cubic spline curves through the points with the parameter tuples on each base surface. So the interpolation scheme used to construct the center curve and contact curves exerts important influence on the accuracy of the approximate blend surface.

Theoretically, finding a starting point and marching along the center curve with the marching step small enough, we can get all the points and their first derivatives for center curve and corresponding pair of contact curves simultaneously. With the given chord tolerance  getting smaller, three corresponding sequences of points are enough to reflect the overall shape of the center curve and the contact curves.

Those points, sampled from the theoretical intersection curves, form three point arrays for constructing the initial candidate center curve and contact curves. Similar to the construction of surface/surface intersection curves, the procedure used can be repeatedly employed to estimate the deviations and add the point(s) into the point array to get candidate Bezier/B-spline curves with less and less deviation until convergence. The only difference is of the accuracy measures. To reach the position and first derivative continuity between the blending surfaces and base surfaces, not only the measures for the center curve accuracy but also the accuracy measures of perpendicularity condition, distance between center curve and contact curves and conformance of contact curves to surfaces should be employed.

By employing the procedure presented, constant- and variable-radius blending surfaces in rational Bezier/B-spline form can be generated by rolling-ball method in an adaptive manner within any given tolerance, as shown in Fig.4, Fig.5 and Fig.6.


     Fig.4  Constant-radius blending                   Fig.5  Constant-radius blending


       (b) The variation of radius                  (c)  The result blending surface

                          Fig.6  Variable-radius blending

3.     Rolling-Ball Blending Between Two Surfaces at a Given Contact Curve

When a contact curve on one surface is given, a variable-radius blending surface can be constructed between tow surfaces.

As shown in Fig.7, Let  and  be two topologically rectangular parametric surfaces with unit normal vectors  and , respectively.  is a contact curve given on surface . Imagine that a ball with radius small enough is tangent to surface  at a point  on the given contact curve . Then, Let the ball gradually turns bigger. When the ball is tangent to the other surface , the contact point  on surface  is obtained. The radius  of the ball in this case is the radius of the section curve. The action in which the ball gradually turns bigger until contacting with surface  while maintaining tangent to surface  is achieved by following procedure. Finding a point  on the normal line of the surface  at the point on contact curve , a distance  can be obtained. Project point  to surface  to get another distance . If ,  is the exact center point of the ball and  is the radius. The geometric constraint of this procedure can be described by Equation set (14):



                    Fig.7  Section constructing at given contact point

This can be done at every contact point  on curve  by the following steps:

Firstly, project point  onto surface  to get the parameter  and its unit normal vector  by Equation (15):


Secondly, calculate the other contact point  with parameter value  on surface  by Newton-Raphon iterative Equation set (16):


When the ball marches along the contact curve  step by step, all the section curves blending two surfaces along the given contact curve can be calculated and form a variable-radius blending surface. Two examples are shown in Fig.8 and Fig.9.



    (a)  Two base surfaces                          (b)  The result blending surface

   Fig.8  Rolling-ball Blending tangent to one surface at the given contact curve (bold line)



    (a)  Two base surfaces                          (b)  The result blending surface

     Fig.9  Rolling-ball Blending tangent to one surface at its boundary (bold line)

4.  Sliding-Circle Blending Between Two Surfaces

In rolling-ball method, when base surfaces are with too small radii, the result blending surface will be self-intersected at the areas where the radii of curvature are smaller than that of the cutter, as shown in Fig.10. So other methods are needed.

Unlike the popular rolling-ball method, the sliding-circle approach defines a blending surface which is part of a circle sliding on two parametric surfaces. As the circle slides, it always lies on a normal plane perpendicular to a user-defined control curve. If the radius of the circle changes smoothly in sliding along the control curve, a variable-radius blending can be generated.

It is necessary to firstly determine a control curve for blending surface generation. Then many kinds of blending surfaces can be generated based on the shape of the control curve. If the control curve is well defined (for example, a line), a circle without any thickness and volume can slide through any area on the surface. If the control curve is defined as an intersection curve between the offset surfaces of the surfaces to be blended, blending surfaces obtained by the rolling-ball method can be generated identically by the sliding-circle method. Therefore, the sliding-circle method is superior to the rolling-ball method for both constant-radius and variable-radius blending.



     (a)  Two base surfaces                   (b) Rolling-ball blending with self-intersection



    (c) Sliding-circle blending           (d) Sliding-circle blending with surface trimming

           Fig.10  The comparison between rolling-ball blending and Sliding-circle blending

As shown in Fig.11, we can construct sliding-circle blending surfaces by  the following steps:

l       Step1: Construct enough number of planes perpendicular to the control curve  based on the given accuracy and the shape of the control curve.

l       Step2: Make every plane intersecting with two base surfaces, and get two plane intersection curves (PIC).

l       Step3: Construct an arc blending the two curves in the plane by employing plane offset curves intersection algorithm. If the arc is constructed successfully, it is the section curve of the blending surface at this point. This step goes plane by plane until all the section curves are obtained.

l       Step4: Construct a Bezier/B-spline surface, i.e. the blending surface, skinning all those section curves.


(a)  Planes perpendicular to the control curve    (b)  Construction of section arc in a plane

                          Fig.11  Sliding-circle blending method

However, this procedure does much unnecessary work and is computationally expensive. For example, it is needed to compute the whole plane/surface intersection curves for many times. Further more, this procedure cannot generate the sections of the blending surface in an adaptive manner within any defined accuracy.

The key of constructing arc sections for blending surface by the procedure just mentioned is that arc sections generated are not based on equi-distance offset surfaces, but some kind of varialbe-distant offset surfaces. The center curve of the sliding circle blending surface is the intersection of offset surfaces relevant to reference direction  given by the normal plane of the control curve .

Every point on two base surfaces offsets according to the reference direction  and the offset surfaces can be constructed as Equation set (17):


Employing similar procedure as described in section 2, the center curve can be calculated and the blending surface can be obtained by sweeping the arc along center curve.

5.  Concluding Remarks and Samples

This memorandum describes several methods for constructing blending surfaces. They all can generate blending surfaces in an adaptive manner within any given tolerance.

The algorithm has been realized by ourselves with C and C++, and incorporated into our commercial CAD/CAE/CAM software system —CAXA-ME, and successfully used in product modeling as shown in Fig.12, Fig.13 and Fig.14.



         Fig.12  Blends in a brace                          Fig.13  Blends in a bottle



                                      Fig.14  Blends in a rod


[1]     Hoffman C. and Hopcroft J., The potential method for blending surfaces and corners, Geometric Modeling SIAM, Farin G., ed., Philadelphia, PA, USA, 1987, 347-365.

[2]     Hartmann E., Blending of implicit surfaces with functional splines, CAD, 22(8), 1990, 500-506.

[3]     Choi B. K. and Ju S.Y., Constant-radius blending in surface modeling, CAD, 21(4), 1989, 213-220.

[4]     Harada T., Kono K. and Chiyokura H., Variable-radius blending by Using Gregory Patches in Geometric Modeling, EUROGRAPHICS 91, Post F. H. and Barth W., ed., Elsevier Science Publishers B.V., 1991, 507-518.

[5]     Farouki R. T. and Sverrisson R., Approximation of rolling-ball blends for free-form parametric surfaces, CAD, 28(11), 1996, 871-878.

[6]     Farouki R. T., The approximation of non-degenerate offset surfaces, CAGD, 3, 1986, 15-43.

[7]     Barnhill R.E. and Kersey S.N., A marching method for parametric surfaec/surface intersection, CAGD, 7, 1990, 257-280.

[8]     Huang Ling, A practical algorithm for surface/surface intersection, HZ-TMSurf-Huang03, BUAA, 1996.

[9]     Kriezis G.A., Patrikalakis N.M. and Wolter F.E., Topological and differential-equation methods for surface intersections, CAD, 24(1), 1992, 41-55.

[10] Pigel L. and Tiller W., Algorithm for approximate NURBS skinning, CAD, 28(9), 1996, 699-701.

[11] Huang Ling, A surface interpolating method for 3D curves-net, HZ-TMSurf-

    Huang02, BUAA, 1996.

[12] Huang Ling, Approach for Approximating Arbitrary Curves by NURBS, HZ-TMSurf-Huang01, BUAA, 1995.