You are currently viewing a new version of our website. To view the old version click .
Symmetry
  • Article
  • Open Access

9 November 2018

Parametric Blending of Triangular Meshes

,
,
and
1
Department of Multimedia Engineering, Dongguk University, Seoul 04620, Korea
2
Division of IT Convergence Engineering, Hansung University, Seoul 02876, Korea
*
Authors to whom correspondence should be addressed.

Abstract

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.

1. 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 [] 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. [] extended this technique by proposing practical methods for reparameterizing the base surfaces to be blended. However, these techniques [,] 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 [,,,,,]. Among them, we employed the efficient local parameterization method [] 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.
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.
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.

3. Parametric Blending Surface

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

3.1. 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:
N r ( s ) = { v | d ( s , v ) < r , v M } ,
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 [], 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:
θ 1 = 0 and θ l = θ l 1 + α l 1 2 π k = 1 n α k for l = 2 , 3 , , n ,
where α l is the angle between two edges, sv ¯ l and sv ¯ l + 1 ( mod n ) , and the scale factor 2 π / k = 1 n α k is necessary since k = 1 n α k 2 π in general.
Figure 2. Computation of geodesic polar coordinates.
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 i j k 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 j k be the distance to v k from v j . Depending on the distances d j , d k and d j k , the virtual source vertex s may exist or not. If triangle inequality holds, i.e., | d j d k | d j k 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 i j k onto the x y 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:
s x = d k 2 d j 2 d j k 2 2 d j k , s y = d j 2 s x 2 .
Similarly, the coordinates ( x i , y i ) of v i can be computed as follows:
x i = d k i 2 d i j 2 d j k 2 2 d j k , y i = d i j 2 x i 2 .
Figure 3. Two configurations of a virtual source vertex s that (a) exists and (b) does not exist.
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:
θ i = ( 1 ω ) θ j + ω θ k ,
where ω = θ j i / θ j k (see Figure 3a for θ j k and θ j i ). If triangle inequality fails, i.e., d j k < | d j d k | or d j k > d j + d k , then s does not exist (see Figure 3b). In this case, we chose the minimum distance for d i = min { d j + v i v j , d k + v i v k } , and the polar angle is determined as follows:
θ i = θ j if   d i   is   taken   to   be   d j + v i v j , θ k otherwise .
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 .
Figure 4. (b) Local parameterization of (a) neighborhood of source vertex s .

3.2. 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:
R 1 ( θ , t ) = ( 1 t ) ϕ 1 ( θ ) + t ϕ 2 ( θ )   for   0 θ 2 π , 0 t 1 ,
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 S 2 ( θ , t ) = P 2 1 ( R 2 ( θ , t ) ) , 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).
Figure 5. Base surfaces (b) and (d) generated by boundary curves (a) and (b).
Now, parametric blending surface S ( θ , t ) can be generated by a linear combination of S 1 ( θ , t ) and S 2 ( θ , t ) , as follows:
S ( θ , t ) = f ( t ) S 1 ( θ , t ) + ( 1 f ( t ) ) S 2 ( θ , t ) ,
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:
f ( k ) ( 0 ) = f ( k ) ( 1 ) = 0   for   k = 0 , 1 , , n ,
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:
f μ ( t ) = μ ( 1 t ) 3 μ ( 1 t ) 3 + ( 1 μ ) t 3 ,
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.
Figure 6. Blending function f μ ( t ) .
Figure 7. Example of a blending surface.

3.3. 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.
Figure 8. Trimming the local region of a triangular mesh in 2D parameter space: (a) initial trimming; (b) construction of smooth boundary.

4. 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 2 1 ( ϕ 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:
ϕ 2 ( θ ) = α ϕ 1 ( θ )   and   ϕ 3 ( θ ) = β ϕ 4 ( θ ) ,
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.
Figure 9. Influence of (a) boundary curve ϕ 1 ( θ ) on (b) the blending surface.
Figure 10. Two blending surfaces generated by setting (a) α = β = 0 and (b) α = β = 1 .
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 ( α , β , μ ) :
arg min 0 α , β , μ 1 S ( α , β , μ ; θ 0 , t 0 ) q 2 ,
where S ( α , β , μ ; θ 0 , t 0 ) can be explicitly represented as follows:
S ( α , β , μ ; θ 0 , t 0 ) = f μ ( t 0 ) S 1 ( θ 0 , t 0 ) + ( 1 f μ ( t 0 ) ) S 2 ( θ 0 , t 0 ) = f μ ( t 0 ) P 1 1 R 1 ( θ 0 , t 0 ) + ( 1 f μ ( t 0 ) ) P 2 1 R 2 ( θ 0 , t 0 ) = f μ ( t 0 ) P 1 1 ( 1 ( 1 + α ) t 0 ) ϕ 1 ( θ 0 ) + ( 1 f μ ( t 0 ) ) P 2 1 ( 1 ( 1 + β ) t 0 ) ϕ 4 ( θ 0 ) .
Optimal control parameters ( α ^ , β ^ , μ ^ ) can be efficiently found by well-known optimization techniques such as the conjugate gradient method [,]. 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.
Figure 11. Direct manipulation of surface point p to q (deformed blending surface is rendered by wireframes).

5. 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 Figure 12c,d.
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.
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.
Figure 13. Blending surfaces controlled by blending function f μ ( t ) : (a) μ = 0.05 ; (b) μ = 0.5 ; (c) μ = 0.95 and (d) mean curvature plots of (b).
Figure 14. (b) Blending surfaces smoothly join the (a) geometric primitives.
Similar to the rolling-ball methods [,,,], 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 15. (a) Two intersecting cylinders; (b) blending surface connecting two cylinders; (c) merging three surfaces; (d) 3D printing of (c); (e, f) blending surfaces generated by different boundary curves.
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.
Figure 16. (a) Blending surfaces connecting separate cylinders; (c) blending surfaces connecting; (b) intersecting cylinders of arbitrary positions and orientations.

6. 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.

Author Contributions

M.-C.S. implemented the proposed technique and H.-D.H. performed the experiments; S.-H.Y. and J.L.wrote the paper.

Funding

This work was supported by the research program of Dongguk University, 2018 and also supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Minstry of Education (No. NRF-2018R1D1A1B07048036) and the Ministry of Science, ICT and future Planning (No. NRF-2016R1A2B1013213).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Hartmann, E. Parametric Gn blending of curves and surfaces. Vis. Comput. 2001, 17, 1–13. [Google Scholar] [CrossRef]
  2. Song, Q.; Wang, J. Generating Gn parametric blending surfaces based on partial reparameterization of base surfaces. Comput.-Aided Des. 2007, 39, 953–963. [Google Scholar] [CrossRef]
  3. Floater, M.S. Parametrization and smooth approximation of surface triangulations. Comput. Aided Geom. Des. 1997, 14, 231–250. [Google Scholar] [CrossRef]
  4. Gu, X.; Yau, S.T. Global Conformal Parameterization. In Proceedings of the Symposium on Geometry Processing, Aachen, Germany, 23–25 June 2003; pp. 127–137. [Google Scholar]
  5. Floater, M.S.; Hormann, K. Surface parameterization: A tutorial and survey. In Advances in Multiresolution for Geometric Modelling; Springer: Berlin/Heidelberg, Germany, 2005; pp. 157–186. [Google Scholar]
  6. Sheffer, A.; Praun, E.; Rose, K. Mesh Parameterization Methods and Their Applications. Found. Trends Comput. Graph. Vis. 2006, 2, 105–171. [Google Scholar] [CrossRef]
  7. Jin, M.; Kim, J.; Luo, F.; Gu, X. Discrete Surface Ricci Flow. IEEE Trans. Vis. Comput. Graph. 2008, 14, 1030–1043. [Google Scholar] [CrossRef] [PubMed]
  8. Melvær, E.L.; Reimers, M. Geodesic Polar Coordinates on Polygonal Meshes. Comput. Graph. Forum 2012, 31, 2423–2435. [Google Scholar] [CrossRef]
  9. Vida, J.; Martin, R.R.; Varady, T. A survey of blending methods that use parametric surfaces. Comput.-Aided Des. 1994, 26, 341–365. [Google Scholar] [CrossRef]
  10. Choi, B.; Ju, S. Constant-radius blending in surface modelling. Comput.-Aided Des. 1989, 21, 213–220. [Google Scholar] [CrossRef]
  11. Farouki, R.A.; Sverrisson, R. Approximation of rolling-ball blends for free-form parametric surfaces. Comput.-Aided Des. 1996, 28, 871–878. [Google Scholar] [CrossRef]
  12. Chuang, J.H.; Hwang, W.C. Variable-radius blending by constrained spine generation. Vis. Comput. 1997, 13, 312–329. [Google Scholar] [CrossRef]
  13. Gábor, L. Differential geometry of G1 variable radius rolling ball blend surfaces. Comput. Aided Geom. Des. 1998, 29, 585–613. [Google Scholar]
  14. Bloor, M.I.G.; Wilson, M.J. Generating Blend Surfaces Using Partial Differential Equations. Comput.-Aided Des. 1989, 21, 165–171. [Google Scholar] [CrossRef]
  15. Bloor, M.I.G.; Wilson, M.J. Using partial differential equations to generating freeform surfaces. Comput.-Aided Des. 1990, 22, 221–234. [Google Scholar] [CrossRef]
  16. Lee, C.K.; Hwang, H.D.; Yoon, S.H. Bézier Triangles with Gn Continuity across Boundaries. Symmetry 2016, 8. [Google Scholar] [CrossRef]
  17. Press, W.H.; Teukolsky, S.A.; Vetterling, W.T.; Flannery, B.P. Numerical Recipes in C; Cambridge University Press: Cambridge, UK, 1992. [Google Scholar]
  18. Visual Numerics. IMSL C Library, User’s Guide; Visual Numerics: Houston, TX, USA, 2016. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.