dr. marina gavrilova associate professor, department of computer science, university of calgary,...
Post on 28-Dec-2015
220 Views
Preview:
TRANSCRIPT
Dr. Marina Gavrilova
Associate Professor,Department of Computer Science, University
of Calgary, Calgary, Alberta, Canada.
Computational Geometry Algorithms:Voronoi Diagram and Delaunay
Triangulation
2
• General Research Areas
• Voronoi diagram introductions
• Voronoi diagram theory
• Application examples
• Conclusions
Lecture Overview
Computational Geometry in Action
Activities in Brief
Founder and Co-Director:
Biometric Technologies Laboratory, CFI SPARCS Laboratory for Spatial Analysis in
Computational Sciences, GEOIDE
Editor-in-Chief: International Journal LNCS Transactions on
Computational Sciences, Springer-Verlag
Guest Editor: Int. Journal of Computational Geometry and
Applications IEEE Robotics and Automation Magazine RAM
Activities in Brief
Chair and Co-Founder: International Conference on Computational Sciences and
Applications since 2003 International Workshop on Computational Geometry and
Applications (since 2001) Chair, the 3rd International Symposium on Voronoi
Diagrams and Applications 06
Author of new books:S. Yanushkevich, M. Gavrilova, P. Wang and S. Srihari "Image Pattern Recognition: Synthesis and Analysis in Biometrics," Series in Machine Perception and Artificial Intelligence, World Scientific Bestseller, 2007
M. Gavrilova “Computational Intelligence: A Geometry-Based Approach,” Series on Studies in Computational Intelligence, Springer-Verlag, 2008
Areas of Research
Biological systems modeling Molecular systems
representation and analysis Geographical Information
Systems Biometric analysis and
synthesis Granular-type materials
simulation
Topological properties of data sets
Terrain rendering and surface triangulation
Path planning and obstacle avoidance
Robotics and Navigation Autocorrelation analysis Spatial-temporal models Nearest neighbor properties Terrain reconstruction and
triangulation
Areas of Research
Biometric research Porous materials
Dynamic data structures (with I.
Kolingerova)
Coral models (with J. Kaandorp)
Terrain modeling
Lipid bi-layers and molecular modeling (with N.N. Medvedev)
Voronoi Diagrams – A Brief Overview
M. Moriguchu and K. Sugihara, Japan
Deok-Soo Kim, Korea
C. Gold and M. Dakowicz, UK
A. Mukhopadhyay, S. Das, CanadaL. Wang et. al. China
Tetsuo Asano, Japan
T. Taylor and I. Vaisman, USA
James Dean Palmer, USA
P. Bhattacharya and M. Gavrilova, Canada
Voronoi diagrams in selected applications (ISVD 2006)
Craig S. Kaplan, University of Waterloo, Canada
Voronoi diagrams in tiling (ISVD 2006)
Jos Leys, Belgium
Voronoi diagram and Delaunay Tessellation
Voronoi diagram is one of the fundamental computational geometry data structures that stored proximity information for a set of obejcts. It’s dual structure, often used in computer graphics, is Delaunay Tessellation.
A generalized Voronoi diagram (GVD) for a set of objects in space is the set of generalized Voronoi regions
where d(x,P) is a distance function between a point x and a site P in the d-dimensional space.
}{\,,, PSQQdPdPVor xxx
Delaunay Tessellation
A generalized Delaunay tessellation (triangulation in 2d) is the dual of the generalized Voronoi diagram obtained by joining all pairs of sites whose Voronoi regions share a common Voronoi edge according to some specific rule.
Delaunay simplex (tetrahedron in 3D) defines a simplicial configuration of spheres and a void (empty space) between spheres.
Delaunay Triangle and Void
Empty volume
Voronoi diagram and Delaunay triangulation in 2D
Under assumptions that no four sites from the object (generator) set S are cocircular:
Voronoi vertex is the intersection of 3 Voronoi edges and a common point of 3 Voronoi regions
Voronoi vertex is equidistant from 3 sites. It lies in the center of a circle inscribed between 3 cites
Empty circle property This inscribed circle is empty, i.e. it does not contain any other sites
Nearest-neighbor property If Q is the nearest neighbor of P then their Voronoi regions share an edge (to find a nearest neighbor it is sufficient to check only neighbors in the VD)
Main properties of the Voronoi Diagram
Under assumptions that no three sites from the set S (generator) lie on the same straight line:
The straight-line dual of the Voronoi diagram is a triangulation of S
The circumcircle of any Delaunay triangle does not contain any points of S in its interior
If each triangle of a triangulation of the convex hull of S satisfies the empty circle property, then this triangulation is the Delaunay triangulation of S .
If Q is the nearest neighbor of P then their Voronoi regions share an edge (to find a nearest neighbor it is sufficient to check only neighbors in the VD).
Main properties of the Delaunay Triangulation
Distance metrics for Voronoi Diagrams
General Lp distance
Manhattan
Supremum
Manalanobis
ppd
iii pxd
/1
1
),(
px
d
iii pxd
1
),( px
iidi
pxd ..1
max),( px
)()()(),( 1 pxDCovpxpxd
Euclidean
Mahalanobis
Euclidean Euclidean
Mahalanobis Mahalanobis
Manhattan
Supremumm
Voronoi diagrams
• VD: Thiessen polygons, Delaunay triangulations, tessellations
Tessellation
• Tessellation is often obtained using Delaunay triangulation.
Voronoi diagram
• Given a set of N sites (points) in the plane or a 3D space
• Distance function d(x,P) between point x and site P is defined according to some metric
• Voronoi region Vor(P) is the set of all points which are closer to P than to any other site
• Voronoi diagram is the union of all Voronoi regions
Voronoi Diagram
Voronoi diagram
Definition 1 For a finite set dES , a Voronoi diagram (VD) of S associates to eachSp a Voronoi region )(pVor such that
}}{),,(),(|{)( pqqxpxxp SddEVor d ,
where ,d denotes the Euclidean distance function [Okabe et. al. 92].
Voronoi diagram
C o n s i d e r t h e b i s e c t o r ),(),(),( xqxpxqp ddB b e t w e e n t w o s i t e s Sqp , o f a
V o r o n o i d i a g r a m i n dE . T h e b i s e c t o r d i v i d e s t h e s p a c e i n t o t w o h a l f s p a c e s . D e n o t e t h e
h a l f s p a c e t h a t c o n t a i n s t h e p o i n t p a s ),(),(),( xqxpxqp ddH . B y d e f i n i t i o n t h i s
h a l f s p a c e a l s o c o n t a i n s t h e b i s e c t o r ),( qpB .
D e f i n i t i o n 2 F o r a f i n i t e s e t dES , a V o r o n o i d i a g r a m o f S i s t h e c o l l e c t i o n o f a l l V o r o n o i
r e g i o n s SVor pp ),( s u c h t h a t
pq
qpp
S
HVor ),()( [ O k a b e e t . a l . 9 2 ] .
Voronoi diagram properties
Assumption 1. No four points from the set S are cocircular.
Property 1. Voronoi vertex is the intersection of 3 Voronoi edges and a common point of 3 Voronoi regions
Property 2. Voronoi vertex is equidistant from 3 sites. It lies in the center of a circle inscribed between 3 cites
Property 3. Empty circle property This inscribed circle is empty, i.e. it does not contain any other sites
Property 4. Nearest-neighbor property If Q is the nearest neighbor of P then their Voronoi regions share an edge (to find a nearest neighbor it is sufficient to check only neighbors in the VD)
Property 5. Voronoi region Vor(P) is unbounded if and only if P belongs to the boundary of convex hull of S.
VD properties
Property 1. A Voronoi vertex v is the intersection of 3 Voronoi edges and a common point of3 Voronoi regions.
1) assume 3)deg(v .
3,,...
...,,, 321
npvd
pvdpvdpvd
n
Contradicts the non-circumcircularity assumption.
2) assume 3)deg(v . Then both edges are parts of the bisector
21,ppB . Both edges lie on the same line. Then v is not avertex.
v
1p
np3p
2p
v
1p
2p
VD properties
Property 2. Voronoi vertex is equidistant from 3 sites. It lies in the centerof a circle inscribed between 3 cites.
321 ,,, pvdpvdpvd
v
1p
3p
2p
VD properties
Property 3 (empty circle property). The inscribed circle is empty, i.e. it does notcontain any other sites.
1) assume a site q lies inside the inscribed circle C.
Then 1,, pvdrqvd C . This contradicts the fact
that 1pVorv .
2) assume q lies on the boundary of the inscribed circle.
Then 321 ,,,, pvdpvdpvdqvd . This
contradicts non-circumcircularity assumption.
v
1p
3p
2p
q
VD properties
Property 4 (Nearest-neighbor property). If q is the nearest neighbor of p then their
Voronoi regions share an edge (to find a nearest neighbor it is sufficient to check onlyneighbors in the VD)
Assume pVor and qVor don't have common
points. Segment pq crosses the boundary of pVorat a point x. Assume x belongs to the Voronoi edge
between pVor and sVor .
qxdpxdqpd ,,, ,
sxdpxdspd ,,, , sxdqxd ,, because qVorxsVorx ,
Then spdqpd ,, – contradicts the fact that q is the nearest neighbor of p.
p s
q
x
VD properties
Property 5. Voronoi region pVor is unbounded if and only if p belongs to the boundary of
the convex hull SCH.
1) assume SCHp . Select a ray pVorr . r will
intersect the boundary of SCH. Assume r intersects a
segment 21ss . It is easy to show that if rx, xthen either pxdsxd ,,1 or
pxdsxd ,,2 .
Contradicts the fact that pVorx
2) if SCHp then it is possible to draw a line l through p such thatall sites of S lie on the same side of l. Select a ray lr originating atp. It is easy to show that any rx is closer to p than to any other site.
Then pVorr , i.e. pVor is unbounded.
p xr
s2
s1
p
x
r
l
Delaunay triangulation
Definition 3. A Delaunay triangulation (DT) is the straight-line dual of the Voronoi diagram obtained by joining all pairs of sites whose Voronoi regions share a common Voronoi edge [Delaunay 34].
Follows from the definition:
• If two Voronoi regions Vor(P) and Vor(Q) share an edge, then sites P and Q are connected by an edge in the Delaunay triangulation
• If a Voronoi vertex belongs to Vor(P), Vor(Q) and Vor(R), then DT contains a triangle (P,Q,R)
Delaunay triangulation
DT propertiesAssumption 2. No three points from the set S lie on the same
straight line.
Theorem. The straight-line dual of the Voronoi diagram is a triangulation of S [Preparata and Shamos 85].
Property 5. The circumcircle of any Delaunay triangle does not contain any points of S in its interior [Lawson 77].
Property 6. If each triangle of a triangulation of the convex hull of S satisfies the empty circle property, then this triangulation is the Delaunay triangulation of [Lawson 77].
DT properties
The edge of the quadrilateral satisfies the local min-max criterion if the following equation holds:
A triangulation satisfies the global min-max criterion if every internal edge of a convex quadrilateral in the triangulation satisfies the local min-max criterion.
Property 8. The Delaunay triangulation satisfies the global min-max criterion [Lawson 77].
Property 9. If a triangulation of the convex hull of satisfies the global min-max criterion then it is the Delaunay triangulation of [Lawson 77].
)(min)(min ii
ii
b
c
d
a
b
c
d
a
VD and DT
Property 7 For the Voronoi diagram of n points on the plane and its dual
Delaunay triangulation the following relationships are true when 3n :
nvDT ,
63 nee VDDT ,
52 nvf VDDT ,
where VDv and DTv represent the number of vertices in VD and DT,
correspondingly, VDe and DTe represent the number of edges in VD and DT
and DTf is the number of triangles in DT
VD and DT
• Both DT and VD effectively represent the proximity information for the set of sites. They can be easily transformed into each other.
• VD contains geometrical information, while DT contains topological information.
Generalized Voronoi diagram
• Given a set S of n sites (spheres) in d-dimensional space
• Distance function d(x,P) between a point x and a site P is defined.
Generalized Voronoi diagram
A generalized Voronoi diagram (GVD) for a set of objects in space is
the set of generalized Voronoi regions
where d(x,P) is a distance function between a point x and a site P in the
d-dimensional space.
}{\,,, PSQQdPdPVor xxx
Generalized Delaunay tessellation
A generalized Delaunay triangulation (GDT) is the dual of the generalized Voronoi diagram obtained by joining all pairs of sites whose Voronoi regions share a common Voronoi edge.
General metrics
Generalized distance functions
Power
Additively weighted
– Euclidean
– Manhattan
– supremum
22),(),( pp rdPd pxx
pe rdPd ),(),( pxx
p
d
iii rpxPd
1),(x
p
d
iii rpxPd
1
2)(),(x
piidi
rpxPd ..1max),(x
x
P
d(x,P)
P
x Pd ,x
P
x
pr
Pxd ,
P
x
pr
Pxd ,
Power and Euclidean Voronoi diagrams
P Q
B(P,Q)
Euclidean bisectorPower bisector
Power diagram and Delaunay triangulation
P Q
B(P,Q)
Euclidean diagram and Delaunay triangulation
Manhattan and Supremum VD
Supremum bisectorsManhattan bisectors
Manhattan diagram and Delaunay triangulation
Supremum diagram and Delaunay triangulation
Properties of Generalized VD and DT
• The vertex of generalized Voronoi diagram is a center of a sphere inscribed between d +1 Voronoi sites (spheres).
• The inscribed sphere is empty, i.e. it does not contain any other sites.
• One of the facets of the generalized Voronoi region Vor(P) defines a nearest-neighbor of P.
• A Voronoi region Vor(P) is unlimited if and only if site P belongs to the convex hull of S.
• The sphere inscribed between the sites comprising a simplex of generalized Delaunay tessellation is an empty sphere.
• The power Delaunay tessellation of a set of spheres S is a tetrahedrization.
Algorithmic Strategies
• Incremental
• Divide-and-conquer
• Sweep-line/plane
• Dimension reduction
• Geometric decomposition
Part 2
• Algorithm development techniques on example of Voronoi Diagrams
• Incremental construction• Divide and conquer• Sweep-plane• Geometric transformations• Dynamic data structures
Incremental construction
INCIRCLE condition
power
Euclidean
Supremum
Polynomial of 4th order in the plane
Polynomial of 8th order in the plane
System of linear equations and inequalities in the plane
Incremental construction
• Incremental method outline–Insert new site P–Perform swap operations on quadrilaterals
where the empty-sphere condition is not satisfied
Method complexity is O(n2) in the plane.
Sweep-plane algorithm
• Algorithm description
– Throw pebbles in the water
– Intersection of waves gives the Voronoi diagram
– Add time as 3rd dimension: waves transform to pyramids.
– Sweep pyramids with the sweep-plane to get the Voronoi diagram
Sweep-plane algorithm
• Properties
– The complexity of the sweep-plane algorithm in generalized Manhattan metric is O(n log n).
– Sweep-plane method is not applicable to the power diagram construction.
Sweep-plane algorithm
• An example of a sweep-plane construction of a Voronoi diagram in L1 metric
Cones in L1
Sweep-plane algorithm
Sweeping the cones
Sweep-plane algorithm
Parabolas
sweep direction
Sweep-plane algorithm
Site event
Sweep-plane algorithm
Site event
Sweep-plane algorithm
two half-bisectors are createdone is growing
Sweep-plane algorithm
The half-bisector changes its direction
Sweep-plane algorithm
Site event2 half-bisectors created
Sweep-plane algorithm
The half-bisectorChanges its direction
Sweep-plane algorithm
Circle eventTriangle added to DT
2 half-bisectors deleted1 half-bisector created
Sweep-plane algorithm
Half-bisectorchanges its
direction
Sweep-plane algorithm
No moreevents
Sweep-plane algorithm
Resulting Voronoi diagram and Delaunay triangulation
Sweep-plane algorithm
Sweep-plane algorithm
Waves in Manhattan metric Waves in
power metric
Swap method: from VD to power diagram
• Relationship between Voronoi bisector and power bisector:• The power bisector is moved relative to the Voronoi bisector by
Bisector transformation
),(2
22
qpd
rr qp
Swap method: from VD to power diagram
• Algorithm overview– Inflate VD sites
– Transform edges of VD
– Perform INCIRCLE test on quadrilaterals and perform swap operations if needed.
The worst-case complexity of algorithm is O(n2).
Swap method
• Voronoi to power
(a)
p
(b)
p
e e
e *
1
p
p
p
2
13
4
2
p
p
p3
4
e *
Dynamic data structures – swap application
Dynamic data structures – swap application
Approach–construct and maintain a dynamic Delaunay triangulation for the
set of moving disks (in some metric). –Collisions checks are performed only along the Delaunay edges.
Dynamic VD and DT
Problem
• Given a set of N moving and/or changing (i.e. growing) sites
• Construct the VD (DT) for the set
• Maintain the VD (DT) dynamically
Dynamic VD and DTDynamic Voronoi diagram
Dynamic Delaunay triangulation
Dynamic VD and DT
• Dynamic DT is easier to maintain than dynamic VD in a sense that the coordinates of VD vertices must be calculated, while coordinates of DT vertices (the sites) are already known for any moment of time
• As sites move, the topological structure of DT (and VD) changes only at discrete moments of time, which are called topological events.
• Topological event involves swapping of the diagonal in a quadrilateral in the DT
• In the VD corresponding edge shrinks to zero and another edge starts to grow
Swap condition
INCIRCLE P P P P( , , , )1 2 3 4 0 INCIRCLE P P P P( , , , )1 2 3 4 0 INCIRCLE P P P P( , , , )1 2 3 4 0
P1
P2
P3
P4
P1
P2
P3
P4
P1
P2
P3
P4
INCIRCLE test
1. Power metric x y x y r
x y x y r
x y x y r
x y x y r
poly trajectory
1 1 12
12
12
2 2 22
22
22
3 3 32
32
32
4 4 42
42
42
4
1
1
1
1
( )
To determine the swap time we have to solve INCIRCLE P t P t P t P t( ( ), ( ), ( ), ( ))1 2 3 4 0
2. Euclidean metric
x x r r p
x x r r p
x x r r p
r x y y p
r x y y p
r x y y p
x x y y p
x x y y p
x x y y p
p x x y y r r i
poly trajectoryi i i i
1 4 1 4 1
2 4 2 4 2
3 4 3 4 3
21 4 1 4 1
2 4 2 4 2
3 4 3 4 3
21 4 1 4 1
2 4 2 4 2
3 4 3 4 3
2
42
42
42
8
1 2 3
, , ,
( )
3. Manhattan metric (L)
INCIRCLE P t P t P t P t linear trajectory( ( ), ( ), ( ), ( )) ( )1 2 3 4
Dynamic DT maintenance
• Preprocessing– Construct the static Delaunay triangulation for the original site
distribution– For every quadrilateral in DT calculate the potential topological
event. Insert all such events into the priority event queue sorted according to the time order
• Iteration– Take the next event from the event queue– Perform the swap operation and update the data structure– Delete topological events planned for the four disappearing
quadrilaterals from the event queue.– Compute the new topological events for the four new
quadrilaterals and insert them into the queue.
Algorithm complexity
• Time– Constructing initial static DT - O(N log N)– Each swap - O(1)– Insertion into the priority queue - O(log N)– Deletion from the queue can be performed in O(1)– Number of topological events depends on the trajectories of moving
sites. It can vary from from O(1) up to O(n3)– and even to infinity (in the case of periodic trajectories)– When sites do not move, but just grow, we conjecture that the number
of topological events will not be greater than O(N) in general case.• Space
– DT occupies O(N)– Queue requires O(N) because only one event can be scheduled for each
edge in the DT
Clustering: the CRYSTAL Algorithm
Detecting a cluster boundary
Vertex Vi
Mean of incident edge lengths of Vi > 1.6 * Average cluster edge length?
Boundary vertex
Inner point of the cluster
Boundaryvertex
Enqueue( Q, vk )C ← vk
tot_dist ← 0
avg ← AvgadjEdgeLen( vk )AvgadjEdgeLen( vi ) – Average of the length of edges incident on a vertex vi
d ← Head( Q )L ← 1st-order neighbors of d sorted by edge lengthFor all Li є L do C ← C U Li
tot_dist ← tot_dist + EdgeLen( d, Li )
avg ← tot_dist / (Size( C ) - 1) If Not a boundary vertex and Not connected to a boundary vertex then
Enqueue( Q, Li ) End IfEnd For
EdgeLen( vi , vj ) – Euclidean distance between vertices vi and vj
Dequeue(Q)
Q = Φ ?Y Perform sweep and
consider next vertexN
Grow cluster phase
78
Example Processing
79
Sample output
Original dataset (n = 8,000)
CRYSTAL output (Th = 2.4)
Computational Geometry Algorithms for Clearance-based Path Planning
Voronoi diagram based roadmap
(a) Shortest path from Voronoi diagram based roadmap (based on VD edges)(b) Shortest path using developed algorithm (Cmin = 0).(c) Clearance based path using proposed algorithm (Cmin = 2). Zoomed path on right.
82
Tools: Visibility graphs
• Used to plan shortest paths. Constructed in O (n2 log n) time, where n is the total number of obstacle vertices.
• Output-sensitive O (n log n + k) algorithm exists for construction where k is the number of edges in visibility graph.
Resulting paths have
no clearance
VD and visibility graph roadmaps
84
Flow diagram of the Voronoi diagram based algorithm
Voronoi diagram based path -illustration
Voronoi diagram Roadmap extracted
86
More examples
Clearance = 12
Clearance = 0
Clearance = 7
Clearance = 0
Clearance = 8
Clearance = 0
87
Underlying hierarchical data structure
Review• Define VD and DT• List main VD properties• List main DT properties• Explain generalizations (in space, distance
metric, site type)• Explain CCW and In-Circle test• What is dynamic VD?• Explain main algorithmic approaches for DT
constructions.
top related