cgal/Surface_mesh_parameterization/long_description.txt

82 lines
5.0 KiB
Plaintext
Raw Blame History

Planar Parameterization of Triangulated Surface Meshes
Specification for a CGAL package
Laurent Saboret, Pierre Alliez, Bruno Levy
Keywords: parameterization, bijective mapping, triangulated meshes, convex embedding, conformal, harmonic maps, free border methods.
1 Introduction
Parameterizing a surface amounts to finding a one-to-one mapping from a suitable domain to the surface. A good mapping is the one which minimizes either angle or area distortions in some sense. In this proposal we focus on triangulated surfaces that are homeomorphic to a disk and on piecewise linear mappings into a planar domain. Although the main motivation behind the first parameterization methods was the application to texture mapping, it is now frequently used for mapping more sophisticated modulation signals (such as normal, transparency, reflection or light modulation maps), fitting scattered data, re-parameterizing spline surfaces, repairing CAD models, approximating surfaces and remeshing.
2 Proposal
We propose to elaborate upon a CGAL Package which implements some of the state-of-the-art surface mesh parameterization methods, such as Least Squares Conformal Maps, Discrete Conformal Map, Discrete Authalic Parameterization, Floater Mean Value Coordinates or Tutte Barycentric Mapping. The package will propose an interface with CGAL Polyhedron_3 data structure. Since parameterizing meshes require efficient representation of sparse matrices and efficient iterative or direct linear solvers, we plan to evaluate the standard packages or propose a separate package devoted to linear algebra.
3 Intended Audience
The intended audience of this package is researchers, developers or students developing algorithms around parameterization of triangle meshes for geometry processing as well as for signal mapping on triangulated surfaces.
4 Specification
4.1 Input
* A triangulated mesh:
- 2-manifold,
- Oriented,
- One connected component.
The input mesh can be of any genus, -but- it has to come with a description of a border (a list of oriented edges given by a set or vertices) which is the border of a topological disc. If no border is given, we assume that it coincides with the unique border already in the input mesh. Note that this way the user is responsible for cutting a closed mesh of arbitrary genus (even a topological disc with an intricate seam cut), as long as this condition is verified.
* A set of constraints (a constraint specifies two (u,v) coordinates for each instance of a vertex along the border).
- For free border methods: only two constraints (the pinned vertices). They have to be on the specified border.
- For fixed border methods:
+ a list of constraints given by the user. The whole border has to be specified.
+ one convex shape specified by:
-> one shape among a set of standard ones (circle, square).
-> the user can also select a border parameterization among two common methods: uniform or arc-length parameterization.
4.2 Output
One uv coordinate for each interior vertex, and one uv coordinate for each instance of a vertex along the input border.
4.3 Features
* Parameterizations:
- Fixed border:
+ Tutte Barycentric Mapping (one-to-one mapping is guaranteed for convex border).
+ Floater Mean Value Coordinates (ditto).
+ Discrete Conformal Map (conditionally guaranteed if all weights positive and convex border).
+ Discrete Authalic Parameterization (ditto).
- Free border:
+ Least Squares Conformal Maps.
* Constraint builder: for fixed border methods, generates a set of constraints.
* Mesh data structure: it has to be interfaced with 3D Polyhedron.
* Preconditions (may be turned off):
- assert triangle mesh.
- assert convex polygon for fixed border methods.
- assert genus (does the specified border bound a topological disc?).
* Post conditions:
- check one-to-one mapping.
* Linear Algebra:
Although they are often tightly coupled, there are 2 main components:
- Data structure for sparse matrices
- Linear solver (direct or iterative)
The CGAL parameterization package will be loosely linked to the solver. Replacing it will be easy.
Which linear solver?
- OpenNL (Bruno Levy)
- others to be decided
5 References
[DMA02] Mathieu Desbrun, Mark Meyer, and Pierre Alliez. Intrinsic parameterizations of surface meshes. Computer Graphics Forum, 21(3):209<30>218, September 2002.
[FH05] M. S. Floater and K. Hormann. Surface parameterization: a tutorial and survey. In N. A. Dodgson, M. S. Floater, and M. A. Sabin, editors, Advances in Multiresolution for Geometric Modelling, Mathematics and Visualization, pages 157<35>186. Springer, Berlin, Heidelberg, 2005.
[Flo03] Michael Floater. Mean Value Coordinates. Computer Aided Design, 20(1):19<31>27, 2003.
[LPRM02] Bruno L<>vy, Sylvain Petitjean, Nicolas Ray, and J<>rome Maillot. Least squares conformal maps for automatic texture atlas generation. In Proceedings of the 29th Conference on Computer Graphics and Interactive Techniques SIGGRAPH, volume 21(3) of ACM Transactions on Graphics, pages 362<36>371, 2002.