![Page 1: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/1.jpg)
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
![Page 2: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/2.jpg)
What 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
![Page 3: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/3.jpg)
Ordinary • Point sites• Nearest Euclidean distance
Generalized• Higher-order site geometry• Varying distance metrics
Weighted Distances
Higher-orderSites
2.0
0.5
![Page 4: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/4.jpg)
Why 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
![Page 5: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/5.jpg)
Why 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
![Page 6: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/6.jpg)
What Makes Them Useful?“Ultimate” Proximity Information
Nearest Site Maximally Clear Path
Density Estimation Nearest Neighbors
![Page 7: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/7.jpg)
Outline
• Generalized Voronoi Diagram Computation– Exact and Approximate Algorithms– Previous Work– Our Goal
• Basic Idea• Our Approach• Basic Queries• Applications• Conclusion
![Page 8: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/8.jpg)
Generalized Voronoi Diagram Computation“Exact” Algorithms
Computes Analytic Boundary
Previous work• Lee82• Chiang92• Okabe92• Dutta93• Milenkovic93• Hoffmann94• Sherbrooke95• Held97• Culver99
![Page 9: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/9.jpg)
Previous 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
![Page 10: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/10.jpg)
Generalized Voronoi Diagram Computation
Analytic Boundary Discretize Sites Discretize Space
Exact Algorithm Approximate Algorithms
Previous workLavender92, Sheehy95, Vleugels 95 & 96, Teichmann97
![Page 11: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/11.jpg)
Previous Work: Approximate Algorithms
• Provide practical solutions
but...
• Difficult to error-bound• Restricted to static geometry• Relatively slow
![Page 12: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/12.jpg)
Our Goal
• Simple to understand and implement• Easily generalized• Efficient and practical
Approximate generalized Voronoi diagram computation that is:
with all sources of error fully enumerated
![Page 13: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/13.jpg)
Outline
• Generalized Voronoi Diagram Computation
• Basic Idea– Brute-force Algorithm– Cone Drawing– Graphics Hardware Acceleration
• Our Approach• Basic Queries• Applications• Conclusion
![Page 14: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/14.jpg)
Brute-force Algorithm
Record ID of the closest site to each sample
point
Coarsepoint-sampling
result
Finerpoint-sampling
result
![Page 15: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/15.jpg)
Cone Drawing
To visualize Voronoi diagram for points in 2D…
Perspective, 3/4 view Parallel, top view
Dirichlet 1850 & Voronoi 1908
![Page 16: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/16.jpg)
Graphics Hardware Acceleration
Our 2-part discrete Voronoidiagram representation
Distance
Depth Buffer
Site IDs
Color Buffer
Simply rasterize the cones using
graphics hardware
Haeberli90, Woo97
![Page 17: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/17.jpg)
Outline
• Generalized Voronoi Diagram Computation• Basic Idea
• Our Approach– Meshing Distance Function– Generalizations– 3D– Sources of Error
• Basic Queries• Applications• Conclusion
![Page 18: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/18.jpg)
The Distance Function
Point Line Triangle
Evaluate distance at each pixel for all sitesAccelerate using graphics hardware
![Page 19: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/19.jpg)
Approximating the Distance Function
Avoid per-pixel distance evaluationPoint-sample the distance functionReconstruct by rendering polygonal mesh
Point Line Triangle
![Page 20: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/20.jpg)
The 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
![Page 21: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/21.jpg)
Meshing the Distance Function
Shape of distance function for a 2D point is a cone
Need a bounded-error tessellation of the cone
![Page 22: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/22.jpg)
Shape of Distance Functions
Sweep apex of cone along higher-order site to obtain the shape of the distance function
![Page 23: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/23.jpg)
Example Distance Meshes
![Page 24: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/24.jpg)
Curves
Tessellate curve into a polylineTessellation error is added to meshing error
![Page 25: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/25.jpg)
Weighted and Farthest Distance
Nearest FarthestWeighted
![Page 26: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/26.jpg)
3D Voronoi Diagrams
Graphics hardware can generate one 2D slice at a time
Point sites
![Page 27: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/27.jpg)
3D Voronoi Diagrams
Slices of the distance function for a 3D point site
Distance meshes used to approximate slices
![Page 28: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/28.jpg)
3D Voronoi Diagrams
Point Line segment Triangle
1 sheet of a hyperboloid
Elliptical cone Plane
![Page 29: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/29.jpg)
3D Voronoi Diagrams
Points and a triangle Polygonal model
![Page 30: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/30.jpg)
Sources of Error
• Distance Error– Meshing– Tessellation– Hardware Precision
• Combinatorial Error– Distance– Pixel Resolution– Z-buffer Precision
![Page 31: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/31.jpg)
Adaptive Resolution
Zoom in to reduce resolution error...
![Page 32: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/32.jpg)
Outline
• Generalized Voronoi Diagram Computation• Basic Idea• Our Approach
• Basic Queries– Nearest Site– Boundary Finding– Nearest-Neighbor Finding– Maximally Clear Point
• Applications• Conclusion
![Page 33: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/33.jpg)
Nearest Site
Table lookup on query point
![Page 34: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/34.jpg)
Boundary Finding
• Isosurface extraction : boundary walking • Offset difference image to mark boundary pixels
![Page 35: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/35.jpg)
Nearest-Neighbor Finding
• Which colors touch in the image?• Walk the boundaries (like boundary finding)
![Page 36: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/36.jpg)
Maximally Clear Point
Point with the largest depth value (greatest distance)
![Page 37: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/37.jpg)
Outline
• Generalized Voronoi Diagram Computation• Basic Idea• Our Approach• Basic Operations
• Applications– Motion Planning– Medial Axis Computation– Dynamic Mosaics
• Conclusion
![Page 38: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/38.jpg)
Real-time Motion Planning : Static Scene
Plan motion of piano (arrow) through 100K triangle model
Distance buffer of floorplan used as potential field
![Page 39: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/39.jpg)
Real-time Motion Planning : Dynamic Scene
Plan motion of music stand around moving furniture
Distance buffer of floor-plan used as potential field
![Page 40: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/40.jpg)
Medial Axis Computation
Per-featureVoronoi diagram
Per-feature-colordistance mesh
Internal Voronoi diagram
![Page 41: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/41.jpg)
Dynamic Mosaics
Static mosaics by Paul Haeberli in SIGGRAPH ‘90
1000 moving points
Source image
Dynamic Mosaic Tiling
![Page 42: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/42.jpg)
Outline
• Generalized Voronoi Diagram Computation• Basic Idea• Our Approach• Basic Operations• Applications
• Conclusion
![Page 43: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/43.jpg)
Conclusion
Meshing Distance Functions
Graphics Hardware Acceleration
Brute-force Approach
Fast and Simple, ApproximateGeneralized Voronoi DiagramsBounded Error
+
![Page 44: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/44.jpg)
Future 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
![Page 45: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/45.jpg)
Acknowledgements
Sarah Hoff
Chris Weigle
Stefan Gottschalk
Mark Peercy
UNC Computer Science
SGI Advanced Graphics
Berkeley Walkthrough Group
![Page 46: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/46.jpg)
Acknowledgements
Army Research Office
National Institute of Health
National Science Foundation
Office of Naval Research
Intel
![Page 47: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha University](https://reader031.vdocuments.mx/reader031/viewer/2022032201/56649d4b5503460f94a280aa/html5/thumbnails/47.jpg)
Live Demo...