This page is the proposal for the final project of CSE258 Geometric and Solid Modeling, Fall 2002, Department of Computer Science, the University of North Carolina at Chapel Hill
by Jingyu Yan
Parameterization of deforming surfaces
Terminology
Let us first introduce some terms we use in this project. A surface is represented by a mesh. A mesh means a triangular mesh. A deforming surface is represented as a deforming mesh within which some or all of the vertices move while the connectivity remains.
Introduction and Goal
Until recently, a lot of work has been done for creating parameterization methods for surfaces. The original motivations for creating these parameterization methods are different. Some are for remeshing, some are for texture-mapping. One thing in common among all these parameterization methods are that they are designed for static meshes. So far, to our knowledge, the way to parameterize a deforming surface has not been addressed. Even so, it is not hard to imagine, if we have a deforming mesh, we can just parameterize it again after it deforms, treating it like a static mesh. But in this way, a lot of computation are repeated and the performance is subject to the parameterization method and the complexity of the mesh. We will try to explore the possibility of parameterization of a deforming mesh in a better way so that interactive rendering can be achieved without regard to the complexity of the mesh itself, but depending on the deformation.
Parameterizations and related work
There are abundant parameterization methods available. The following is a summary of some of them.
In [1], the parameterization used is based on harmonic maps. It requires a definition of the boundary of the mesh. It can run efficiently.
In [2], constraints can be imposed on the parameterization.
In [3], no boundary definition is needed. The parameterization is achieved by satisfying the Cauchy-Riemann equation( in the least squares sense) in each triangle. It runs efficiently.
In [4], combining two distortion measurements, conformality and authalicity, together during parameterization.
In [5], another classic parameterization. A boundary definition is required.
In this project, the parameterization is for texture-mapping. That does not mean it has to be one originally designed for texture-mapping. More often than not, a parameterization designed for remeshing can be applied to texture-mapping too. Any parameterization that gives satisfactory texture-mapping quality, runs fast and, at the same time, fits into our way to parameterize a deforming surface can be our choice.
The standard we use to judge a parameterization for its texture-mapping quality is called conformality. "an application X mapping a (u, v) domain to a surface is said to be conformal if for each (u, v), the tangent vectors to the iso-u and iso-v curves passing through X(u,v) are orthogonal and have the same norm."[3]. The parameterizations used in [1],[3] and [5] are conformal. Conformality of a parameterization ensures us the distortion of the texture-mapping is reduced to minimum.
As for running time, though some of the parameterizations run much slower than others, there is no one runs distinctly faster than any one else. To our knowledge, the parameterizations used in [1],[3] and [5] run in a similar speed. They all try to solve a linear system in a similar scale.
Before we can single out what parameterizations fit in our way to parameterize a deforming surface. We need to first give an overview of our way of parameterize a deforming surface.
Parameterization of a deforming surface
To our knowledge, how to effectively parameterize a deforming surface is a subject that has not be addressed before. We try to lay down some framework in this project for further and deeper research in this field. As investigation going on through this semester, a deeper understanding of parameterization combined with experiments may result in improving the method described below.
Generally the time for parameterization will increase as the number of the triangles of the mesh increases. Based on that, for a deforming surface, a lower bound of the runtime for reparameterizing the deformed mesh is the time for parameterizing only the deformed portion. To achieve this lower bound, first we need to locate the submesh that completely includes the deformed portion; second, we parameterize this submesh.
One question may come up: after parameterizing the submesh, is the result the same as we parameterize the whole deformed mesh again? The answer is usually NO. However, on the other hand, parameterizing the whole deformed mesh again may not be welcome. Suppose we have a clay model and there is some texture mapped on it. If a small area on a surface of the clay is manipulated to stick out, do we expect this local manipulation affects the texture-mapping of the whole surface? Or do we expect it only affects the nearby area surrounding the deformed area? Apparantly, the answer depends on the application itself.
Our method shall be flexible enough to accommodate this dependence. When we locate the submesh that includes the deformed portion of the mesh, we can expand it based on some rules depending on the application itself. Thus, how large an area of the texture-map is affected by the deformation is in control. Or put it in other word, how far away from the deformation on the surface the effect shall vanish is in control. In an extreme case, if the submesh expands to the whole mesh itself, it is equivalent to parameterizing the whole mesh.
To sum up, our parameterization of a deforming surface goes in two steps:
1. locate a submesh within the deformed mesh that completely includes the deformed portion (expand the submesh according to the application if needed)
2. parameterize the (expanded) submesh
Problems
Here are some problems we expect to solve. As the project goes on, we expect there will be more.
How to locate of the submesh that includes the deformed portion of the surface efficiently and how to apply rules to expand it?
What effect may result if we just parameterize submeshes instead of the whole mesh? Especially when this parameterization is applied again and again on submeshes.
Does the boundary requirement of some parameterization method prevents us from using it as our parameterization of submeshes? Are those currently available parameterization method provides enough runtime efficiency? If not, how to improve it?
References
[1] M. Eck, T. DeRose, T.Duchamp, H. Hoppes, M. Lounsbery and W. Stuetzle. Multiresolution Analysis of Arbitrary Meshes. In SIGGRAPH 95 Conference Proceedings, pages 173–182. ACM, August 1995.
[2] Levy, B. Constrained Texture Mapping for Polygonal Meshes. In Proceedings of SIGGRAPH (2001), pp.417–424.
[3] Levy, B., Petitjean, S., Ray, N., and Maillot, J. Least Squares Conformal Maps for Automatic Texture Atlas Generation. In Proceedings of SIGGRAPH (2002).
[4] Desbun, M., Meyer, M., AND Alliez, P. Intrinsic parameterizations of surface meshes. In Proceedings of Eurographics (2002).
[5] M. Floater. Parametrization and smooth approximation of surface triangulations. Computer Aided Geometric Design, 14(3):231–250, April 1997.
[6] B. Levy and J.-L. Mallet. Non-distorted texture mapping for sheared triangulated meshes. In SIGGRAPH 98 Conf. Proc., pages 343–352. Addison Wesley, 1998.