Create Presentation
Download Presentation

Download Presentation

Piecewise Convex Contouring of Implicit Functions

Download Presentation
## Piecewise Convex Contouring of Implicit Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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.