Take any smooth function that assigns a real number to every point in space — a density, a distance, a temperature. The isosurface is the set of points where the function equals a chosen threshold: think of it as the skin of an object implied by the numbers. Extracting a polygon mesh from that surface is one of the core tasks in computer graphics, medicine, and scientific simulation.
The classic solution is Marching Cubes (Lorensen & Cline, 1987): divide space into a regular grid, check which cell corners are inside the object, look up one of 256 vertex patterns, and output triangles. It works beautifully for smooth shapes, but every corner and crease gets rounded off — the algorithm literally has no way to represent a sharp edge.
Dual Contouring (Ju et al., 2002) fixes this with one elegant idea: instead of placing vertices on cell edges, it places one vertex per cell, positioned by solving a least-squares problem against the Hermite data — the surface normals recorded where the isosurface crosses each edge. The result is a mesh that can reproduce sharp features exactly, because the gradient information tells the solver precisely where a corner or crease belongs.
The "dual" in the name reflects the duality between the regular grid and the mesh: grid cells become mesh vertices, and grid edges that cross the surface become mesh faces.
Comments
Loading comments...