Title: Marching Cubes
1Marching Cubes
2Isosurface Definition
- Given a scalar field, f Rd ? R, and a scalar
value s, a level set is the set of points p
f(p) s .
Given a sampling of a scalar field, f Rd ? R,
and a scalar value s, construct a (piecewise
linear) approximation (isosurface) to the level
set p f(p) s .
3Isosurface Reconstruction Algorithms
- Cuberille Draw cubes (voxels) and smooth
- Herman and Liu. Comp Graph Image Proc, 1979
- Chen, Herman, et. al. IEEE Comp. Graph Appl.,
1985 - Artzy, Frieder, et. al. Comp. Graph Image
Proc., 1981 - Taubin, Siggraph 95, 1995
- Marching cubes algorithm
- Lorensen and Cline. Comput. Graphics, 1987
- Montani, Scateni, Scopigno. Visual. Comp. 1994
- Nielson and Hamann, Visualization 91, 1991
- Weigle and Banks, Visualization 96, 1996
- Bhaniramka, Wenger, Crawfis, Isosurfacing in
Higher Dimensions, Vis 00, 2000 - Dual contouring algorithms
- Gibson, Surface Nets, Visualization 98, 1998.
- Ju, Losasso, et. al. Dual contouring of Hermite
data, Trans on Graphics, 2002 - Nielson, Dual marching cubes, Visualization
04, 2004
4Regular Grid Samples of a Scalar Field
5Regular Grid
6(/-) Grid
7(/-) Midpoints
8Marching Squares
9Marching Squares
10Marching Squares
11Marching Squares
12Marching Squares
13Isosurface
Level Set x f(x,y,z) a
Polygonal Approximation Isosurface
14Isosurface Construction
- Identify midpoints of (,-) edges
- Draw isosurface through midpoints.
15Isocontour Construction
- Identify midpoints of (,-) edges
- Draw isocontour through midpoints.
162D Cases
173D Cube
183D Cube
-
-
-
-
-
-
193D Cases
-
-
-
-
-
-
-
-
-
-
-
-
-
-
203D Cases
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
21Marching Cubes (Lorensen Cline)
- Build cube lookup table
- For each cube, retrieve surface fragment from
lookup table.
22Marching Cubes (Lorensen Cline)
- Read four slices into memory
- Scan slices and create cubes
- Calculate cube index based on 8 vertex scalars
- Look up edge (triangle) list from table
- Interpolate surface edge intersections
- Calculate unit normals using central differences
- Output triangles and vertex normals
23Ambiguity
24Ambiguity
25Ambiguity
263D Ambiguity
-
-
-
-
-
-
-
273D Ambiguity
-
-
-
283D Ambiguity
Durst. Comput. Graph. 1988.
293D Correct Isosurface
Montani, Scateni, Scopigni, Visual. Comput.
1994. Nielson and Hamann. Visualization 91, 1991.