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

Post on 20-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Live Demo...