Polygonal surfaces form one of the major representations for three dimensional geometric models in computer graphics and scientific visualization.
DXSimplifySurface takes as input a polygonal surface that has been triangulated and produces a simplified surface that approximates the original surface with fewer triangles. The user is asked to specify a maximum distance bound and the algorithm attempts to construct a simplified surface such that the distance from each point (that is, vertices and points contained inside triangles) of the simplified surface to the original surface will be less than the maximum distance bound and also such that the distance from each point of the original surface to the simplified surface will be less than that bound.
To enforce the maximum distance bound, DXSimplifySurface maintains dynamically an Error Volume defined as a union of spheres centered on the simplified surface, that contains the original surface and such that each sphere of the union intersects the original surface. In the end of the process, the final error volume is provided to the user. At no additional cost, it represents for each vertex a bound to the distance from that vertex to the original surface. This bound is, in general, less than the maximum distance bound.
The volume of a solid bounded by the surface is preserved by the algorithm; If the surface has a boundary, then DXSimplifySurface preserves the volume enclosed by a composite closed surface made by juxtaposing to the first surface an arbitrary surface that shares the same boundary. We have actually computed the volume of solids before and after the simplification process and we have observed that it is preserved with 6 or more digits of accuracy.
The overall computational complexity of the method is subquadratic in the number of edges of the surface, making it affordable for large surface models. Processing of models containing as many as 700K triangles takes a few minutes on a UNIX workstation equipped with suitable amounts of memory.
Finally, the method favors near equilateral triangles. For more details, please consult the technical report entitled Surface Simplification Inside a Tolerance Volume .
DX Screen dump showing the module dialog box and description (16 Kb GIF image).
DX Screen dump of
isosurface construction followed by surface simplification using
DXSimplifySurface (73 Kb GIF image)
A height field is constructed by simulation of the noise level generated by a jet engine: 660K triangles simplified down to 6.7 K with a maximum error of 4% of the surface largest dimension.
Rendering of a surface
representing the noise generated by a jet engine after using
DXSimplifySurface (64 Kb GIF image)
Topographic map of Pennsylvania, Ohio
and Lake Erie containing 550K vertices and 1097K triangles.
Courtesy of Lloyd Treinish. (139 Kb JPEG image)
Half size GIF image (138 Kb)
Simplified topographic map containing 135K
vertices and 267K triangles, obtained with DXSimplifySurface. (112
Kb JPEG image)
Half size GIF image
(127 Kb)
Simplified topographic map
with overlaid state and county borders (190 Kb JPEG image)
A surface model of a fossil hedgehog: Deinogalerix.
Rendering of a surface
representing Deinogalerix before simplification (45K triangles)
(64 Kb GIF image)
Rendering of Deinogalerix
after using DXSimplifySurface (8K triangles) (114 Kb GIF image)
Bounds
to the distance between simplified model and original are color-coded.