DXSimplifySurface


  1. Introduction
  2. Usage of the module
  3. Images of DXSimplifySurface in action
  4. Download DXSimplifySurface
  5. Feedback
  6. Related Sites

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 .


Usage of the module


DXSimplifySurface takes a DX object , and a maximum error bound as inputs. Both inputs are required. DXSimplifySurface simplifies all surfaces with triangular connections contained in the DX object, and returns as data a bound to the distance (simplified surface, original surface) at each surface vertex. This data corresponds to the width of the error volume, as described in the technical report entitled Surface Simplification Inside a Tolerance Volume .

DX Screen dump showing the module dialog box and description (16 Kb GIF image).


DXSimplifySurface in action


Simulation of a molecule from a class of experimental compounds known as HIV-1 Reverse transcriptase inhibitors. Isosurface generated from the electrostatic potential calculation and from a particular isovalue.

Data Explorer session screen dump 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.

Engine noise surface Rendering of a surface representing the noise generated by a jet engine after using DXSimplifySurface (64 Kb GIF image)


Topographic map 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 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.

Deinogalerix surface model Rendering of a surface representing Deinogalerix before simplification (45K triangles) (64 Kb GIF image)

Deinogalerix surface model Rendering of Deinogalerix after using DXSimplifySurface (8K triangles) (114 Kb GIF image)
Bounds to the distance between simplified model and original are color-coded.


Related Sites


  1. compressed version of the paper Surface Simplification Inside a Tolerance Volume
  2. Anatomy based registration of CT scans with radiographs
  3. IBM Research Cyber Journal

Feedback


If you use this module, please send your comments to gueziec@watson.ibm.com