Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim...

47
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

description

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. What is a Voronoi Diagram?. - PowerPoint PPT Presentation

Transcript of Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim...

Page 1: Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware Kenneth E. Hoff III, Tim Culver, John Keyser, Ming Lin, and Dinesh Manocha

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 HillSIGGRAPH ‘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

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

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

Why Should We Compute Them?It is a fundamental concept

Descartes Astronomy 1644 “Heavens”Dirichlet Math 1850 Dirichlet tesselationVoronoi Math 1908 Voronoi diagramBoldyrev Geology 1909 area of influence polygonsThiessen Meteorology 1911 Theissen polygonsNiggli Crystallography 1927 domains of actionWigner & Seitz Physics 1933 Wigner-Seitz regionsFrank & Casper Physics 1958 atom domainsBrown Ecology 1965 areas potentially availableMead Ecology 1966 plant polygonsHoofd et al. Anatomy 1985 capillary domainsIcke 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

Why Should We Compute Them?Useful in a wide variety of applications

Collision DetectionSurface ReconstructionRobot Motion Planning

Non-Photorealistic RenderingSurface Simplification

Mesh GenerationShape 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conclusion

Meshing Distance FunctionsGraphics Hardware AccelerationBrute-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

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

Acknowledgements

Sarah HoffChris Weigle

Stefan GottschalkMark Peercy

UNC Computer ScienceSGI 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

Acknowledgements

Army Research OfficeNational Institute of Health

National Science FoundationOffice 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

Live Demo...