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.

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.

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.

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.

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

_{} (1)

The derivatives of offset surface_{} are given by Equation set (2)_{}:

_{} (2)

where

_{} (3)

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 system’s 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):

_{} (4)

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

_{}

(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):

_{} (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.

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

_{} (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):

_{} (9)

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

_{} (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):

_{} (11a)

or more generally, by Equation (11b):

_{} (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):

_{} (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:

_{} (13)

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.

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

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

_{} (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):

_{} (15)

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

_{} (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)

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

_{} (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.

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.