On the Origin of Meshes

For this week, we’re going to be focusing on the sources of the meshes we’ll be working with throughout the semester. Some mesh models are of course generated by hand. But many are also produced automatically, frequently from data acquired from the real world. We’ll explore two common cases of such systems: isosurface extraction and surface reconstruction.

Isosurface Extraction

Given a scalar field F(x,y,z) defined over 3-D space, how can we construct a mesh model of the isosurface F(x,y,z)=c? This is the key question of isosurface extraction. It arises in medical applications (e.g., extracting surfaces from CT scans), scientific visualization (e.g., computational fluid dynamics), and elsewhere. We’ll be discussing just a couple of the many algorithms that have been developed to address this problem.

Required reading

One of the oldest, and most widely used, methods for isosurface extraction is Marching Cubes.

Kobbelt et al. describe an extension of Marching Cubes that handles sharp features much more cleanly.

Recommended reading

Dual contouring is another related method with some attractive properties.

Note: this paper will probably make more sense once we read the simplification papers on quadric error metrics.

Surface Reconstruction

The problem of surface reconstruction is somewhat different. Here we are given some set of points in space — generated by a laser scanner, for instance — and we wish to construct a surface from these isolated points.

Required reading

Even if we assume nothing about the structure of the points, we can do a surprisingly good job of building mesh models from them. That is, assuming that the points sample the surface densely enough.

Point samples generated by laser scanners are typically arranged in grids. We can take advantage of this extra information to good effect.

Recommended reading