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 [
1] 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. [
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
, 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 [
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.
2. 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
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, Melvær 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.
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.
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 [
17,
18]. 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.
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 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
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 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.
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.