next up previous
Next: Progressive Meshes Up: Review of Progressive Meshes Previous: Review of Progressive Meshes


Mesh Optimization

Although the approach in [9] is not immediately related to multiresolution, it introduces some concepts HOPPE'S further work is based on. The primary goal of this paper is to approximate surfaces reconstructed from unorganized points. Therefore the input data is assumed to be a set of points rather than a continuous surface.

The tradeoff between the number of vertices and the approximation quality is defined by an energy function. Thus large geometric errors are penalized as well as a large number of vertices, where the relative weight between these contradictory goals is defined by the user. The optimization procedure tries to find the mesh with minimum energy.

Optimization is performed by two nested loops. The outer loop modifies the mesh connectivity by randomly selecting an edge and performing one of three possible edge operations (collapse, split, and swap, see figure

Figure 2: Local operations to modify the mesh connectivity
[initial patch] \resizebox*{0.2\textwidth}{!}{\includegraphics{patch.eps}} [edge collapse] \resizebox*{0.2\textwidth}{!}{\includegraphics{edge_collapse.eps}} [edge split] \resizebox*{0.2\textwidth}{!}{\includegraphics{edge_split.eps}} [edge swap] \resizebox*{0.2\textwidth}{!}{\includegraphics{edge_swap.eps}}

2) on the associated surface patch. Operations modifying the topology are disallowed. The inner loop chooses the vertex locations for fixed connectivity to minimize the energy function discussed above. Locality is exploited by only considering vertices in the neighborhood of the modified edge. The optimization procedure stops if no more edge operations are found that could further reduce the energy.


next up previous
Next: Progressive Meshes Up: Review of Progressive Meshes Previous: Review of Progressive Meshes
Markus Grabner