Piecewise Convex Contouring of Implicit Functions

1 / 21

# Piecewise Convex Contouring of Implicit Functions

## Piecewise Convex Contouring of Implicit Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
##### Presentation Transcript

1. Piecewise Convex Contouring of Implicit Functions Tao Ju Scott Schaefer Joe Warren Computer Science Department Rice University

2. Introduction • Contouring • 3D volumetric data • Zero-contour of scalar field • Marching Cubes Algorithm [Lorensen and Cline, 1987] • Voxel-by-voxel contouring • Table driven algorithm

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

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

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

6. Goal • Extend table driven contouring to support: • Fast collision detection. • Adaptive contouring (no explicit crack prevention).

7. Idea: Keep Negative Region Convex • Generate polygons such that the resulting negative region is convex inside a voxel. Non-convex Convex

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

9. Construction of Lookup Table • In 2D, line segments are uniquely determined by sign configuration. • In 3D, polygons are NOT uniquely determined by sign configuration.

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

11. Convex Contouring

12. Examples using Convex Contouring

13. Beyond Uniform Grids • Current work: Multi-resolution contouring • A world of non-uniform grids. • In 2D: Contouring transition squares between grids of different resolutions

14. Beyond Uniform Grids • Current work: Multi-resolution contouring • A world of non-uniform grids. • In 3D: Contouring transition voxels between grids of different resolutions

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

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

17. Examples of Adaptive Convex Contouring

18. Examples of Multi-resolution Contouring

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

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

21. temporary