Isosurface

Last updated

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 3-space.

Contents

The term isoline is also sometimes used for 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. CFD simulation showing vorticity isosurfaces behind propeller.png
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 dual contouring algorithm was first published in the 2002 SIGGRAPH proceedings by Ju and Losasso, [3] developed as an extension to both surface nets 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 surface nets often look blocky or incorrectly beveled. [4] Dual contouring 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 dual contouring 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

Related Research Articles

<span class="mw-page-title-main">Delaunay triangulation</span> Triangulation method

In computational geometry, a Delaunay triangulation or Delone triangulation of a set of points in the plane subdivides their convex hull into triangles whose circumcircles do not contain any of the points. This maximizes the size of the smallest angle in any of the triangles, and tends to avoid sliver triangles.

<span class="mw-page-title-main">Polyhedron</span> Three-dimensional shape with flat faces, straight edges, and sharp corners

In geometry, a polyhedron is a three-dimensional figure with flat polygonal faces, straight edges and sharp corners or vertices.

<span class="mw-page-title-main">Tesseract</span> Four-dimensional analogue of the cube

In geometry, a tesseract or 4-cube is a four-dimensional hypercube, analogous to a two-dimensional square and a three-dimensional cube. Just as the perimeter of the square consists of four edges and the surface of the cube consists of six square faces, the hypersurface of the tesseract consists of eight cubical cells, meeting at right angles. The tesseract is one of the six convex regular 4-polytopes.

<span class="mw-page-title-main">Voxel</span> Element representing a value on a grid in three dimensional space

A voxel is a three-dimensional counterpart to a pixel. It represents a value on a regular grid in a three-dimensional space. Voxels are frequently used in the visualization and analysis of medical and scientific data. They are also commonly used in video games, both as a technological feature, as in Outcast, and a graphical style, which was popularised by Minecraft.

<span class="mw-page-title-main">Ray casting</span> Methodological basis for 3D CAD/CAM solid modeling and image rendering

Ray casting is the methodological basis for 3D CAD/CAM solid modeling and image rendering. It is essentially the same as ray tracing for computer graphics where virtual light rays are "cast" or "traced" on their path from the focal point of a camera through each pixel in the camera sensor to determine what is visible along the ray in the 3D scene.

<span class="mw-page-title-main">Scientific visualization</span> Interdisciplinary branch of science concerned with presenting scientific data visually

Scientific visualization is an interdisciplinary branch of science concerned with the visualization of scientific phenomena. It is also considered a subset of computer graphics, a branch of computer science. The purpose of scientific visualization is to graphically illustrate scientific data to enable scientists to understand, illustrate, and glean insight from their data. Research into how people read and misread various types of visualizations is helping to determine what types and features of visualizations are most understandable and effective in conveying information.

<span class="mw-page-title-main">Octree</span> Tree data structure in which each internal node has exactly eight children, to partition a 3D space

An octree is a tree data structure in which each internal node has exactly eight children. Octrees are most often used to partition a three-dimensional space by recursively subdividing it into eight octants. Octrees are the three-dimensional analog of quadtrees. The word is derived from oct + tree. Octrees are often used in 3D graphics and 3D game engines.

<span class="mw-page-title-main">Volume rendering</span> Representing a 3D-modeled object or dataset as a 2D projection

In scientific visualization and computer graphics, volume rendering is a set of techniques used to display a 2D projection of a 3D discretely sampled data set, typically a 3D scalar field.

<span class="mw-page-title-main">Polygon mesh</span> Set of polygons to define the surface of a 3D model

In 3D computer graphics and solid modeling, a polygon mesh is a collection of vertices, edges and faces that defines the shape of a polyhedral object's surface. It simplifies rendering, as in a wire-frame model. The faces usually consist of triangles, quadrilaterals (quads), or other simple convex polygons (n-gons). A polygonal mesh may also be more generally composed of concave polygons, or even polygons with holes.

<span class="mw-page-title-main">Non-photorealistic rendering</span> Style of rendering

Non-photorealistic rendering (NPR) is an area of computer graphics that focuses on enabling a wide variety of expressive styles for digital art, in contrast to traditional computer graphics, which focuses on photorealism. NPR is inspired by other artistic modes such as painting, drawing, technical illustration, and animated cartoons. NPR has appeared in movies and video games in the form of cel-shaded animation as well as in scientific visualization, architectural illustration and experimental animation.

<span class="mw-page-title-main">Marching cubes</span> Computer graphics algorithm

Marching cubes is a computer graphics algorithm, published in the 1987 SIGGRAPH proceedings by Lorensen and Cline, for extracting a polygonal mesh of an isosurface from a three-dimensional discrete scalar field. The applications of this algorithm are mainly concerned with medical visualizations such as CT and MRI scan data images, and special effects or 3-D modelling with what is usually called metaballs or other metasurfaces. The marching cubes algorithm is meant to be used for 3-D; the 2-D version of this algorithm is called the marching squares algorithm.

<span class="mw-page-title-main">Marching tetrahedra</span>

Marching tetrahedra is an algorithm in the field of computer graphics to render implicit surfaces. It clarifies a minor ambiguity problem of the marching cubes algorithm with some cube configurations. It was originally introduced in 1991.

In computer graphics, marching squares is an algorithm that generates contours for a two-dimensional scalar field. A similar method can be used to contour 2D triangle meshes.

In computer science, a level set is a data structure designed to represent discretely sampled dynamic level sets of functions.

Simplicial continuation, or piecewise linear continuation, is a one-parameter continuation method which is well suited to small to medium embedding spaces. The algorithm has been generalized to compute higher-dimensional manifolds by and.

<span class="mw-page-title-main">3D reconstruction</span> Process of capturing the shape and appearance of real objects

In computer vision and computer graphics, 3D reconstruction is the process of capturing the shape and appearance of real objects. This process can be accomplished either by active or passive methods. If the model is allowed to change its shape in time, this is referred to as non-rigid or spatio-temporal reconstruction.

Visualization Library (VL) is an open source C++ middleware for 2D/3D graphics applications based on OpenGL 4, designed to develop portable applications for the Microsoft Windows, Linux and Mac OS X operating systems.

<span class="mw-page-title-main">Point Cloud Library</span> Open-source algorithm library

The Point Cloud Library (PCL) is an open-source library of algorithms for point cloud processing tasks and 3D geometry processing, such as occur in three-dimensional computer vision. The library contains algorithms for filtering, feature estimation, surface reconstruction, 3D registration, model fitting, object recognition, and segmentation. Each module is implemented as a smaller library that can be compiled separately. PCL has its own data format for storing point clouds - PCD, but also allows datasets to be loaded and saved in many other formats. It is written in C++ and released under the BSD license.

In scientific visualization the asymptotic decider is an algorithm developed by Nielson and Hamann in 1991 that creates isosurfaces from a given scalar field. It was proposed as an improvement to the marching cubes algorithm, which can produce some "bad" topology, but can also be considered an algorithm in its own right.

<span class="mw-page-title-main">Ideal polyhedron</span> Shape in hyperbolic geometry

In three-dimensional hyperbolic geometry, an ideal polyhedron is a convex polyhedron all of whose vertices are ideal points, points "at infinity" rather than interior to three-dimensional hyperbolic space. It can be defined as the convex hull of a finite set of ideal points. An ideal polyhedron has ideal polygons as its faces, meeting along lines of the hyperbolic space.

References

  1. "Hamilton–Jacobi equation", 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).{{cite web}}: CS1 maint: multiple names: authors list (link)
  6. Lin X (30 Dec 2015). Manifold Dual Contouring. Archived from the original on 11 September 2020. Retrieved 28 April 2020.
  7. Lin X (23 Oct 2016). "Github Repository - isosurface". GitHub .