88
Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms: Voronoi Diagram and Delaunay Triangulation

Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Embed Size (px)

Citation preview

Page 1: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Dr. Marina Gavrilova

Associate Professor,Department of Computer Science, University

of Calgary, Calgary, Alberta, Canada.

Computational Geometry Algorithms:Voronoi Diagram and Delaunay

Triangulation

Page 2: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

2

• General Research Areas

• Voronoi diagram introductions

• Voronoi diagram theory

• Application examples

• Conclusions

Lecture Overview

Page 3: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Computational Geometry in Action

Page 4: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 5: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 6: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 7: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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)

Page 8: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Voronoi Diagrams – A Brief Overview

Page 9: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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)

Page 10: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

                 

 

                 

 

                 

 

                 

 

                 

 

                 

 

                 

 

                 

 

                 

 

                 

 

                 

 

                 

 

Craig S. Kaplan, University of Waterloo, Canada

Voronoi diagrams in tiling (ISVD 2006)

Jos Leys, Belgium

Page 11: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 12: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 13: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Delaunay simplex (tetrahedron in 3D) defines a simplicial configuration of spheres and a void (empty space) between spheres.

Delaunay Triangle and Void

Empty volume

Page 14: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Voronoi diagram and Delaunay triangulation in 2D

Page 15: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 16: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 17: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 18: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Voronoi diagrams

• VD: Thiessen polygons, Delaunay triangulations, tessellations

Page 19: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Tessellation

• Tessellation is often obtained using Delaunay triangulation.

Page 20: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 21: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Voronoi Diagram

Page 22: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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].

Page 23: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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 ] .

Page 24: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 25: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 26: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 27: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 28: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 29: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 30: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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)

Page 31: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Delaunay triangulation

Page 32: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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].

Page 33: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 34: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 35: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 36: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 37: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 38: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 39: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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 ,

Page 40: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 41: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Manhattan and Supremum VD

Supremum bisectorsManhattan bisectors

Manhattan diagram and Delaunay triangulation

Supremum diagram and Delaunay triangulation

Page 42: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 43: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Algorithmic Strategies

• Incremental

• Divide-and-conquer

• Sweep-line/plane

• Dimension reduction

• Geometric decomposition

Page 44: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Part 2

• Algorithm development techniques on example of Voronoi Diagrams

• Incremental construction• Divide and conquer• Sweep-plane• Geometric transformations• Dynamic data structures

Page 45: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 46: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 47: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 48: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 49: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Sweep-plane algorithm

• An example of a sweep-plane construction of a Voronoi diagram in L1 metric

Page 50: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Cones in L1

Sweep-plane algorithm

Page 51: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Sweeping the cones

Sweep-plane algorithm

Page 52: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Parabolas

sweep direction

Sweep-plane algorithm

Page 53: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Site event

Sweep-plane algorithm

Page 54: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Site event

Sweep-plane algorithm

Page 55: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

two half-bisectors are createdone is growing

Sweep-plane algorithm

Page 56: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

The half-bisector changes its direction

Sweep-plane algorithm

Page 57: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Site event2 half-bisectors created

Sweep-plane algorithm

Page 58: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

The half-bisectorChanges its direction

Sweep-plane algorithm

Page 59: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Circle eventTriangle added to DT

2 half-bisectors deleted1 half-bisector created

Sweep-plane algorithm

Page 60: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Half-bisectorchanges its

direction

Sweep-plane algorithm

Page 61: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

No moreevents

Sweep-plane algorithm

Page 62: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Resulting Voronoi diagram and Delaunay triangulation

Sweep-plane algorithm

Page 63: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Sweep-plane algorithm

Waves in Manhattan metric Waves in

power metric

Page 64: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 65: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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).

Page 66: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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 *

Page 67: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 68: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 69: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Dynamic VD and DTDynamic Voronoi diagram

Dynamic Delaunay triangulation

Page 70: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 71: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 72: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 73: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 74: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 75: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Clustering: the CRYSTAL Algorithm

Page 76: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 77: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 78: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

78

Example Processing

Page 79: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

79

Sample output

Original dataset (n = 8,000)

CRYSTAL output (Th = 2.4)

Page 80: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Computational Geometry Algorithms for Clearance-based Path Planning

Page 81: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.

Page 82: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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

Page 83: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

VD and visibility graph roadmaps

Page 84: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

84

Flow diagram of the Voronoi diagram based algorithm

Page 85: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

Voronoi diagram based path -illustration

Voronoi diagram Roadmap extracted

Page 86: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

86

More examples

Clearance = 12

Clearance = 0

Clearance = 7

Clearance = 0

Clearance = 8

Clearance = 0

Page 87: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

87

Underlying hierarchical data structure

Page 88: Dr. Marina Gavrilova Associate Professor, Department of Computer Science, University of Calgary, Calgary, Alberta, Canada. Computational Geometry Algorithms:

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.