mesh blending - tsinghua university

13
Visual Comput (2005) DOI 10.1007/s00371-005-0306-2 ORIGINAL ARTICLE Yu-Shen Liu Hui Zhang Jun-Hai Yong Pi-Qiang Yu Jia-Guang Sun Mesh blending Published online: 31 August 2005 © Springer-Verlag 2005 Y.-S. Liu () · H. Zhang · J.-H. Yong · J.-G. Sun School of Software, Tsinghua University, Beijing 100084, P.R. China [email protected], {huizhang, yongjh}@mail.tsinghua.edu.cn Y.-S. Liu · J.-G. Sun Department of Computer Science and Technology, Tsinghua University, Beijing 100084, P.R. China P.-Q. Yu School of Computer and Information Technology, Beijing Jiaotong University, P.R. China [email protected] Abstract A new method for smoothly connecting different patches on triangle meshes with arbitrary connectivity, called mesh blending, is presented. A major feature of mesh blending is to move vertices of the blending region to a virtual blending surface by choos- ing an appropriate parameterization of those vertices. Once blending is completed, the parameterization optimization is performed to per- fect the final meshes. Combining mesh blending with multiresolution techniques, an effective blending technique for meshes is obtained. Our method has several advantages: (1) the user can intuitively control the blending result using different blending radii, (2) the shape of cross- section curves can be adjusted to flexibly design complex models, and (3) the resulting mesh has the same connectivity as the original mesh. In this paper, some examples about smoothing, sharpening, and mesh editing show the efficiency of the method. Keywords Mesh blending · Smooth- ing · Parameterization · Rolling ball 1 Introduction With 3D scanners becoming the standard source for ge- ometric data acquirement, triangle meshes have been the primary representations for reverse engineering, rapid prototyping, conceptual design, and simulation [2, 4, 18]. Mesh editing such as boolean operations, cut-and-paste editing, and deformation also becomes an active research area in computer graphics. Currently, it still is a chal- lenge to flexibly and intuitively blend different patches in a given mesh. In this paper, we introduce a mesh blend- ing technique based on a rolling ball. This technique is capable of producing desirable results. Surface blending, whose goal is to create an interme- diate surface that smoothly connects adjacent surfaces, is a way of constructing complex objects in geometric mod- eling. Surface blending is widely used for aesthetic, man- ufacturability, stress-concentration avoidance, and func- tional reasons [30, 34]. The blending operation has been widely studied for parametric and implicit surfaces. It is a nontrivial task to perform the operation on a mesh. The mesh blending technique presented in this paper allows the user to specify different blending radii to intuitively control the blending result and a few cross-section curves to flexibly design complex models. 1.1 Related work Boolean operations often produce intersection curves from a set of original meshes. Continuity at intersection curves can be improved by blending or smoothing [37].

Upload: others

Post on 09-Jan-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mesh blending - Tsinghua University

Visual Comput (2005)DOI 10.1007/s00371-005-0306-2 O R I G I N A L A R T I C L E

Yu-Shen LiuHui ZhangJun-Hai YongPi-Qiang YuJia-Guang Sun

Mesh blending

Published online: 31 August 2005© Springer-Verlag 2005

Y.-S. Liu (�) · H. Zhang ·J.-H. Yong · J.-G. SunSchool of Software,Tsinghua University, Beijing 100084,P.R. [email protected],{huizhang, yongjh}@mail.tsinghua.edu.cn

Y.-S. Liu · J.-G. SunDepartment of Computer Science andTechnology,Tsinghua University, Beijing 100084,P.R. China

P.-Q. YuSchool of Computer and InformationTechnology,Beijing Jiaotong University, P.R. [email protected]

Abstract A new method forsmoothly connecting differentpatches on triangle meshes witharbitrary connectivity, called meshblending, is presented. A majorfeature of mesh blending is to movevertices of the blending region toa virtual blending surface by choos-ing an appropriate parameterizationof those vertices. Once blendingis completed, the parameterizationoptimization is performed to per-fect the final meshes. Combiningmesh blending with multiresolutiontechniques, an effective blendingtechnique for meshes is obtained.Our method has several advantages:(1) the user can intuitively controlthe blending result using differentblending radii, (2) the shape of cross-

section curves can be adjusted toflexibly design complex models, and(3) the resulting mesh has the sameconnectivity as the original mesh.In this paper, some examples aboutsmoothing, sharpening, and meshediting show the efficiency of themethod.

Keywords Mesh blending · Smooth-ing · Parameterization · Rollingball

1 Introduction

With 3D scanners becoming the standard source for ge-ometric data acquirement, triangle meshes have been theprimary representations for reverse engineering, rapidprototyping, conceptual design, and simulation [2, 4, 18].Mesh editing such as boolean operations, cut-and-pasteediting, and deformation also becomes an active researcharea in computer graphics. Currently, it still is a chal-lenge to flexibly and intuitively blend different patches ina given mesh. In this paper, we introduce a mesh blend-ing technique based on a rolling ball. This technique iscapable of producing desirable results.

Surface blending, whose goal is to create an interme-diate surface that smoothly connects adjacent surfaces, is

a way of constructing complex objects in geometric mod-eling. Surface blending is widely used for aesthetic, man-ufacturability, stress-concentration avoidance, and func-tional reasons [30, 34]. The blending operation has beenwidely studied for parametric and implicit surfaces. It isa nontrivial task to perform the operation on a mesh. Themesh blending technique presented in this paper allowsthe user to specify different blending radii to intuitivelycontrol the blending result and a few cross-section curvesto flexibly design complex models.

1.1 Related work

Boolean operations often produce intersection curvesfrom a set of original meshes. Continuity at intersectioncurves can be improved by blending or smoothing [37].

Page 2: Mesh blending - Tsinghua University

Yu-Shen Liu et al.

There are two popular smoothing approaches on trian-gle meshes: geometric filtering and geometric optimiza-tion [20]. Geometric filtering [9, 33] is designed to removethe high-frequency noise from an initial mesh. Thesetechniques are isotropic, so shape features are usuallydiffused and lost. Feature-preserving smoothing has alsobeen presented (e.g., [8, 10, 17]). However, geometric fil-tering lacks flexible control for shape and often leads tooversmoothing [26]. Geometric optimization is usuallya computationally expensive task. Moreover, it also lackslocal control for shape and often changes the connectivityof the original mesh. Generally, blending is accomplishedunder the direction of a user-specified distance and somecomplex profile curves. Therefore, the blending operatoris more flexible when it comes to controlling the shapethan the smoothing operator. Recently, several attemptshave been made at finding blending methods for trian-gle meshes. Botsch et al. [6] describe a blending methodbased on the resampling technique for sophisticated mod-eling, which could change the mesh connectivity. More-over, the shape of the resampling blending surface may bebad due to unknown center curves of rolling ball blend-ing. Most recently, Museth et al. [24] presented a level setframework for blending an intersection curve producedby CSG boolean operations. However, since this methodmust convert models into volumetric representations, thedetails may be lost by blending.

On most blending methods of geometric modeling,these surface representations fall into two major cate-gories: implicit and parametric surfaces [15, 35, 36]. Thusblending surfaces are also represented by parametric (orimplicit) surfaces [3, 7]. However, it is rather difficult tosmoothly connect several triangle meshes along commonboundary curves using parametric (or implicit) surfaces.In addition, after some blending surfaces are added, theresulting models, including meshes and parametric (or im-plicit) surfaces, are difficult to maintain. Though blend-ing surfaces can also be constructed by subdivision sur-faces [19], most subdivision schemes need some givenboundary curves, cross-boundary derivatives, and initialcontrol nets. Therefore, it becomes difficult to perform theblending operation on triangle meshes using subdivisionschemes.

To overcome the aforementioned difficulties, we presenta mesh blending method based on a rolling ball that iscommon in parametric surface blending. The paper pre-sented by Vida et al. [35] reviews all kinds of blendingtechniques that use parametric surfaces. One of the mostpopular methods is rolling ball blending (RBB) becauseof its simple geometric description and intuitive behav-ior [3, 7, 35]. A blending surface is an intermediate surfacethat smoothly connects two intersecting surfaces calledbase surfaces. Using the RBB method, the blending sur-face is generated by moving a ball in contact with twobase surfaces. The trajectory of the ball’s center is called aspine curve, while the common boundary of one base sur-

face and the blending surface is called a linkage curve. Theblending surface is part of a sweep surface constructedby sweeping a planar arc cross-section curve along thespine curve. In the general case, the intersection curveof the offsets of two base surfaces is first constructed asa spine curve. Next, the cross-section curve is defined asa rational quadratic curve between the two ball contactpoints. Finally, the blending surface is built by sweepingthe cross-section curve.

1.2 Contributions

In this paper, the mesh blending method for smoothlyconnecting different patches on triangle meshes with ar-bitrary connectivity is presented. First, our method con-structs closed blending curves and finds the trajectoryof the rolling ball’s center. Second, various cross-sectioncurves are created for adjusting the blending shape, andthen a virtual blending surface generated by sweepingthese cross-section curves is designed. Third, we applyconformal parameterization to the blending region of theoriginal mesh and optimize the shapes of these triangles in2D parameter space. Finally, using the parameterization,we project vertices of the blending region onto the virtualblending surface such that the mesh blending is imple-mented successfully. The major contributions of our workare as follows.

– The mesh blending technique allows the user to easilycontrol the blending result by a user-specified blend-ing radius and also provides a desire mode of designingcomplex models by setting a few cross-section curves.

– An efficient CSC (constructing spine curve) algorithmis presented to find the trajectory of the rolling ball’scenter.

– A regressive method is used to eliminate self-inter-section.

– An method for automatically splitting the blending re-gion for generating parameterization is provided.

– The mesh blending operator can be widely used in ap-plications such as smoothing, sharpening, and meshediting.

The paper is organized as follows. Section 2 introducessome preliminary definitions. The method for finding thetrajectory of the rolling ball is provided in Sect. 3. Sec-tion 4 constructs the virtual blending surface. Section 5provides the method of parameterization and performs op-timization. Some applications are presented in Sect. 6, andconclusions are given in Sect. 7.

2 Preliminaries

We assume that all triangle meshes considered in this pa-per are oriented manifolds. According to the definition

Page 3: Mesh blending - Tsinghua University

Mesh blending

Fig. 1. The terminologies of mesh blending

of surface blending, we give the parallel definition ofmesh blending based on RBB. A patch is a set of ver-tices and triangles on triangle meshes. It is also a part oftriangle meshes. The operation of creating smooth tran-sitions between two adjacent patches of triangle meshesis called mesh blending. A blending patch is an interme-diate patch that smoothly connects two adjacent patches.One of two adjacent patches joined smoothly is called abase patch. The common intersection curve of two basepatches is called the blending curve, which consists ofa set of some feature edges whose dihedral angle formedby its two adjacent faces is larger than a given thresh-old. The trajectory of the rolling ball’s center is calleda spine curve, while the trajectories of the ball’s con-tact points with base patches are called linkage curves.At each point of the spine curve, a cross-section curvethat passes the ball’s center and two contact points iscalled a profile curve. The blending region consists ofall vertices and triangles between left and right link-age curves. Figure 1 illustrates the terminologies of meshblending.

3 Constructing spine curve (CSC)

In practice, the blending surface based on RBB can bedefined by sweeping the arc profile curves along thespine curve [7]. The spine curve of RBB can be de-fined as the intersection curve of two surfaces formedby offsetting base surfaces with a distance of the bal-l’s radius. In this section, we show how to extractthe blending curve and find the intersection curve oftwo offset base patches as the spine curve for trianglemeshes.

Boolean operations often produce intersection curvesand sharp features. In general, the user may specifythe intersection curves and sharp features as the blend-

ing curves. In this paper, we assume that initial fea-ture edges can be either extracted using a thinning al-gorithm [25] or interactively constructed in a similar“backbones” way [6]. Then these initial feature edgesare chained together into a blending curve, as shownin Fig. 2a. For simplicity, we assume that the blendingcurve is closed. We can also extend our algorithm tothe open blending curve when two endpoints are consid-ered.

Mesh blending is a local operation because it is onlyapplied in the neighborhood of the blending curve. Letr be the blending radius specified by the user. We de-note the base patch by Fi and the corresponding offsetpatch by FO

i , i = 1, 2. We define the regions influencedbased on the distance d = αr to the blending curve as basepatches F1 and F2. We typically use α = 1.75. A largervalue for α spends more time in intersecting two offsetpatches. In general, offset surface is defined as the locus ofthe points that are at a constant distance along the normalfrom the original surface [22]. This paper approximatesthe offset patch FO

i of the base patch Fi by the followingmethod.

1. Generate new vertices by moving all vertices of thebase patch Fi along their normal directions with a dis-tance r.

2. Construct the offset patch FOi based on these new ver-

tices and the connectivity of the base patch Fi . Theconnectivity of offset patch FO

i is consistent with thebase patch Fi .

In this way, we can establish a one-to-one correspondencebetween the triangles of FO

i and those of Fi . In Sect. 4.3,we will discuss the problem of self-intersection.

Once offsetting is finished, we will search for a con-tinuous and closed curve from the intersection curve oftwo offset patches as the spine curve. The intersectionproblem of two triangle meshes has been discussed inmany papers (e.g., [5, 27]). The task of mesh intersec-

Page 4: Mesh blending - Tsinghua University

Yu-Shen Liu et al.

Fig. 2a–d. Examples to illustrate an overview ofCSC procedure. a The (green) blending curve isextracted. b Find two (red) base patches alongthe blending curve. c Search for the spine curvethrough intersecting two offset base patches.d Find two linkage curves

tion reduces to computing the intersection of each pairof triangles from two meshes. Consequently, the intersec-tion curve is constructed by connecting a series of trianglepair intersections. Each intersection pair relies on test-ing whether an edge of one triangle is intersected withanother triangle. We use a recent intersection algorithmdeveloped by Biermann et al. [5], which computes an in-tersection curve of two triangle meshes for approximatingboolean operations on free-form solids. To accelerate thealgorithm, we also combine a bounding box intersectiontest with a fast triangle–triangle intersection test [23]. LetI(t) be the intersection curve and C(t) the spine curve,where the parametric variable t is defined in an inter-val. In addition, we define two linkage curves by C1(t)and C2(t). In fact, I(t) is a set of all line segments inwhich each one is obtained by computing the triangle–triangle intersection. Note that one endpoint of each linesegment is an intersecting point obtained by intersectingone edge with one triangle. So I(t) can be denoted bya list that stores a sequence of intersecting points {I(ti)},where ti is the parameter of the corresponding intersect-ing point. Each node of the list includes the intersect-ing triangle face, the intersecting edge, and the intersect-ing point’s position. The data structure of a node is de-fined as

struct IntersectionPoint {// intersection point of an edge and a face

Face *inter_face;// intersecting face of FO

1 (or FO2 )

Edge *inter_edge;// intersecting edge of FO

2 (or FO1 )

Point3D *inter_position// position of intersecting point

}.

In the case of the intersection of two edges, we chooseone edge as inter_edge and one adjacent face of anotheredge as inter_face. The procedure for CSC is outlined asfollows.

1. Construct the offset patch FOi that is at a constant dis-

tance r along the normal direction for every vertex ofFi (i = 1, 2). FO

i and Fi have the same connectivity.

2. Find the intersection curve I(t) between FO1 and FO

2 ,where I(t) may contain nonmanifold vertices that haveno neighborhoods, discontinuous edges, and multipleloops. Each intersecting point of I(t) is stored in theforegoing node IntersectionPoint.

3. Search for a continue and closed loop from the inter-section curve I(t) as the spine curve C(t) (Fig. 2c).Nonmanifold vertices, discontinuous edges, and openloops are removed from I(t). If multiple closed loopsare found, the longest one is adopted as the result.Since C(t) is part of I(t), C(t) is also denoted by a listthat stores a sequence of intersecting points {C(tk)}(k = 1, 2, . . . , n). The parameter tk can be computedby chord-length parameterization [29].

4. To determine one linkage curve Ci(t) (i = 1, 2),project the spine curve C(t), i.e., each intersectingpoint C(tk), onto the base patch Fi . First, the barycen-tric coordinate Pf of inter_position on inter_face andthe parameter pe of inter_position on inter_edge arecalculated. Using Pf and pe, the point’s positions ofthe base face and edge are obtained (Fig. 2d).

4 Constructing the virtual blending surface

A blending surface based on RBB can be constructedusing a sweeping algorithm described by Choi et al. [7].Let S(t, u) be the blending surface parameterized by (t, u),where t is a sweeping parameter and u is a profile param-eter. The algorithm constructs the spine curve by fittinga cubic spline curve from the initial intersection pointsand denotes the resulting blending surface as a rationalsurface equation. We generalize this idea to approximatethe sweep surface. In this section, we will construct a vir-tual blending surface approximated by a set of ruled sur-faces.

The spine curve C(t) stores a sequence of intersectingpoints {C(ti)}, i = 1, 2, . . . , n. For each point C(ti), wecan obtain a profile generated in Sect. 4.2. Let {Ti(u) =S(ti, u)} and i = 1, . . . , n be a set of profiles correspond-ing to C(ti). We can construct (n −1) ruled surfaces in-stead of the sweep surface S(t, u). For t ∈ [ti, ti+1], the ith

Page 5: Mesh blending - Tsinghua University

Mesh blending

Fig. 3. Sampling points on spine curve

ruled surface is defined as

Ri(t, u) = (1− t ) · Ti(u)+ t · Ti+1(u), i = 1, . . . , n −1,(1)

where t = t−titi+1−ti

. These ruled surfaces will be used tocompute the new vertex’s positions on blending regionthrough parameterization in Sect. 5.

During the process of generating the virtual blendingsurface, we can improve the blending surface quality andmodel more complicated shapes through two stages: sam-pling the spine curve and constructing complicated profilecurves.

4.1 Point sampling

To improve the quality of blending surface, we shouldsample points on the spine curve C(t). A common sam-

Fig. 4a–d. Results of three manipulations with differentprofile curves. a Construction of conic section controlpoints. b Arc profile curve. c ω0 = 2 cos(ϕ/2), |P0 − P| =2.4×r . d General profile curve

pling approach is to choose a few points while preservingthe shape of the curve [28].

We present a simple and effective sampling method forthe spine curve C(t), which contains a set of discretizingpoints. Our sampling method chooses dense points at theinterval of large curvature and sparse points at the inter-val of small curvature. First, we get some initial points bysampling C(t) about a density function denoted by ds. LetL be the total length of all edges on the spine curve andn the number of initial sampling. One simple choice thatproduces good results is to set ds equal to L/n. We typ-ically use n = 40. Then we will refine adjacent samplingpoints. For two initial adjacent sampling points, let h de-note the chord height and l the chord length. Some pointswhere h/l is greater than a threshold will be selected. Fig-ure 3 illustrates the method of sampling the spine curve.{C(t

′i)} denotes the initial adjacent sampling points about

the density function ds on the spine curve C(t), and C(tj)

is the refinement points for t′i < tj < t

′i+1.

4.2 Complicated profile curve

The referred profile curve is an arc curve. To constructa more complicated model, we can adjust the shape ofthe profile curve. The profile curve can be built with Her-mite interpolating [6], where two points and tangents aregiven. For fixed t = t0, we obtain three points P = C(t0),P1 = C1(t0), and P2 = C2(t0). The profile curve is part of

Page 6: Mesh blending - Tsinghua University

Yu-Shen Liu et al.

Fig. 5a–c. Curve procedure of our regressivemethod for eliminating self-intersection. a Initialself-intersection curve. b Delete self-intersectionloop and regress self-intersection point. c Generatesmooth curve

a circle with central P and radius r. Assume that ϕ is the

angle opposite to the arc�

P1 P2, as illustrated in Fig. 4a.If P0 is the intersecting point of two tangent lines of arc

P1 P2 at points P1 and P2, we have

P0 − P = α(P1 − P + P2 − P). (2)

Taking the dot product of Eq. 2 with (P1 − P), we obtain

(P0 − P) · (P1 − P)

= α(P1 − P) · (P1 − P)+α(P2 − P) · (P1 − P).

As shown in Fig. 4a, we have that (P0 − P) · (P1 − P) =r2, (P1 − P) · (P1 − P) = r2, and (P2 − P) · (P1 − P) =r2 · cos ϕ, so

α = 1

cos ϕ+1.

Therefore, we have

P0 = cos ϕ−1

cos ϕ+1· P + 1

cos ϕ+1· (P1 + P2).

By taking P1, P0, and P2 as the control vertices of a conicprofile curve, we define the NURBS representing the conicprofile curve. If the weights are ω0 = cos(ϕ/2) and ω1 =ω2 = 1, we have an arc [29]

T(u) =

2∑

i=0

ωi Pi Ni,p(u)

2∑

i=0

ωi Ni,p(u)

, (3)

where Pi are the control points and Ni,p(u) are pth-degree B-spline basis functions defined on the knot vectorU = {0, 0, 0, 1, 1, 1}.

Figure 4 shows some examples with different profilecurves. Control points of the conic profile curve are con-structed in Fig. 4a. The influence of ω0 to the blendingcurve of mesh is shown in Figs. 4b–d, where the greencurve is the blending curve and the red curves are linkagecurves.

4.3 Self-intersection

The blending surface may be self-intersecting if the radiusof curvature of the spine curve is greater than the blend-ing radius [21]. In general, the self-intersection surface isnot suitable for applications. Although a number of algo-rithms [16, 21] could be used to detect self-intersection,no one presents the scheme of approximating the blendingsurface for eliminating self-intersection. A technique in-troduced by Botsch et al. [6] gave up the requirement thatprofile curves must be orthogonal to trajectories by a low-pass filter operator to the trajectories and cannot yieldsatisfying results for self-intersection in our blending. Thelow-pass filter operator contains a number of drawbacks:it lacks the local curve control and often leads to over-smoothing. Moreover, it is difficult to find a suitable low-pass filter operator for eliminating a large self-intersectionloop.

In this section, we combine a regressive method witha low-pass filter operator for eliminating self-intersection,as illustrated in Fig. 5. Let Q0 be one self-intersectionpoint on the spine curve. Once the self-intersection pointis located, the spine curve C(t) should be split into threeparts: the loop L0 before the self-intersection point, theself-intersection loop L1, and the remaining loop L2(Fig. 5a). The self-intersection loop L1 must be deleted.Furthermore, L0 and L2 are merged into a new curveinstead of the original spine curve C(t). Next, two re-gressive points Q1 and Q2 are constructed by broadeningat certain distances from Q0 (Fig. 5b). (The data struc-ture for the intersecting point Q0 contains the intersectingface inter_ face; we normally choose Q1 and Q2 on theboundary of inter_ face.) Finally, a new curve segmentis constructed by smoothly connecting regressive pointsQ1 and Q2. Let n1 and n2 be their corresponding tangentvectors. The new curve segment can be computed withHermite interpolation satisfying endpoint conditions: Q1,Q2, n1, and n2 [6]. In addition, we also smooth the fi-nal spine curve using a nonshrinkage Laplacian filter [33](Fig. 5c). Figure 6 shows an example of eliminating self-intersection. The red curves are the spine curve and twolinkage curves, and the blue curves are profile curves.An original mesh is shown in Fig. 6a, and the magnifiedview of the self-intersection region is shown in Fig. 6b.Figure 6c shows the initial spine curve containing one self-

Page 7: Mesh blending - Tsinghua University

Mesh blending

Fig. 6a–e. Example of overcoming self-inter-section. a Initial mesh. b Self-intersection region.c Initial spine curve containing the self-inter-section loop. d No-shrink Laplacian smoothingwith a low-pass filter operator cannot delete thelarge self-intersection loop. e Smoothing accord-ing to our regressive method

Fig. 7. Two examples of splitting the blending region

intersection loop. The low-pass filter operator used byBotsch et al. [6] cannot delete the large self-intersectionloop, as shown in Fig. 6d. Our regressive method gener-ates a more reasonable result, as shown in Fig. 6e.

A blending example of a boolean unit between thevenus and a horse is illustrated in Fig. 7a, which is a self-intersection spine curve. The blending results are shown inFigs. 11 and 14c.

5 Parameterization

The goal of our blending method is to map the blend-ing region to the virtual blending surface. Therefore, weneed to find a map from the source to the target. In ourcase, the blending surface is approximated by sweepingthe polygon profile curve. Note that the (u, v) domain ofthe blending surface is a quadrilateral (likely a rectangle),

and most of the existing parameterization algorithms canfix the boundary on a square or any convenient rectan-gular region [11–13]. These methods are valid for disk-like patches. However, the blending region is topologicallycylinderlike. Thus, we must split the blending region intodisklike patches.

5.1 Splitting

In our case, it is not necessary to use a parameterizationmethod that can compute natural boundaries. The methodof mapping blending region is based on conformal pa-rameterization [11] by fixing the boundary of the param-eterization on a square. For this reason, we must split theblending region that has two boundaries. In [32], a pair ofboundary vertices on the opposite boundaries is selectedfor preparing splitting, and the shortest path between thesetwo vertices is constructed. In the shortest path algorithm,

Page 8: Mesh blending - Tsinghua University

Yu-Shen Liu et al.

the weight of each edge is set to its length. The shortcom-ing of the shortest path algorithm is that two boundaryvertices must first be chosen by the user. Our splittingmethod can automatically produce these splitting vertices,which are two intersecting points between a splitting planeand two linkage curves C1 and C2. Figure 7 shows twoexamples where our splitting algorithm is performed. Theprocedure for splitting is outlined as follows.

1. Construct a splitting plane defined by one profilecurve, for example the longest arc profile curve. Inter-sect the splitting plane with two linkage curves C1 andC2, and calculate two intersection points on them.

Fig. 8a,b. Conformal parameterization. a Originalblending region of triangle mesh (yellow). b Itsparameterization. Note that the red points on theparameterization region are vertices on the blend-ing curve

Fig. 9a–d. Optimize the blending (yellow) patch be-tween teapot body and spout. a Initial parameterization.b Laplacian smoothing optimization in 2D parameterspace. c Patch corresponding to a in 3D space. d Patchcorresponding to b in 3D space

2. Find the closest vertices v1 on C1 and v2 on C2 withintersection points.

3. Find the shortest path consisting of edges that area subset of the blending region between v1 and v2.The algorithms for finding the exact shortest path ona mesh usually involve high time and space costs. Inthis section, the Dijkstra’s algorithm for finding the ap-proximate shortest path is used.

4. Copy the edges on the shortest path, and split theblending region into a rectanglelike patch. Rebuild themesh connectivity from the blending region, wherefour corner vertices (v1, v2 and their copy v

′1, v

′2) of the

rectanglelike patch are obtained.

Page 9: Mesh blending - Tsinghua University

Mesh blending

During the parameterization process, we advocate forthe conformal parameterization as introduced in [11],since it minimizes the distortion of different intrinsic mea-sures of the original mesh. We first fix boundary positionson the 2D domain and set rectangle’s corner verticeswhich correspond to rectangle-like patches corner ver-tices (v1, v2, v

′1, v

′2). By solving a simple and sparse linear

system, this parameterization automatically provides anangle-preserving mapping. Hence, we construct the mapbetween the blending region and the virtual blending sur-face through parameterization. Next, the new position ofevery vertex on the blending region will be computed. Forthe two fixed parameters t0 and u0, the 3D point S(t0, u0)is computed using Eq. 1. Finally, we successfully finishthe blending operation for the blending curve of the meshthrough projecting all vertices of the blending region ontothe virtual blending surface. Figure 8 shows an example ofsplitting and conformal parameterization.

5.2 Optimization

For triangle meshes, optimization has two different as-pects: outer fairness and inner fairness [31]. Not onlyshould the shape of the blending surface be consideredin outer fairness, but the quality of the mesh’s trianglesshould also be improved in inner fairness.

Fig. 10. Smoothing the sharp feature of a teapot between body and spout

Fig. 11. Smoothing the intersection curve of boolean unit between the venus and a horse

All vertices of the mesh in the blending region “slide”along the virtual smooth blending surface when the blend-ing radius is given. Our blending method naturally sat-isfies outer fairness in the interior of the blending re-gion. Depending on Taubin smoothing [33], we performa local optimization for boundary vertices of the blendingregion, which reduces unnatural deformations. In prac-tice, since these boundary vertices are on the boundary ofthe virtual blending surface, only a few iteration steps areneeded.

We use a weighted Laplacian smoothing to optimizethe shape of triangles in the 2D parameter space. It isefficient for inner fairness [1, 20] and does not changethe mesh connectivity. There are many different ways forweights to be chosen. We perform an optimization bychoosing the weights used in [1]. Figure 9 shows an ex-ample of optimization.

6 Applications

The blending method presented in this paper providesa powerful mesh-modeling toolbox. In this section wedemonstrate the effectiveness of our method by consider-ing a variety of applications, including smoothing, sharp-ening, and editing.

Page 10: Mesh blending - Tsinghua University

Yu-Shen Liu et al.

Fig. 12a,b. The color images of mean curvatureshow the successive smoothing by blending. aOriginal mesh. b Blending mesh

Fig. 13a,b. The rounded feature is sharpened by set-ting the sharpening profile curve. a Original mesh.b Sharpening result

6.1 Smoothing

Mesh blending can perform the smoothing operationfor meshes while keeping the connectivity. Figure 10 il-lustrates an example of smoothing the sharp feature ofa teapot between body and spout, and Fig. 11 shows theprocedure of smoothing the intersection curve of theboolean unit between the venus and a horse. The originalmeshes are shown on the left, while the resulting meshesare shown on the right. We regard the sharp feature and theintersection curve as blending curves, and our mesh blend-ing method is applied with a radius r = 4cm and arc profilecurves. The blending results on the right are geometricallysmoothing. Figure 12 shows the curvature color images ofthe example as shown in Fig. 11. Note that the curvature isrescaled by blending, and the resulting mesh is smooth onthe intersection curve.

6.2 Sharpening

In product design, feature characteristics are frequentlychanged. For example, in computational fluid dynamic(CFD) simulations, it is often necessary to vary the radiusof RBB for verifying the impact on the overall aerody-namics [6]. Sharpening provides the opposite operation tosmoothing. A rounded feature can be sharpened by settingthe blending profile curve to the sharpening profile. Fig-ure 13 illustrates the result of the sharpening operator. Theoriginal mesh with a rounded feature is shown in Fig. 13a,and the sharpening result is shown in Fig. 13b.

6.3 Mesh editing

Mesh editing includes boolean operations, cut-and-pasteediting, deformation, and other techniques. Those tech-niques are often applied to obtain new models from a setof original meshes [37]. Moreover, mesh editing, e.g.,boolean operations and cut-and-paste editing, may pro-duce intersection curves. Continuity at intersection curvescan be improved by blending. Our technique is capableof producing desirable blending results with various radiiand a few cross-section curves. Figure 14 shows the blend-ing results after boolean operations. In Fig. 14a,b, a newcreature is produced by union of five meshes. Figure 14cshows the results of mesh blending with various radii andthe arc profile curve. Figure 15 shows the application ofcomplicated profiles to a teapot. Mesh blending can alsobe applied to other intersection curves produced by meshediting, such as cut-and-paste editing, detail editing, anddeformation.

By combining our algorithm with multiresolution tech-niques, we obtain an effective editing operation, i.e.,mesh blending. We build a multiresolution mesh pyra-mid for large meshes using the algorithm presented byGuskov et al. [14] and only perform mesh blending atthe coarsest resolution. The time is reported on a Pen-tium IV 1.70-GHz processor with 256M RAM. The ex-ecution time does not include time for loading meshes.For the teapot shown in Fig. 10, there are 8480 trian-gles on the fine mesh. First, we give a blending radius4.5 cm and then find two base patches with 1423 triangles.

Page 11: Mesh blending - Tsinghua University

Mesh blending

Fig. 14a–c. Applying mesh blending to intersectioncurves of boolean operations. a Union of five meshes.b Magnified view of a. c Resulting mesh with multi-step blending

Blending the fine mesh takes 1.515625 s. Comparatively,we start with the same model whose magnified view isshown in Fig. 16a and compute a coarsest mesh down to1689 triangles, as shown in Fig. 16b. Through the blend-ing curve as shown in Fig. 16c and the given radius, wefind two base patches with 275 triangles. The blendingoperation for the coarse mesh shown in Fig. 16d takes0.093750 s. Reconstruction is shown in Fig. 16e. So farthe interactive blending operation for the complex mesh isfinished.

7 Conclusions

We have presented a mesh blending method for smoothlyconnecting different patches on triangle meshes with ar-bitrary connectivity. The major idea is to move the ver-tices of the blending region to the virtual blending sur-

face. Its major advantages are that it allows the userto specify different blending radii for directly control-ling the blending shape and modify the shape of theprofile curve for complex designs. Since our techniqueis a local operation, it is efficient for large meshes. Wehave also shown the efficiency of the method for somecomplicated meshes in smoothing, sharpening, and meshediting.

The major drawback in our current implementation isthat we map vertices of the blending region to the virtualblending surface by using a conformal parameterizationmethod. This restricts the blended shapes and could failin blending some complex blending regions with multi-ple holes. This could be improved by stitching togetherthe virtual blending surface with the original mesh insteadof by using the parameterization method. In the future weplan to extend the presented method to merge two or moreseparate models.

Page 12: Mesh blending - Tsinghua University

Yu-Shen Liu et al.

Fig. 15a–c. Blending with complicated profiles.a Original teapot. b Blending result with compli-cated profiles. c Magnified view of details

Fig. 16. Blending teapot between body and spout with multiresolution editing

Acknowledgement We would like to thank Chang-Cai Zhu, BinWang, Yi-Jun Yang, and Jie-Hui Gong for their valuable commentsduring our work. The authors appreciate the comments and sug-gestions of the anonymous reviewers. The research was supported

by the Chinese 973 Program (2004CB719400) and the NationalScience Foundation of China (60403047). The third author wassupported by a grant from the Foundation for Authors of NationalExcellent Doctoral Dissertations of PR China (200342).

References1. Alliez P, Meyer M, Desbrun M (2002)

Interactive geometry remeshing. In:Proceedings of SIGGRAPH’02,pp 347–354

2. Amenta N, Bern M (1999) Surfacereconstruction by Voronoi filtering. DiscreteComput Geom 22(4):481–504

3. Barnhill RE, Farin GE, Chen Q (1993)Constant-radius blending of parametricsurfaces. In: Farin GE, Hagen H,Noltemeier H (eds) Geometrie modeling.Springer, Berlin Heidelberg New York,pp 1–20

4. Bernardini F, Mittleman J, Rushmeier H,Silva C, Taubin G (1999) The ball-pivotingalgorithm for surface reconstruction. IEEETrans Visual Comput Graph 5(4):349–359

5. Biermann H, Kristjansson D, Zorin D(2001) Approximate boolean operations onfree-form solids. In: Proceedings ofSIGGRAPH’01, pp 185–194

6. Botsch M, Kobbelt L (2001) Resamplingfeature and blend regions in polygonalmeshes for surface anti-aliasing. In:Proceedings of Eurographics’01,pp 402–410

7. Choi BK, Ju SY (1989) Constant-radiusblending in surface modeling. ComputAided Des 21(4):213–220

8. Clarenz U, Diewald U, Rumpf M (2000)Anisotropic geometric diffusion in surfaceprocessing. In: Proceedings of IEEEVisualization 2000, Salt Lake City, UT,pp 397–405

9. Desbrun M, Meyer M, Schröder P, Barr A(1999) Implicit fairing of irregular meshesusing diffusion and curvature flow. In:Proceedings of SIGGRAPH’99,pp 317–324

Page 13: Mesh blending - Tsinghua University

Mesh blending

10. Desbrun M, Meyer M, Schröder P, BarrAH (2000) Anisotropic feature-preservingdenoising of height fields and bivariatedata. In: Proceedings of Graphics Interface2000, pp 145–152

11. Desbrun M, Meyer M, Alliez P (2002)Intrinsic parameterizations of surfacemeshes. Comput Graph Forum21(3):209–218

12. Floater M (1997) Parameterization andsmooth approximation of surfacetriangulations. Comput Aided Geom Des14(3):231–250

13. Floater M (2003) Mean value coordinates.Comput Aided Geom Des 20(1):19–27

14. Guskov I, Sweldens W, Schröder P (1999)Multiresolution signal processing formeshes. In: Proceedings of SIGGRAPH’99,pp 325–334

15. Hartmann E (2001) ParametricGn-blending curves and surfaces. VisualComput 17(1):1–13

16. Hermann T (1992) Rolling ball blends andself-intersections. In: Warren JD (eds)Curves and Surfaces in Computer Visionand Graphics III SPIE, pp 204–209

17. Jones TR, Durand F, Desbrun M (2003)Non-iterative, feature-preserving meshsmoothing. In: Proceedings ofSIGGRAPH’03, pp 943–949

18. Kobbelt L, Botsch M (2000) An interactiveapproach to point cloud triangulation. In:Proceedings of Eurographics’00,pp 479–487

19. Levin A (1999) Combined subdivisionschemes for the design of surfacessatisfying boundary conditions. ComputAided Geom Des 16(5):345–354

20. Levy B (2003) Dual domain extrapolation.In: Proceedings of SIGGRAPH’03,pp 364–369

21. Lukacs G (1997) Differential geometry ofG1 variable radius rolling ball blendsurfaces. Comput Aided Geom Des15(6):585–613

22. Maekawa T (1999) An overview of offsetcurves and surfaces. Comput Aided Des31(2):165–173

23. Möller T (1997) A fast triangle-triangleintersection test. J Graph Tools 2(2):25–30

24. Museth K, Breen DE, Whitaker RT, BarrAH (2002) Level set surface editingoperators. In: Proceedings ofSIGGRAPH’02, pp 330–338

25. Nomura M, Hamada N (2001) Feature edgeextraction from 3D triangular meshes usinga thinning algorithm. In: Proceedings ofSPIE conference on vision geometry X,SPIE 4476:34–41

26. Ohtake Y, Belyaev A, Bogaevski I (2001)Mesh regularization and adaptivesmoothing. Comput Aided Des33(11):789–800

27. O’Rourke J (1994) Computationalgeometry in C. Cambridge UniversityPress, Cambridge, UK

28. Park H, Kim K, Lee S-C (2000) A methodfor approximate NURBS curvecompatibility based on multiple curverefitting. Comput Aided Des 32(4):237–252

29. Piegl L, Tiller W (1997) The NURBSbook. Springer, Berlin Heidelberg NewYork

30. Rossignac JR, Requicha AAG (1984)Constant-radius blending in solid modeling.In: Proceedings of Computers inMechanical Engineering, 3 July 1984,pp 65–73

31. Schneider R, Kobbelt L (2001) Geometricfairing of irregular meshes for free-formsurface design. Comput Aided Geom Des18(4):359–379

32. Shlafman S, Tal A, Katz S (2002)Metamorphosis of polyhedral surfacesusing decomposition. Comput Graph Forum21(3):219–228

33. Taubin G (1995) A signal processingapproach to fair surface design. In:Proceedings of SIGGRAPH’95, pp 351–358

34. Varady T, Vida J, Martin RR (1989)Parametric blending in a boundaryrepresentation solid modeler. In:Handscomb, DC(eds) The mathematics ofsurfaces III. Oxford University Press,Oxford, UK, pp 171–197

35. Vida J, Martin RR, Varady T (1994)A survey of blending methods that useparametric surfaces. Comput Aided Des26(5):341–365

36. Wu T, Zhou Y (2000) On blending ofseveral quadratic algebraic surfaces.Comput Aided Geom Des 17(8):759–766

37. Yu Y, Zhou K, Xu D, Shi X, Bao H, GuoB, Shum HY (2004) Mesh editing withpoisson-based gradient field manipulation.In: Proceedings of SIGGRAPH’04,pp 644–651

YU-SHEN LIU is a Ph.D. student in the De-partment of Computer Science and Technol-ogy at Tsinghua University, China. He receivedhis B.Sc. in mathematics from Jilin Universityof China in 2000. His research interests arecomputer-aided design and computer graphics.

HUI ZHANG is an assistant professor in theSchool of Software at Tsinghua University,China. She received her B.Sc. and Ph.D. incomputer science from the Tsinghua Universityof China in 1997 and 2003, respectively. Herresearch interests are computer-aided design andcomputer graphics.

JUN-HAI YONG is an associate professor inthe School of Software at Tsinghua University,China. He received his B.Sc. and Ph.D. in com-puter science from Tsinghua University, China,in 1996 and 2001, respectively. He held a vis-iting researcher position in the Department ofComputer Science at Hong Kong University ofScience and Technology in 2000. He was a post-doctoral fellow in the Department of ComputerScience at the University of Kentucky from 2000to 2002. His research interests include computer-aided design, computer graphics, computer ani-mation, and software engineering.

PI-QIANG YU is an assistant professor in theSchool of Computer and Information Technol-

ogy at Beijing Jiaotong University, China. Hereceived his B.Sc. and Ph.D. degrees in com-putational mathematics in 1997 and 2002 bothfrom Dalian University of Technology of China,and he finished his postdoctoral research at Ts-inghua University in 2004. His current researchinterests are computer graphics and computer-aided geometric design.

JIA-GUANG SUN is a professor in the Depart-ment of Computer Science and Technology atTsinghua University, China. His research inter-ests include computer graphics, computer-aideddesign, computer-aided manufacturing, productdata management, and software engineering.