210 likes | 357 Views
Piecewise Convex Contouring of Implicit Functions. Tao Ju Scott Schaefer Joe Warren Computer Science Department Rice University. Introduction. Contouring 3D volumetric data Zero-contour of scalar field Marching Cubes Algorithm [ Lorensen and Cline, 1987] Voxel-by-voxel contouring
E N D
Piecewise Convex Contouring of Implicit Functions Tao Ju Scott Schaefer Joe Warren Computer Science Department Rice University
Introduction • Contouring • 3D volumetric data • Zero-contour of scalar field • Marching Cubes Algorithm [Lorensen and Cline, 1987] • Voxel-by-voxel contouring • Table driven algorithm
2D Marching Cubes • Generate line segments that connect zero-value points on the edges of the square. • Partition the square into positive and negative regions. • Connected with contours of neighboring squares.
3D Marching Cubes • Generate polygons that connect zero-value points on the edges of the voxel. • Partition the voxel into positive and negative regions. • Connected with contours of neighboring voxels
Key Idea: Table Driven Contouring • Structure of the lookup table: • Indexed by signs at the corners of the voxel. • Each entry is a list of polygons whose vertices lie on edges of the voxel. • Exact locations of vertices (zero-value points) are calculated from the magnitude of scalar values at the corners of the voxel.
Goal • Extend table driven contouring to support: • Fast collision detection. • Adaptive contouring (no explicit crack prevention).
Idea: Keep Negative Region Convex • Generate polygons such that the resulting negative region is convex inside a voxel. Non-convex Convex
Fast Point Classification • Bound the point to its enclosing voxel. • Build extended planes for each polygon on the contour inside the voxel. • Test the point against those extended planes. Inside negative region Outside negative region
Construction of Lookup Table • In 2D, line segments are uniquely determined by sign configuration. • In 3D, polygons are NOT uniquely determined by sign configuration.
Algorithm: Convex Contouring • In 3D, line segments on the faces of the voxel connecting zero-value points are uniquely determined by sign configuration (table lookup). • Contouring algorithm: • Lookup cycles of line segments on faces of the voxel. • Compute positions of zero-value points on the edges. • Convex triangulation of cycles.
Beyond Uniform Grids • Current work: Multi-resolution contouring • A world of non-uniform grids. • In 2D: Contouring transition squares between grids of different resolutions
Beyond Uniform Grids • Current work: Multi-resolution contouring • A world of non-uniform grids. • In 3D: Contouring transition voxels between grids of different resolutions
Strategy: Adaptive Convex Contouring • Build expanded lookup table for transitional voxels with extra vertices. • Polygons connected with contours from neighboring voxels. Transition Voxel 1 Transition Voxel 2
Benefits of Adaptive Convex Contouring • Crack prevention • Contours are consistent across the transitional face/edge. No crack-filling is necessary. • Automatic method for computing table • Fast contouring using table lookup
Conclusion • Convex contouring algorithm. • Fast Collision Detection. • Crack-free adaptive contouring. • Real-time contouring with lookup table. • Future work: • Real applications, such as games, using multi-resolution convex contouring. • Topology-preserving adaptive contouring.
Acknowledgements • Special thanks to Scott Schaefer for implementation of the multi-resolution contouring program. • Special thanks to the Stanford Graphics Laboratory for models of the bunny.