Marching Cubes: A High Resolution
3D Surface Construction Algorithm
Based on the Paper by William E.
Lorensen and Harvey E. Cline
Introduction
The goal:
create a constant density surface from a 3D array of data
Introduction
One surface at a time
For another surface must run again
Introduction
Idea:
create a triangular mesh that will
approximate the iso-surface
calculate the normals to the surface at
each vertex of the triangle
Algorithm:
locate the surface in a cube of eight pixels
calculate normals
march to the next cube
Surface intersection in a cube
assign ZERO to
vertex outside the
surface
assign ONE to
vertex inside the
surface
Note:
Surface intersects those cube edges where one vertex is
outside and the other inside the surface
Surface intersection in a cube
There are 28=256 ways the surface
may intersect the cube
Triangulate each case
Patterns
Note:
using the symmetries reduces those 256 cases to 15
patterns
Patterns