1. Introduction
The parametrization of a surface can be seen as a one-to-one mapping from the surface of the curved surface in three-dimensional space to the appropriate domain on the two-dimensional plane. Generally, the surface of a three-dimensional surface is represented by a triangular mesh, and the mapping is piecewise linear. Therefore, from the viewpoint of graph theory, it can be thought of as a mapping between graphs. . Surface parametrization plays an important role in geometric modeling, computer graphics, and computer vision. In order to improve the visual quality of a polygon model, it is applied as a very important technical element in texture mapping used in computer graphics. Surface approximation and reconstruction are drawing attention in the field of computer vision due to the demand for 3D scanning techniques and efficient compression methods of increasingly complex triangulation. Bump mapping stores small deviations of the point deflection normal of the smooth underlying surface and uses a shaken version during shading [1].
Normal mapping [2, 3] is a similar technique that directly replaces normal vectors rather than storing perturbations. The mapping between the surfaces of two surfaces is used to transfer the details from one surface to another, or to allow interpolation between the shapes and shapes of several objects [4, 5, 6]. Biermann et al. [7] used local parameterization to facilitate cutting and pasting details between models in the field of mesh editing. Sorkine et al. L'evy [8] uses local parameterization for mesh synthesis in a similar way. Most of the studies related to surface parameterization use Floater's algorithm [9] basically. However, even though the algorithms have excellent results in both geometric and mathematical aspects, they are still lacking in terms of computer science, namely time complexity and spatial complexity. In this paper, we propose a new solution which may improve these problems. The local parameterization is based on the relationship between a given point and its neighbors. We use a centering property of a circle in order to reduce the time and space complexities.
2. Preliminaries
Before describing the research related to shape preservation parameterization, we will briefly introduce the basic definitions of graph theory that will be used in the research. A simple graph G = G(V, E) is defined as a set of vertices V and a set of edges E, where V = { i | i = 1, ⋯ , N} and E = {(i, j)| i ≠ j, i, j = 1, ⋯ , N}. When an edge (i, j) ∈ E is present, both ends of the segment are called neighbors of the other end, and the degree of a vertex is defined as the number of neighbors of the vertex. If all the vertices and edges of a graph H are the vertices and edges of G, H is called a subgraph of G.
When a graph satisfies the following conditions, it is called a plane graph:
(i) Each vertex corresponds to a point on the plane.
(ii) Each line segment (i, j) corresponds to a curve whose end point is i and j.
(iii) The intersection of the curves occurs only at the end point.
In a plane graph, each partial area divided by curves is called a face, and a plane graph having a set of vertices V, a set of edges E, and a set of faces F is denoted by P(V, E, F). The face with an infinite area is referred to as the outer face, and the curved lines touching this face are referred to as the boundary of the graph and it is denoted by ∂G. In particular, when ∂G is a single closed curve, it is called a simply connected graph. When all faces of a graph consist of three edges, the graph is called a triangulated graph. It is assumed that all graphs to be covered in this research will be triangulated. Surface Triangulation refers to a simple connected graph of triangles in R3, and is called Plane Triangulation, especially when the graph is on R2.
The boundary of a plane graph is a single closed curve on the plane, so one can define the orientation of the boundary. In general, there are two orientations: clockwise and counterclockwise. We choose the direction of all plane graphs as counterclockwise. This can be used to define the isomorphic relationship between two triangulated plane graphs G1and G2. The two graphs are called isomorphic when the vertices, edges, and faces of all the subsets correspond to each other as follows: The corresponding edges connect the corresponding vertices, the corresponding edges of the corresponding faces have corresponding edges, and the counterclockwise boundaries of the two graphs have the same array of vertices.
We now define a parameterization, which is the main content of this paper. Parameterization is the process of finding a triangulated planar graph that is the same as a given triangulated surface, or its graph. The name parametrization is a one given to this process by which the surface of space can be represented by its own sculptural notation for both parameters u and v. Floater proposed a method of parameterization for arbitrary triangulated surfaces as follows[9]:
Let G (S, X) be a surface triangulation in R3 which is isomorphic to a plane graph G(V,E,F) and has the set of nodes X = { xi = ( xi, yi, zi) | i = 1, ⋯ , N }. Let x1, ⋯ , xn and xn+1 , ⋯ , xN be the interior vertices and the boundary vertices of G (S, X), respectively
(1) The boundary vertices correspond to the vertices un+1, ⋯ , uN which are forming a counterclockwise convex polygon.
(2) For1 ≤ i ≤ n, a real number λi,j satisfying the following condition is set.
\(\begin{array}{lll} \lambda_{i, j}=\mathbf{0} & \text { if }(i, j) \notin E & \sum_{j=1}^{N} \lambda_{i, j}=\mathbf{1} \\ \lambda_{i, j}>0 & \text { if }(i, j) \in E & \end{array}\) (1)
(3) The interior vertices u1, ⋯ , un are obtained by solving the following simultaneous linear equations.
\(u_{i}=\sum_{j=1}^{N} \lambda_{i, j} u_{j}\) (2)
There is no limit to the exact method of obtaining the coefficients λi,j, of the linear system by the above algorithm. If λ is kept constant regardless of the spatial distance of the original graph, each vertex is represented as the average of neighboring vertices, and this is called uniform parameterization. Since this parameterization is only affected by the adjacency states of the vertices, it does not match our research project, which has to rely on the geometry of 3D meshes. Based on the distance information between the vertices on the mesh, we need to set λi,j, to avoid deforming the shape of the mesh as much as possible.
Figure 1. Basic idea of Floater method
The basic idea of shape conservation parameterization proposed by Floater [9] is as follows. Let S(G, X) be a surface parameterization for G = G(V, E, F), and let Gi be a partial graph of G which consists of its i-th vertex xi and its neighbors xj1, xj1, ⋯ , \(x_{j_{d_{i}}}\), where the neighbors are given in order counterclockwise. For Xi = { xi, xj1, xj1, ⋯ , \(x_{j_{d_{i}}}\)} we think about the following process.
(1) For Si = Si(Gi, Xi), we consider a local shape-preserving parameterization Pi that maps xi to p ∈ R2, and xj1, xj2, ⋯ ,\(x_{j_{d_{i}}}\) to p1, p2, ⋯ , \(p_{d_{i}}\).
(2) For such that (i, j) ∈ E, we set the coefficient λi,j, satisfying the following condition
\(p=\sum_{k=1}^{d_{i}} \lambda_{i, j_{k}} p_{k}, \quad \Sigma_{k=1}^{d_{i}} \lambda_{i, j_{k}}=1\)
(3) When we denote the angle between two vectors a − b and c − b by (a, b, c), we have to compute p1, p2, p3, ⋯ , \(p_{d_{i}}\) satisfying the following conditions
\(\begin{aligned} \left\|p_{k}-p\right\| &=\left\|x_{j_{k}}-x_{i}\right\| \\ \operatorname{ang}\left(p_{k}, p, p_{k+1}\right) &=2 \pi \operatorname{ang}\left(x_{j_{k}}, x_{i}, x_{j_{k+1}}\right) / \theta_{i} \end{aligned}\) (3)
where \(\theta_{i}=\sum_{k=1}^{d} \operatorname{ang}\left(x_{j k}, x_{i}, x_{j k+1}\right), x_{j_{d_{i}+1}}=x_{j_{1}} \text { and } p_{d_{i}+1}=x_{1}\).
3. New shape-preserving parameterization
Considering the method of shape preservation parameterization, we must bear in mind the following assumptions that the method must satisfy. If the original graph is in the plane and the boundaries are equally given, then the internal points must also be matched. Of course, the method proposed by Floater satisfies this assumption, but as already mentioned, the result is not smoothly given for all vertices. The proposed shape conservation parameterization method is given smoothly for all vertices and is based on the basic fact that the average of all the points of a circle is the center of a circle. That is, if a unit circle is expressed as (cos t, sin t) for the parameter t, then we may derive the following fact that\(\int_{0}^{2 \pi}(\cos t, \sin t)\) = (0,0) .
The basic idea of this is to find the area of the arc that has the same effect as the influence of neighboring neighbors to each vertex to be parameterized. Consider a graph G = G(V, E, F) in which all vertices are on the -plane. Suppose that a parametrization of a partial graph Gi consisting of an arbitrary inner point xi and its neighboring vertices is devised so that the corresponding inner point x also corresponds to the same position when the boundary is given as it is. When this method is applied to the entire graph, if the boundary of the graph is given as it is, the entire graph is parameterized without changing. Therefore, it is sufficient to deal with a graph consisting of one internal vertex x and neighboring vertices x1, x2, ⋯ , xd. Let u1, u2, ⋯ ,ud be the boundary of the graph to be parameterized, and u be the parameterized coordinate of the interior vertex to be obtained using λ. Now the task is to find λ to make u = x.
Since \(\Sigma_{j=1}^{d} \lambda_{i, j}\) = 1 , the parameterization method of the floater is independent of the coordinate system. Assume that x is at the origin without loss of generality, and define θj = ang( xj, x, xj+1)theta. Here, xd+1 = x1, xd = x0. Now we will set λi,j to:
\(\lambda_{i j} \sim\left(\tan \frac{\theta_{j}}{2}+\tan \frac{\theta_{j-1}}{2}\right), \sum_{j=1}^{d} \lambda_{i j}=1\) (4)
To confirm that this λi,j is a correct shape preservation parameterization, we can use this λi,j to show that u is set at the origin. First of all, we define a unit middle vector\(v_{j}=\frac{u_{j}+u_{j+1}}{\left\|u_{j}+u_{j+1}\right\|}\), where ud+1 = u1, ud = u0. vj is a unit vector that bisects the angle formed by two vectors xj - x and xj+1 - x. By using this vector and Equation (4), we have the following relation:
\(\begin{aligned} &u=\sum_{j=1}^{d} \lambda_{i, j} u_{j}=\sum_{j=1}^{d}\left(\tan \frac{\theta_{j}}{2}+\tan \frac{\theta_{j-1}}{2}\right) u_{j}=\sum_{j=1}^{d}\left(\frac{\sin \frac{\theta_{j}}{2}}{\cos \frac{\theta_{j}}{2}}+\frac{\sin \frac{\theta_{j-1}}{2}}{\cos \frac{\theta_{j-1}}{2}}\right) u_{j}\\ &=\sum_{j=1}^{d}\left(\frac{2 \sin \frac{\theta_{j}}{2}}{\left\|u_{j}+u_{j+1}\right\|}+\frac{2 \sin \frac{\theta_{j-1}}{2}}{\left\|u_{j-1}+u_{j}\right\|}\right) u_{j}=\sum_{j=1}^{d} \frac{\left(u_{j}+u_{j+1}\right)}{\left\|u_{j}+u_{j+1}\right\|}\left(2 \sin \frac{\theta_{j}}{2}\right)\\ &=\sum_{j=1}^{d} v_{j} \int_{-\frac{\theta}{2}}^{\frac{\theta_{j}}{2}} \cos t d t=\sum_{j=1}^{d} \int_{-\frac{\theta_{j}}{2}}^{\frac{\theta_{j}}{2}}\left(\cos \left(t-\arg \left(v_{j}\right)\right), \sin \left(\left(t-\arg \left(v_{j}\right)\right)\right) d t\right.\\ &=\sum_{j=1}^{d} \int_{\arg \left(v_{j}\right)-\frac{\theta_{j}}{2}}^{\arg \left(v_{j}\right)+\frac{\theta_{j}}{2}}(\cos t, \sin t) d t=\sum_{j=1}^{d} \int_{\arg \left(u_{j}\right)}^{\arg \left(u_{j+1}\right)}(\cos t, \sin t) d t\\ &=\int_{0}^{2 \pi}(\cos t, \sin t) d t=(0,0)=x \end{aligned}\)
This method is basically meaningful in that it can obtain smooth parameterization results for all vertices. Our method also greatly reduces the computational complexity of the linear system to obtain the coefficients used in the Floater method and the complexity of the memory space to store various variables accordingly.
We compare the execution times of the two algorithms for complex input data. The following table Table 1 shows the time required to perform two parameterizations of our method and Floater [9] for various data.
Table 1. Comparison of execution time
The parameterization algorithm proposed by Floater is 20 ~ 30% longer than our algorithm. This proves that our algorithm is more efficient than the algorithm used by Floater.
4. Concluding Remarks
Virtual reality and augmented reality, which play a key role in the digital age, require three-dimensional computer graphics and, in particular, efficient space-mapping technology. In this paper, we have studied mesh parameterization method which is the core of editing technology of mesh data, which is the most basic part of 3D computer graphics. This technology is used in the fields of image processing, computer vision, broadcast video, and film. Our new method of shape preservation parameterization has dramatically reduced the execution speed while achieving almost the same effect as the currently used Floater 's algorithm. In addition, we can confirm that space management is more important in terms of spatial and temporal aspects.
참고문헌
- J. F. Blinn, "Simulation of wrinkled surfaces," in ACM SIGGRAPH '78, pp. 286-292, 1978.
- A. Sheffer, B. L'evy, M. Mogilnitsky, and A. Bogomyakov, "ABF++: Fast and robust angle based flattening," ACM Transactions on Graphics, vol. 24, no. 2, pp. 311-330, 2005. https://doi.org/10.1145/1061347.1061354
- Y. Lee, H. S. Kim, and S. Lee, "Mesh parameterization with a virtual boundary", Computers and Graphics, vol. 26, no. 5, pp. 677-686, 2002. https://doi.org/10.1016/S0097-8493(02)00123-1
- M. Alexa, "Recent advances in mesh morphing," Computer Graphics Forum, vol. 21, no. 2, pp. 173-196, 2002. https://doi.org/10.1111/1467-8659.00575
- V. Kraevoy and A. Sheffer, "Cross-parameterization and compatible remeshing of 3D models," in ACM SIGGRAPH 2004, 2004.
- A. Khodakovsky, N. Litke, and P. Schroder, "Globally smooth parameterizations with low distortion," in ACM SIGGRAPH 2003, pp. 350-357, 2003.
- H. Biermann, I. Martin, F. Bernardini, and D. Zorin, "Cut-and-paste editing of multiresolution surfaces," in ACM SIGGRAPH 2002, pp. 312-321, 2002.
- B. Levy, "Dual domain extrapolation," in ACM SIGGRAPH 2003, 2003.
- M. Floater and K. Hormann, "Surface parameterization: A tutorial and survey,"in Advances in Multiresolution for Geometric Modelling, pp. 157-186, 2005.