Isosurface

From Wikipedia, the free encyclopedia

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.

Isosurface is sometimes used more generically related to domains of more than 3 dimensions.[1]

Isosurface of vorticity trailed from a propeller blade. Note that this is an isosurface plotted with a colormapped slice.

Applications[]

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[]

Marching cubes[]

The marching cubes algorithm was first published in the 1987 SIGGRAPH proceedings by Lorensen and Cline,[2] 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[]

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

Marching tetrahedra[]

The marching tetrahedra 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[]

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[]

The algorithm was first published in the 2002 SIGGRAPH proceedings by Ju and Losasso,[3] developed as an extension to both and marching cubes. It retains a dual vertex within the voxel but no longer at the center. Dual contouring leverages the position and normal of where the surface crosses the edges of a voxel to interpolate the position of the dual vertex within the voxel. This has the benefit of retaining sharp or smooth surfaces where often look blocky or incorrectly beveled.[4] often uses surface generation that leverages octrees as an optimization to adapt the number of triangles in output to the complexity of the surface.

Manifold dual contouring[]

Manifold includes an analysis of the octree neighborhood to maintain continuity of the manifold surface [5][6][7]

Examples[]

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[]

References[]

  1. ^ , Wikipedia, 2020-12-06, retrieved 2020-12-14
  2. ^ William E. Lorensen, Harvey E. Cline: Marching Cubes: A high resolution 3D surface construction algorithm. In: Computer Graphics, Vol. 21, Nr. 4, July 1987
  3. ^ Tao Ju, Frank Losasso, Scott Schaefer, Joe Warren: Dual Contouring of Hermite Data. Archived 2017-09-18 at the Wayback Machine In: ACM Transactions on Graphics, Volume 21 Issue 3, July 2002
  4. ^ "Smooth Voxel Terrain (Part 2)". 12 July 2012.
  5. ^ Scott Schaefer, Tao Ju, Joe Warren (2006). "Manifold Dual Contouring" (PDF).CS1 maint: multiple names: authors list (link)
  6. ^ Lin X (30 Dec 2015). Manifold Dual Contouring.[dead link]
  7. ^ Lin X (23 Oct 2016). "Github Repository - isosurface".
  • Charles D. Hansen; Chris R. Johnson (2004). Visualization Handbook. Academic Press. pp. 7–11. ISBN 978-0-12-387582-2.

External links[]

Retrieved from ""