Parametric Blending of Triangular Meshes

We present a new method for constructing a parametric blending surface that smoothly connects two triangular meshes. A user selects a subregion on each triangular mesh. The local parameterizations of two selected regions are found by using geodesic polar coordinates, and a base surface on each triangular mesh is constructed by two boundary curves on parametric domain. Finally, two base surfaces are smoothly blended for generating a blending surface. The shape of a blending surface can easily be controlled by several shape parameters or by directly manipulating surface point. We demonstrate the effectiveness of our technique by showing several modeling examples.


Introduction
Surface blending is a fundamental task in geometric modeling and computer-aided design.It constructs a smooth transition between intersecting or disjoint surfaces.Due to its usefulness, various techniques have been developed in the past few decades.However, most techniques have been mainly dealing with the blending of parametric surfaces or implicit surfaces, and thus the blending of polygonal meshes has been relatively neglected.
Hartmann [1] introduced an effective method for blending parametric curves and surfaces.Let Γ 1 (u, v) and Γ 2 (u, v) be two parametric surfaces.This method constructs a G n parametric blending surface S(s, t) by a linear combination of two base surfaces S 1 (s, t) and S 2 (s, t), where S 1 (s, t) and S 2 (s, t) are reparametrized subpatches of Γ 1 (u, v) and Γ 2 (u, v), respectively.Song et al. [2] extended this technique by proposing practical methods for reparameterizing the base surfaces to be blended.However, these techniques [1,2] are essentially based on the parametric representation of Γ i (u, v), and thus direct application to triangular meshes would be a considerably challenging problem.
In this paper, we tackle this problem.Given two triangular meshes, M 1 and M 2 , we construct two base surfaces, S 1 (θ, t) ⊂ M 1 and S 2 (θ, t) ⊂ M 2 , and take their linear combination to produce a blending surface.In this process, the main difficulty lies in finding parametric representations of the base surfaces S 1 (θ, t) and S 2 (θ, t) on triangular meshes.To overcome this difficulty, we parameterized M 1 and M 2 and then constructed S 1 (θ, t) and S 2 (θ, t) based on these parameterizations.There exist a variety of sophisticated techniques for mesh parameterization [3][4][5][6][7][8].Among them, we employed the efficient local parameterization method [8] based on geodesic polar coordinates.This method is quite suitable for our purpose since it uses a geodesic distance for common blending parameter t.
Figure 1 shows the overview of our method.First, a user specifies a local region on each triangular mesh (Figure 1a).2D parameterization of the specified region is found, and two boundary curves are marked on the parameterization (Figure 1b,c) shows the base surfaces reparameterized by two boundary curves and then the blending surface smoothly connecting two base surfaces is shown in Figure 1d.Our framework allows a user to interactively control the shape of a blending surface by editing boundary curves in Figure 1b or adjusting several shape parameters.
The main contributions of this paper can be summarized as follows: • We present a simple and effective method for generating a parametric blending surface that smoothly joins the local regions of two triangular meshes.
• Our method provides a user with several parameters for controlling the shape of a blending surface.• We propose an intuitive control mechanism for the direct manipulation of a blending surface.
The rest of this paper is organized as follows.Section 2 reviews some related recent work on surface blending, and Section 3 presents how to generate a parametric blending surface that smoothly joins the local regions of triangular meshes.The direct-manipulation technique is detailed in Section 4. Experimental results are demonstrated in Section 5, and we conclude the paper and suggest some future work in Section 6.

Related Work
There exist various classifications of blending methods.Vida et al. [9] conducted a comprehensive survey of blending methods.According to the surface type that they produce, the existing methods can be classified into several types.For example, implicit blending and parametric blending produce the blending surfaces as implicit or parametric forms, respectively.In this paper, we focus on the blending methods that produce a parametric surface.
Choi and Ju [10] presented an effective method for generating a blending surface by using a rolling ball of constant radius.In this method, a rolling ball simultaneously comes into contact with two base surfaces and generates a blending surface.Farouki and Sverrisson [11] extended this method to freeform parametric surfaces to produce the blending surfaces of rational tensor-product representation, and further extensions [12,13] have been made by using variable radius.Although rolling-ball methods provide a simple and intuitive geometric description, it is not easy to find spine curve and trimming curves without numerical approximations.Moreover, these methods are less flexible since contact curves are entirely determined by the relative position of the two base surfaces and the radius of the rolling ball.Bloor and Wilson [14,15] employed partial differential equations to generate a blending surface.However, their method is quite complicated to implement.
Linear combination is different type of blending method that produces a parametric blending surface.Hartmann [1] generated a parametric G n blending surface by linear combination of base surfaces which are subpatches of input surfaces.This method is quite simple and efficient.Moreover, it offers various design parameters, such as balance and thumb weight, to control the shape of the resulting surface.However, this method requires reparameterizations of the base surfaces and thus only a few examples were experimentally demonstrated.Song and Wang [2] improved this method by providing several reparameterization schemes, and also enhanced the shape of the blending surface by minimizing its strain energy.Lee et al. [16] employed linear blending scheme to generate a smooth surface interpolating the vertices of a triangular mesh.
In this paper, we deal with the blending of triangular meshes.Therefore, direct adaptation of the mentioned methods [1,2,[10][11][12][13] is not applicable without suitable parameterizations of input meshes.Mesh parameterization is a fundamental technique for various applications, such as texture mapping, remeshing, compression, and surface reconstruction.Sophisticated techniques [3,4,[6][7][8] have been developed depending on specific purposes.For much broader reviews of mesh parameterization, we refer the reader to an excellent survey paper [5].
Here, we are mainly interested in local parameterization since we are dealing with the blending of partial regions of input meshes.Recently, Melvaer and Martin [8] presented an efficient method for the 2D parameterization of a polygon mesh.From a source vertex, they compute geodesic distance and polar angle for each vertex and construct 2D parameterization of a local region within a given geodesic distance.This method is based on a propagation scheme and thus does not need to solve a linear system.By combining existing methods [1,8], we propose a practical method for constructing a parametric blending surface that smoothly joins two disjoint triangular meshes.In our method, geodesic distance is used as a common blending parameter between base surfaces, and therefore plays a crucial role in generating a blending surface with good geometric properties.

Parametric Blending Surface
This section presents a method for constructing a parametric blending surface that smoothly joins the local regions of two triangular meshes.

Local Parameterization Based on Geodesic Polar Coordinates
Let s be a source vertex of triangular mesh M. We define an open neighborhood of s as follows: where d(s, v) is the geodesic distance to a vertex v from s, and r is a user-specified distance.Our goal is to find local parameterization P : N r (s) → U(⊂ R 2 ) based on geodesic polar coordinates.We took a similar approach proposed by Reference [8], but present a different algorithm for improving computational efficiency.
We select an arbitrary edge incident to s for x-axis (see Figure 2).The first step is to find the geodesic polar coordinates (d l , θ l ), l = 1, 2, • • • , n of one-ring neighbor vertices v l of s.Geodesic distances d l can directly be determined by the edge distances, and the corresponding polar angles θ l can be computed as follows: where α l is the angle between two edges, sv l and sv l+1( mod n) , and the scale factor 2π/ ∑ n k=1 α k is necessary since ∑ n k=1 α k = 2π in general.The next step is to find the geodesic polar coordinates (d i , θ i ) of a vertex v i distant from s.We consider a triangle T ijk incident to v i and assume that the geodesic polar coordinates (d j , θ j ), and (d k , θ k ) of v j and v k have already been found (see Figure 2).The basic idea is to find virtual source vertex s from which the distances to v j and v k are identical to d j and d k , respectively.The geodesic polar coordinates (d i , θ i ) of a vertex v i can then be determined from s .Let d jk be the distance to v k from v j .Depending on the distances d j , d k and d jk , the virtual source vertex s may exist or not.If triangle inequality holds, i.e., |d j − d k | ≤ d jk ≤ d j + d k , then s exists (see Figure 3a).In this case, we can find the geodesic distance d i by mapping the triangle T ijk onto the xy plane.By computing the intersection of two circles of radii d k and d j , we can find the co-ordinates (s x , s y ) of s as follows: Similarly, the coordinates (x i , y i ) of v i can be computed as follows: Then, the geodesic distance to v i from s can be approximated as d i = s − v i , and polar angle θ i can linearly be interpolated as follows: where ω = θ ji /θ jk (see Figure 3a for θ jk and θ ji ).If triangle inequality fails, i.e., d jk < |d j − d k | or d jk > d j + d k , then s does not exist (see Figure 3b).In this case, we chose the minimum distance for and the polar angle is determined as follows: We repeated this process for all triangles incident to v i and updated geodesic polar coordinates (d i , θ i ) whenever a shorter geodesic distance is found.Figure 4 shows local parameterization obtained by propagating this process to the neighborhood of source vertex s.

Constructing Blending Surface
Let P 1 be a local parameterization of N r 1 (s 1 ) in triangular mesh M 1 and φ 1 (θ) and φ 2 (θ) be two closed curves on P 1 (see Figure 5a).We consider parameter region R 1 , defined as follows: where φ i (θ) = (r i (θ) cos θ, r i (θ) sin θ). Figure 5a shows an example of parameter region bounded by φ 1 (θ) and φ 2 (θ), and Figure 5b shows the corresponding base surface S 1 (⊂ M 1 ) constructed by S 1 (θ, t) = P −1 1 (R 1 (θ, t)).Note that S 1 (θ, 0) corresponds to the outer boundary and S 1 (θ, 1) to the inner one, respectively.Similarly, the other base surface, S 2 (⊂ M 2 ), can be constructed by , where P 2 is a local parameterization of N r 2 (s 2 ) in M 2 and R 2 is a parameter region defined by two closed curves φ 3 (θ) and φ 4 (θ) (see Figure 5c,d).Now, parametric blending surface S(θ, t) can be generated by a linear combination of S 1 (θ, t) and S 2 (θ, t), as follows: where f (t) is a blending function with f (0) = 1 and f (1) = 0.The resulting surface S(θ, t) is G n -continuous if f (t) satisfies the following property: where f (k) (t) is the k-th derivative of f (t).Our method does not guarantee theoretical continuity since we are dealing with the blending of triangular meshes (linear approximation of a continuous surface).However, for visual smoothness, we employ the C 2 blending function f µ (t), defined as follows: where parameter µ(∈ [0, 1]) controls the shape of the blending function as shown in Figure 6. Figure 7 shows an example of a parametric blending surface generated by the linear combination of two base surfaces, S 1 (θ, t) and S 2 (θ, t), in Figure 5b,d.

Local Trimming of Triangular Meshes
Once the blending surface has been constructed, the local regions of triangular meshes should be trimmed and then seamlessly merged with the blending surface.For trimming the local regions, it is necessary to find intersections of contact curves with triangular meshes.In this paper, we took an approach to trimming a local region of a triangular mesh in 2D parameter space.As shown in Figure 8a, the triangles inside or intersected with φ 1 (θ) were trimmed in 2D parameter space while resulting in a hole.We created new triangles by connecting the boundary vertices of the hole with the points sampled on φ 1 (θ) and finally obtained the trimmed triangular mesh as shown in Figure 8b.

Shape Control of Blending Surface
This section presents how to control the shape of a blending surface.Obviously, parameter µ in blending function f µ (t) can be used to control the shape of a blending surface.In addition to blending function f µ (t), the boundary curves φ i (θ) in Equation ( 7) can also be used to control the shape of a blending surface.Firstly, two contact curves S(θ, 0)(⊂ M 1 ) and S(θ, 1)(⊂ M 2 ) can directly be controlled by φ 1 (θ) and φ 4 (θ) since S(θ, 0) = P −1 1 (φ 1 (θ)) and S(θ, 1) = P −1 2 (φ 4 (θ)).Figure 9a shows a curve φ 1 (θ) of rectangular shape and the resulting surface is shown in Figure 9b.Similarly, φ 4 (θ) can control the contact curve of the other side of the blending surface.Note that φ 2 (θ) and φ 3 (θ) may influence the interior shape of a blending surface.However, it is not easy to obtain a desired shape of blending surface by controlling φ 2 (θ) and φ 3 (θ).In this paper, we propose a simple and effective method for choosing φ 2 (θ) and φ 3 (θ), as follows: where 0 ≤ α, β ≤ 1. Figure 5a,c shows the examples of φ 2 (θ) and φ 3 (θ) for different control (scale) parameters α = 0.3 and β = 0.2, respectively.This approach allows us to control the shape of blending surface by adjusting α and β. Figure 10 shows two extreme cases of generating blending surfaces when α = β = 0 and α = β = 1 while keeping the shapes of contact curves.For practical use, we further extended this control mechanism to the direct manipulation of the blending surface.If a user selects a point p = S(θ 0 , t 0 ) on a blending surface and moves it to a new position q, control parameters (α, β, µ) should be automatically adjusted so that S(θ 0 , t 0 ) passes through q.Thus, our direct manipulation reduces to the problem of minimizing the following functional with the control parameters (α, β, µ): where S(α, β, µ; θ 0 , t 0 ) can be explicitly represented as follows: Optimal control parameters (α, β, μ) can be efficiently found by well-known optimization techniques such as the conjugate gradient method [17,18].Our direct manipulation method restricts users' displacements for q.More specifically, target position q should be inside the volume bounded by two extreme shapes generated by setting α = β = 0 and α = β = 1, respectively.Figure 11 shows the blending surface directly manipulated by our method.

Experimental Results
We have implemented our technique in C++ on an Intel(R) Core(TM) i7 4.2 GHz CPU with an 8 GB main memory and an NVIDIA GeForce GTX 1070 graphic card.Our technique shows real-time performance for generating blending surfaces and directly manipulating them.In this section, we demonstrate the effectiveness of our technique by showing several examples of blending surfaces.
Figure 12a shows the blending surface that smoothly joins two sphere meshes.When we change the shape of boundary curves φ 1 (θ) and φ 4 (θ) as shown in Figure 12b, the blending surface changes its shape as shown in the middle figure.The result of merging the blending surface with trimmed meshes is detailed in Figures 12c,d.
Figure 13 shows three blending surfaces joining two tooth models.Depending on parameter µ in the blending function, different shapes around contact regions are generated.As parameter µ gets closer to zero or one, the resulting surface becomes similar to the selected regions of triangular meshes.For visual inspection of the blending result, mean curvature is plotted in Figure 13d, where the middle part of the blending surface shows an almost constant curvature value.Figure 14 shows a boat steering wheel generated by our method.In Figure 14a, we positioned simple geometric primitives such as a sphere, torus, and ellipsoid in three-dimensional space, and twelve blending surfaces are then generated to smoothly connect these primitives.Similar to the rolling-ball methods [10][11][12][13], our method can also be used to generate a blending surface between two intersecting surfaces.Figure 15a,b shows two intersecting cylinders and the blending surface (in yellow) generated by using our method, respectively.Figure 15c shows the result of merging three surfaces after trimming unnecessary parts, and its 3D printing result without postprocessing is shown in Figure 15d.Compared with the rolling-ball methods, our method is more flexible for controlling the shape of the resulting surface.For example, the blending surface in Figure 15e is generated by setting φ 2 (θ) = φ 1 (θ) and φ 3 (θ) = 0.3φ 4 (θ).In Figure 15f, we use the boundary curves φ 1 (θ) of rectangular shape and φ 2 (θ) = 0.5φ 1 (θ) to obtain the blending surface of a rectangular boundary curve.In rolling-ball methods, it would be quite difficult to control the shape of contact curves since they are automatically determined by the shape of the intersection curve between input meshes.Figure 16 shows various examples of blending surfaces.In Figure 16a, four nonintersecting cylinders of the same size are rotated about a common axis by different angles and the blending surfaces connecting adjacent cylinders are generated by our method.Figure 16b shows four intersecting cylinders of different sizes, orientations, and positions, and the blending surfaces between them are shown in Figure 16c.As shown in Figure 16, our method can robustly handle the various cases that can frequently occur in the geometric modeling process.

Conclusions
We have proposed a simple and effective method for constructing a parametric blending surface that smoothly connects two triangular meshes.For this, we combined two different geometric techniques: mesh parameterization and linear blending of parametric surfaces.The local regions of triangular meshes are parameterized by geodesic polar coordinates, and the corresponding base surfaces are constructed.By taking the linear combination of two base surfaces, we generated a blending surface.Our technique provides several parameters for controlling the shape of the blending surface.Moreover, our technique allows a user to control the blending result by directly manipulating surface points and also simultaneously deals with the blending of disjoint meshes and intersecting ones.In the experimental results, we have demonstrated the effectiveness of our technique by showing several modeling examples.
Compared with existing methods, it would be a strength of our method that finding the intersection curve between input meshes is not necessary, and sophisticated control of the boundary curve is possible.However, our method cannot deal with the case in which the blending region contains a hole.In this case, preprocessing for filling holes would be necessary.In future work, we plan to extend our method to include sophisticated parameters for controlling the shape of blending surfaces, and analyze geometric properties such as area and volume of the resulting surfaces.

Figure 1 .
Figure 1.Overview of our method: (a) selection of local regions; (b) 2D parameterizations of (a); (c) two base surfaces; (d) blending surface connecting two regions.

Figure 3 .
Figure 3. Two configurations of a virtual source vertex s that (a) exists and (b) does not exist.

Figure 4 .
Figure 4. (b) Local parameterization of (a) neighborhood of source vertex s.

Figure 7 .
Figure 7. Example of a blending surface.

Figure 8 .
Figure 8. Trimming the local region of a triangular mesh in 2D parameter space: (a) initial trimming; (b) construction of smooth boundary.

Figure 11 .
Figure 11.Direct manipulation of surface point p to q (deformed blending surface is rendered by wireframes).

Figure 12 .Figure 13 .
Figure 12.Blending surfaces: (a) blending surface generated by circular contact curves; (b) blending surface generated by a cross-shaped contact curve and a rectangular contact one; (c,d): trimming results of the blending regions.