Piecewise Convex Contouring of Implicit Functions Tao Ju

  • Slides: 21
Download presentation
Piecewise Convex Contouring of Implicit Functions Tao Ju Scott Schaefer Joe Warren Computer Science

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

Introduction • Contouring – 3 D volumetric data – Zero-contour of scalar field •

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

2 D Marching Cubes • Generate line segments that connect zero-value points on the

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

3 D Marching Cubes • Generate polygons that connect zero-value points on the edges

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

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

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

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

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 2 D, line segments are uniquely determined by

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

Algorithm: Convex Contouring • In 3 D, line segments on the faces of the

Algorithm: Convex Contouring • In 3 D, 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.

Convex Contouring

Convex Contouring

Examples using Convex Contouring

Examples using Convex Contouring

Beyond Uniform Grids • Current work: Multi-resolution contouring – A world of non-uniform grids.

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

Beyond Uniform Grids • Current work: Multi-resolution contouring – A world of non-uniform grids.

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

Strategy: Adaptive Convex Contouring • Build expanded lookup table for transitional voxels with extra

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 • Automatic method for computing table • Fast contouring

Benefits of Adaptive Convex Contouring • Automatic method for computing table • Fast contouring using table lookup • Crack prevention – Contours are consistent across the transitional face/edge. No crack-filling is necessary.

Examples of Adaptive Convex Contouring

Examples of Adaptive Convex Contouring

Examples of Multi-resolution Contouring

Examples of Multi-resolution Contouring

Conclusion • Convex contouring algorithm. – Fast Collision Detection. – Crack-free adaptive contouring. –

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.

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.

temporary

temporary