|
Triangle
Decimation
|
|
|
Marching cubes produces a triangle mesh in which none of the triangles can be larger than a voxel. Even large planar surfaces are modeled using large numbers of triangles because the model was created one cube at a time. Schroeder , Zarge, and Lorensen developed an algorithm, which they called triangle decimation, for reducing the number of triangles in an existing mesh. The algorithm eliminates vertices and retriangulates the resulting hole. Vertices are not moved, and no new vertices are created. This algorithm has been adapted to run in a massively parallel message passing environment. Due to the large size of the simulations made possible by massively parallel machines, marching cubes can produce models containing many millions of triangles. Data reduction is necessary to enable the rendering and viewing of these large models on conventional workstations. In the following examples, however, the number of triangles is kept small so that the individual triangles can be seen.
These two images are from a simulation of a blast wave hitting a barrier. The images are different renderings of the same models. The image on the right shows the underlying meshes for the Gourard-shaded models on the left. The upper model in both images is produced by marching cubes without decimation. The lower model is the same model after decimation. Notice that the decimated version has reduced the vertices by 80% and the number of triangles by 75% as compared to the original mesh. Once again, the images on the left and right are different renderings of the same models. In top to bottom order, these models demonstrate varying levels of decimation. The hydrogen molecule at the top of the image is the geometric model produced by marching cubes without decimation. The two hydrogen molecules below it have been decimated with increasing thresholds. The image on the left shows a Gouraud-shaded version of the models, whereas, the image on the right shows the underlying mesh structures.
|
|