Title: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware
1- Fast Computation of Generalized Voronoi Diagrams
Using Graphics Hardware - Kenneth E. Hoff III, Tim Culver, John Keyser,
- Ming Lin, and Dinesh Manocha
- University of North Carolina at Chapel Hill
- SIGGRAPH 99
2What is a Voronoi Diagram?
- Given a collection of geometric primitives, it is
a subdivision of space into cells such that all
points in a cell are closer to one primitive than
to any other
Voronoi Site
Voronoi Region
3- Ordinary
- Point sites
- Nearest Euclidean distance
- Generalized
- Higher-order site geometry
- Varying distance metrics
Higher-orderSites
2.0
0.5
Weighted Distances
4Why Should We Compute Them?
- It is a fundamental concept
- Descartes Astronomy 1644 Heavens
- Dirichlet Math 1850 Dirichlet tesselation
- Voronoi Math 1908 Voronoi diagram
- Boldyrev Geology 1909 area of influence
polygons - Thiessen Meteorology 1911 Theissen polygons
- Niggli Crystallography 1927 domains of action
- Wigner Seitz Physics 1933 Wigner-Seitz
regions - Frank Casper Physics 1958 atom domains
- Brown Ecology 1965 areas potentially available
- Mead Ecology 1966 plant polygons
- Hoofd et al. Anatomy 1985 capillary domains
- Icke Astronomy 1987 Voronoi diagram
5Why Should We Compute Them?
- Useful in a wide variety of applications
- Collision Detection
- Surface Reconstruction
- Robot Motion Planning
- Non-Photorealistic Rendering
- Surface Simplification
- Mesh Generation
- Shape Analysis
6What Makes Them Useful?
- Ultimate Proximity Information
Nearest Site
Maximally Clear Path
Density Estimation
Nearest Neighbors
7Outline
- Generalized Voronoi Diagram Computation
- Exact and Approximate Algorithms
- Previous Work
- Our Goal
- Basic Idea
- Our Approach
- Basic Queries
- Applications
- Conclusion
8Generalized Voronoi Diagram ComputationExact
Algorithms
- Previous work
- Lee82
- Chiang92
- Okabe92
- Dutta93
- Milenkovic93
- Hoffmann94
- Sherbrooke95
- Held97
- Culver99
Computes Analytic Boundary
9Previous Work Exact Algorithms
- Compute analytic boundaries
- but...
- Boundaries composed of high-degree curves and
surfaces and their intersections - Complex and difficult to implement
- Robustness and accuracy problems
10Generalized Voronoi Diagram Computation
Approximate Algorithms
Exact Algorithm
Analytic Boundary
Discretize Sites
Discretize Space
Previous work Lavender92, Sheehy95, Vleugels 95
96, Teichmann97
11Previous Work Approximate Algorithms
- Provide practical solutions
- but...
- Difficult to error-bound
- Restricted to static geometry
- Relatively slow
12Our Goal
Approximate generalized Voronoi diagram
computation that is
- Simple to understand and implement
- Easily generalized
- Efficient and practical
with all sources of error fully enumerated
13Outline
- Generalized Voronoi Diagram Computation
- Basic Idea
- Brute-force Algorithm
- Cone Drawing
- Graphics Hardware Acceleration
- Our Approach
- Basic Queries
- Applications
- Conclusion
14Brute-force Algorithm
Record ID of the closest site to each sample point
Coarsepoint-samplingresult
Finerpoint-samplingresult
15Cone Drawing
- To visualize Voronoi diagram for points in 2D
Perspective, 3/4 view
Parallel, top view
Dirichlet 1850 Voronoi 1908
16Graphics Hardware Acceleration
Our 2-part discrete Voronoidiagram representation
Simply rasterize the cones using graphics hardware
Depth Buffer
Color Buffer
Distance
Site IDs
Haeberli90, Woo97
17Outline
- Generalized Voronoi Diagram Computation
- Basic Idea
- Our Approach
- Meshing Distance Function
- Generalizations
- 3D
- Sources of Error
- Basic Queries
- Applications
- Conclusion
18The Distance Function
Evaluate distance at each pixel for all
sitesAccelerate using graphics hardware
Point
Line
Triangle
19Approximating the Distance Function
- Avoid per-pixel distance evaluationPoint-sample
the distance functionReconstruct by rendering
polygonal mesh
Point
Line
Triangle
20The Error Bound
Error bound is determined by the pixel
resolution ? ? farthest distance a point can be
from a pixel sample point
Close-up of pixel grid
21Meshing the Distance Function
Shape of distance function for a 2D point is a
cone
Need a bounded-error tessellation of the cone
22Shape of Distance Functions
Sweep apex of cone along higher-order site to
obtain the shape of the distance function
23Example Distance Meshes
24Curves
Tessellate curve into a polylineTessellation
error is added to meshing error
25Weighted and Farthest Distance
Nearest
Farthest
Weighted
263D Voronoi Diagrams
Graphics hardware can generate one 2D slice at a
time
Point sites
273D Voronoi Diagrams
Slices of the distance function for a 3D point
site
Distance meshes used to approximate slices
283D Voronoi Diagrams
Point
Line segment
Triangle
1 sheet of a hyperboloid
Elliptical cone
Plane
293D Voronoi Diagrams
Points and a triangle
Polygonal model
30Sources of Error
- Distance Error
- Meshing
- Tessellation
- Hardware Precision
- Combinatorial Error
- Distance
- Pixel Resolution
- Z-buffer Precision
31Adaptive Resolution
Zoom in to reduce resolution error...
32Outline
- Generalized Voronoi Diagram Computation
- Basic Idea
- Our Approach
- Basic Queries
- Nearest Site
- Boundary Finding
- Nearest-Neighbor Finding
- Maximally Clear Point
- Applications
- Conclusion
33Nearest Site
- Table lookup on query point
34Boundary Finding
- Isosurface extraction boundary walking
- Offset difference image to mark boundary pixels
35Nearest-Neighbor Finding
- Which colors touch in the image?
- Walk the boundaries (like boundary finding)
36Maximally Clear Point
- Point with the largest depth value (greatest
distance)
37Outline
- Generalized Voronoi Diagram Computation
- Basic Idea
- Our Approach
- Basic Operations
- Applications
- Motion Planning
- Medial Axis Computation
- Dynamic Mosaics
- Conclusion
38Real-time Motion Planning Static Scene
Plan motion of piano (arrow) through 100K
triangle model
Distance buffer of floorplan used as potential
field
39Real-time Motion Planning Dynamic Scene
Plan motion of music stand around moving furniture
Distance buffer of floor-plan used as potential
field
40Medial Axis Computation
Per-featureVoronoi diagram
Per-feature-colordistance mesh
Internal Voronoi diagram
41Dynamic Mosaics
1000 moving points
Source image
Dynamic Mosaic Tiling
Static mosaics by Paul Haeberli in SIGGRAPH 90
42Outline
- Generalized Voronoi Diagram Computation
- Basic Idea
- Our Approach
- Basic Operations
- Applications
- Conclusion
43Conclusion
- Meshing Distance Functions
- Graphics Hardware Acceleration
- Brute-force Approach
Fast and Simple, Approximate Generalized Voronoi
Diagrams Bounded Error
44Future Work
- Improve distance meshing for 3D primitives
- More applications
- Motion planning with more degrees of freedom
- Accelerate exact Voronoi diagram computation
- Surface reconstruction
- Medical imaging segmentation and registration
- Finite-element mesh generation
45Acknowledgements
- Sarah Hoff
- Chris Weigle
- Stefan Gottschalk
- Mark Peercy
- UNC Computer Science
- SGI Advanced Graphics
- Berkeley Walkthrough Group
46Acknowledgements
- Army Research Office
- National Institute of Health
- National Science Foundation
- Office of Naval Research
- Intel
47