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 and be two parametric surfaces. This method constructs a parametric blending surface by a linear combination of two base surfaces and , where and are reparametrized subpatches of and , 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 , and thus direct application to triangular meshes would be a considerably challenging problem.
In this paper, we tackle this problem. Given two triangular meshes, and , we construct two base surfaces, and , 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 and on triangular meshes. To overcome this difficulty, we parameterized and and then constructed and 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.
2. Related Work
There exist various classifications of blending methods. Vida et al. [] 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 [] 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 [] extended this method to freeform parametric surfaces to produce the blending surfaces of rational tensor-product representation, and further extensions [,] 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 [,] 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 [] generated a parametric 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 [] 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. [] 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 [,,,,,] 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 [,,,,] have been developed depending on specific purposes. For much broader reviews of mesh parameterization, we refer the reader to an excellent survey paper [].
Here, we are mainly interested in local parameterization since we are dealing with the blending of partial regions of input meshes. Recently, Melvær and Martin [] 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 [,], 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.
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 be a source vertex of triangular mesh . We define an open neighborhood of as follows:
where is the geodesic distance to a vertex from , and r is a user-specified distance. Our goal is to find local parameterization 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 for x-axis (see Figure 2). The first step is to find the geodesic polar coordinates , of one-ring neighbor vertices of . Geodesic distances can directly be determined by the edge distances, and the corresponding polar angles can be computed as follows:
where is the angle between two edges, and , and the scale factor is necessary since in general.
Figure 2.
Computation of geodesic polar coordinates.
The next step is to find the geodesic polar coordinates of a vertex distant from . We consider a triangle incident to and assume that the geodesic polar coordinates , and of and have already been found (see Figure 2). The basic idea is to find virtual source vertex from which the distances to and are identical to and , respectively. The geodesic polar coordinates of a vertex can then be determined from . Let be the distance to from . Depending on the distances , and , the virtual source vertex may exist or not. If triangle inequality holds, i.e., , then exists (see Figure 3a). In this case, we can find the geodesic distance by mapping the triangle onto the plane. By computing the intersection of two circles of radii and , we can find the co-ordinates of as follows:
Similarly, the coordinates of can be computed as follows:
Figure 3.
Two configurations of a virtual source vertex that (a) exists and (b) does not exist.
Then, the geodesic distance to from can be approximated as , and polar angle can linearly be interpolated as follows:
where (see Figure 3a for and ). If triangle inequality fails, i.e., or , then 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 and updated geodesic polar coordinates whenever a shorter geodesic distance is found. Figure 4 shows local parameterization obtained by propagating this process to the neighborhood of source vertex .
Figure 4.
(b) Local parameterization of (a) neighborhood of source vertex .
3.2. Constructing Blending Surface
Let be a local parameterization of in triangular mesh and and be two closed curves on (see Figure 5a). We consider parameter region , defined as follows:
where . Figure 5a shows an example of parameter region bounded by and , and Figure 5b shows the corresponding base surface constructed by . Note that corresponds to the outer boundary and to the inner one, respectively. Similarly, the other base surface, , can be constructed by , where is a local parameterization of in and is a parameter region defined by two closed curves and (see Figure 5c,d).
Figure 5.
Base surfaces (b) and (d) generated by boundary curves (a) and (b).
Now, parametric blending surface can be generated by a linear combination of and , as follows:
where is a blending function with and . The resulting surface is -continuous if satisfies the following property:
where is the k-th derivative of . 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 blending function , defined as follows:
where parameter 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, and , in Figure 5b,d.
Figure 6.
Blending function .
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 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 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 can be used to control the shape of a blending surface. In addition to blending function , the boundary curves in Equation (7) can also be used to control the shape of a blending surface. Firstly, two contact curves and can directly be controlled by and since and . Figure 9a shows a curve of rectangular shape and the resulting surface is shown in Figure 9b. Similarly, can control the contact curve of the other side of the blending surface. Note that and may influence the interior shape of a blending surface. However, it is not easy to obtain a desired shape of blending surface by controlling and . In this paper, we propose a simple and effective method for choosing and , as follows:
where . Figure 5a,c shows the examples of and for different control (scale) parameters and , 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 and while keeping the shapes of contact curves.
Figure 9.
Influence of (a) boundary curve on (b) the blending surface.
Figure 10.
Two blending surfaces generated by setting (a) and (b) .
For practical use, we further extended this control mechanism to the direct manipulation of the blending surface. If a user selects a point on a blending surface and moves it to a new position , control parameters should be automatically adjusted so that passes through . Thus, our direct manipulation reduces to the problem of minimizing the following functional with the control parameters :
where can be explicitly represented as follows:
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 . More specifically, target position should be inside the volume bounded by two extreme shapes generated by setting and , respectively. Figure 11 shows the blending surface directly manipulated by our method.
Figure 11.
Direct manipulation of surface point to (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 and 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 : (a) ; (b) ; (c) 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 and . In Figure 15f, we use the boundary curves of rectangular shape and 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
- Hartmann, E. Parametric Gn blending of curves and surfaces. Vis. Comput. 2001, 17, 1–13. [Google Scholar] [CrossRef]
- 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]
- Floater, M.S. Parametrization and smooth approximation of surface triangulations. Comput. Aided Geom. Des. 1997, 14, 231–250. [Google Scholar] [CrossRef]
- 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]
- 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]
- Sheffer, A.; Praun, E.; Rose, K. Mesh Parameterization Methods and Their Applications. Found. Trends Comput. Graph. Vis. 2006, 2, 105–171. [Google Scholar] [CrossRef]
- 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]
- Melvær, E.L.; Reimers, M. Geodesic Polar Coordinates on Polygonal Meshes. Comput. Graph. Forum 2012, 31, 2423–2435. [Google Scholar] [CrossRef]
- 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]
- Choi, B.; Ju, S. Constant-radius blending in surface modelling. Comput.-Aided Des. 1989, 21, 213–220. [Google Scholar] [CrossRef]
- 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]
- Chuang, J.H.; Hwang, W.C. Variable-radius blending by constrained spine generation. Vis. Comput. 1997, 13, 312–329. [Google Scholar] [CrossRef]
- Gábor, L. Differential geometry of G1 variable radius rolling ball blend surfaces. Comput. Aided Geom. Des. 1998, 29, 585–613. [Google Scholar]
- Bloor, M.I.G.; Wilson, M.J. Generating Blend Surfaces Using Partial Differential Equations. Comput.-Aided Des. 1989, 21, 165–171. [Google Scholar] [CrossRef]
- 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]
- Lee, C.K.; Hwang, H.D.; Yoon, S.H. Bézier Triangles with Gn Continuity across Boundaries. Symmetry 2016, 8. [Google Scholar] [CrossRef]
- Press, W.H.; Teukolsky, S.A.; Vetterling, W.T.; Flannery, B.P. Numerical Recipes in C; Cambridge University Press: Cambridge, UK, 1992. [Google Scholar]
- Visual Numerics. IMSL C Library, User’s Guide; Visual Numerics: Houston, TX, USA, 2016. [Google Scholar]
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).