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.