Isosurface

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Zirconocene with an isosurface showing areas of the molecule susceptible to electrophilic attack.
Isosurface of vorticity trailed from a propeller blade

Definition[edit]

An isosurface is a three-dimensional analog of an isoline. It is a surface that represents points of a constant value (e.g. pressure, temperature, velocity, density) within a volume of space; in other words, it is a level set of a continuous function whose domain is 3D-space.

Applications[edit]

Isosurfaces are normally displayed using computer graphics, and are used as data visualization methods in computational fluid dynamics (CFD), allowing engineers to study features of a fluid flow (gas or liquid) around objects, such as aircraft wings. An isosurface may represent an individual shock wave in supersonic flight, or several isosurfaces may be generated showing a sequence of pressure values in the air flowing around a wing. Isosurfaces tend to be a popular form of visualization for volume datasets since they can be rendered by a simple polygonal model, which can be drawn on the screen very quickly.

In medical imaging, isosurfaces may be used to represent regions of a particular density in a three-dimensional CT scan, allowing the visualization of internal organs, bones, or other structures.

Numerous other disciplines that are interested in three-dimensional data often use isosurfaces to obtain information about pharmacology, chemistry, geophysics and meteorology.

Implementation Algorithms[edit]

Marching Cubes[edit]

The marching cubes algorithm was first published in the 1987 SIGGRAPH proceedings by Lorensen and Cline,[1] and it creates a surface by intersecting the edges of a data volume grid with the volume contour. Where the surface intersects the edge the algorithm creates a vertex. By using a table of different triangles depending on different patterns of edge intersections the algorithm can create a surface. This algorithm has solutions for implementation both on the CPU and on the GPU.

Asymptotic Decider[edit]

The asymptotic decider algorithm was developed as an extension to marching cubes in order to resolve the possibility of ambiguity in it,

Marching Tetrahedrons[edit]

The marching tetrahedrons algorithm was developed as an extension to marching cubes in order to solve an ambiguity in that algorithm and to create higher quality output surface.

Surface Nets[edit]

The Surface Nets algorithm places an intersecting vertex in the middle of a volume voxel instead of at the edges, leading to a smoother output surface.

Dual Contouring[edit]

The dual contouring algorithm was first published in the 2002 SIGGRAPH proceedings by Tao and Frank,[2] developed as an extension to both surface nets and marching cubes. It retains the vertex at the center of the voxel but adds a surface generation that leverages quad trees to add support for geometry that adapts the number of outputed triangles to the complexity of the surface.

Examples[edit]

Examples of isosurfaces are 'Metaballs' or 'blobby objects' used in 3D visualisation. A more general way to construct an isosurface is to use the function representation.

See also[edit]

References[edit]

  1. ^ William E. Lorensen, Harvey E. Cline: Marching Cubes: A high resolution 3D surface construction algorithm. In: Computer Graphics, Vol. 21, Nr. 4, July 1987
  2. ^ Tao Ju, Frank Losasso: Dual Contouring of Hermite Data. In: ACM Transactions on Graphics, Volume 21 Issue 3, July 2002

External links[edit]