Efficient location of quadrilateral grid patches in polygonal meshes.

However, many models are represented by polygonal meshes that contain a surprisingly small percentage of triangles. A few examples are shown above. The entire `Premier Collection' from Viewpoint Datalabs - a well-known source of high quality 3D models - consists mostly of meshes with very low triangle counts. Likewise, few triangles are found in the output formats of many computer aided design (CAD) packages. The dominating element of these models is the quadrangle or quadrilateral, but pentagons, hexagons and higher degree faces are also common.

Especially for storage purposes it is beneficial to keep a mesh in its native polygonal representation and delay the conversion to triangles until this becomes necessary. King et al.[4] have shown that the connectivity information for meshes mostly composed of quadrangles can be represented with fewer bits than that of their triangulated counterparts.

Several authors have reported extensions to their triangle mesh compression schemes in order to handle polygonal input. A naive approach arbitrarily triangulates the polygon mesh and then uses one bit per edge to distinguish the original edges from those added during the triangulation process. Marking every edge can be avoided by triangulating the polygons systematically.

In [3] we presented Face Fixer, the first compression scheme designed to encode geometric models directly in their polygonal representation. Without explaining the details of our algorithm I want to motivate why I am interested in locating rectangular quadrilateral grids in a polygon mesh: The Face Fixer algorithm describes how to fix the faces together that form the polygonal surface. Instead of fixing together faces we can also fix together patches of faces. Then we have to describe in addition the interior of these patches. If a patch is a rectangular quadrilateral grid this can be done very efficiently through the number of rows and columns in this grid.

In this project I want to investigate how to find these rectangular quad grids efficiently. The polygon models shown above (especially the shark) contain a lot of grid structure. How to decompose them into 'optimal' non-overlapping patches is not trivial. Depending on the definition of optimality it might be NP-hard. Initially I will implement some greedy strategy to quickly get a feel for the possible savings in terms of compression. Then I will investigate what an optimal set of non-overlapping patches is for compression purposes. Finally I hope to come up with a search strategy that efficiently finds an optimal set. The issues are local versus global search and use of heuristics.

[1] M. Deering,

[2] S. Gumhold and W. Strasser,

[3] M. Isenburg and J. Snoeyink,

[4] D. King, J. Rossignac, and A. Szymczak,

[5] J. Rossignac,

[6] G. Taubin and J. Rossignac,