Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione...

83
Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo d Diagramma di Voronoi Duccio Mugnaini 1 - [email protected] 1 Dipartimento di Scienza e Alta Tecnologia (DiSTA) Università degli Studi dell’Insubria Metodi numerici per la grafica :: Geometria computazionale Duccio Mugnaini - [email protected] Universities of Diagramma di Voronoi

Transcript of Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione...

Page 1: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Diagramma di Voronoi

Duccio Mugnaini1

[email protected]

1Dipartimento di Scienza e Alta Tecnologia (DiSTA)Università degli Studi dell’Insubria

Metodi numerici per la grafica :: Geometria computazionale

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 2: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Outline

I Introduzione

I Definizioni di base

I Proprietà strutturali

I Fortune’s Sweep Algorithm

I Applicazione: path planning problem

I Applicazioni: smallest-width annulus problem

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 3: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Referenze

Mark DeBerg, Otfried Cheong, Mark Van Kreveld, Mark Overmars, Computational Geometry,Third Edition 2008, Springer.

I calcolo del convex hull ;I intersezioni fra segmenti;I intersezioni di semipiani;I point location queries;I Voronoi Diagram e triangolazioni di Delaunay;I metodologie di base per il motion planning;I . . .

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 4: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Section 1

Introduzione

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 5: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Social geography

Market problem

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Esempio di geografia socialIn quale località è maggiormenteconveniente aprire un supermercato?É necessario stimare il numero di clientiche saranno attratti dal nuovosupermercato.

Page 6: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Social geography

Market problem

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Assunzioni del problema:I medesimo prezzo in ogni sito;I il costo di un bene o servizio è

uguale al costo del bene più ilcosto di trasporto al sito;

I il costo di trasporto è uguale alladistanza euclidea al sitomoltiplicato un prezzo fissato perunità di distanza;

I i consumatori cercano diminimizzare il costo di beni eservizi.

Il ModelloLe assunzioni effettuate nonrispecchiano esattamente la realtà mapossono comunque fornire una rozzaapprossimazione.

Page 7: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Social geography

Market problem

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

RisultatoLe assunzioni del modelloportano a una suddivisionedell’area in cui ogni gliabitanti della stessa regionesi recheranno nello stessomarket.

Page 8: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Applicazioni

Applicazioni I

I contesti in cui il diagramma di Voroni è stato utilizzato con successo sono svariati:I Torrette di osservazioni anticendio: il Voronoi Diagram traccia le linee di responsabilità

tra le aree di foresta per ogni torretta;I Archeologia: individuazione di regioni sotto l’influenza di clan neolitici differenti, centri

cerimoniali o fortini di guerra;I Cartografia: incollare insieme fotografie satellitari in grandi mappe costruite come

mosaici di immagini;I Robotica: path planning in presenza di ostacoli;I Zoologia: modellare e analizzare il territorio degli animali;I Fisiologia: analisi della distribuzione capillare in sezioni di tessuto muscolare per

calcolare il trasporto di ossigeno.

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 9: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Applicazioni

Applicazioni II

Numerosi altri contesti in cui il diagramma di Voronoi è stato applicato con successo sonoreperibili:

I https://www.ics.uci.edu/ eppstein/gina/scot.drysdale.htmlI Joseph O’Rourke, Computational geometry in C, Cap.5, Second Edition, Cambridge

Press.

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 10: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Section 2

Definizioni di base

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 11: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Concetti di base

I Distanza euclidea;

I Cella di pi ;

I Diagramma di Voronoi di P - Vor(P);

I Bisettore fra p e q;

I Semipiano di p e p;

I Ottenere la cella di pi .

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 12: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Concetti di base

Definizioni

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Distanza euclidea d(p,q)Dati due punti nel piano

p = (px ,py )T q = (qx ,qy )T

Si definisce distanza euclidea:

d(p,q) =√

(px −qx )2 + (py −qy )2

Page 13: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Concetti di base

Definizioni

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Diagramma di Voronoi di PDato un insieme finito di punti (o siti) nelpiano

P = {p1,p2, . . .pn}

il diagramma di Voronoi (Vor(P)) è l’insiemedi n celle V(pi ), i = 1 . . .n tc:

q ∈V(pi )⇔ d(q,pi )< d(q,pj ) ∀pj ∈P j 6= i

In cui V(pi ) denota la cella assocciata alpunto pi .

Page 14: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Concetti di base

Definizioni

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Bisettore di p e qDati due punti p e q nel piano, definiamo ilbisettore di p e q come la retta passante peril punto medio tra p e q e perpendicolare alsegmento pq

Semi–piano di pIndichiamo il semipiano contenente p conh(p,q).

Semi–piano di qIndichiamo il semipiano contenente q conh(q,p). ⇒ dato un punto r nel piano,

r ∈ h(p,q)⇔ d(r ,p) < d(r ,q)

Page 15: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Concetti di base

Definizioni

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Osservazione

V(pi ) =⋂

1≤j≤n, j 6=i

h(pi ,pj )

La cella di Voroni relativa al punto pi siottiene come l’intersezione di tutti i semipianih(pi ,pj ).⇒ (n−1) intersezioni di semi–piani;⇒ regione poligonale convessa limitata (oillimitata) da al più:

I (n−1) lati;I (n−1) vertici.

⇒ il diagramma di Voroni risultante avràcome lati segmenti di retta o semirette;eccetto il caso in cui i punti siano tutticollineari nessun lato sarà una rettacompleta (ma al più una semiretta).

Page 16: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Section 3

Proprietà strutturali

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 17: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Caratterizzazione della struttura di Vor(P)

Struttura di Vor(P)

Caratterizzazione struttura di Vor(P)Sia P = {p1,p2, . . .pn} insieme di punti distinti nel piano.Allora abbiamo che Vor(P):

1) è composto da n−1 rette parallele se tutti i punti sono collineari;

2) è connesso e i lati sono o segmenti o semi–rette altrimenti;

Dim:

1) Semplice da dimostrare;

2) Dimostrare prima che i lati sono tutti semirette o segmenti esuccessivamente che è connesso;

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 18: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Caratterizzazione di lati e vertici di Vor(P)

Complessità di Vor(P)Caratterizzazione complessità di Vor(P)Dato un insieme di punti nel piano P = {p1,p2, . . .pn} con n ≥ 3, valgono le seguenti relazioni:

# vertici di Vor(P) = nv ≤ 2n−5

# lati di Vor(P) = nl ≤ 3n−6

Dim:

I Trattiamo il caso di punti non collineari;I Utilizziamo la formula di Eulero relativa ai grafi planari connessi:

mv −ml + mf = 2

in cui:I mv : numero di nodi;I ml : numeri di archi;I mf numeri di faccie.

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 19: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Caratterizzazione di lati e vertici di Vor(P)

Complessità di Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

I Per poter applicare la formula diEulero aggiungiamo un vertice v∞

ottenendo il grafo aumentato G′. SiaV l’insieme dei vertici del grafoaumentato e deg(v) v ∈ V il grado diun vertice (ovvero il numero di latiincidenti su di esso). Indichiamoinoltre con nv ,nl rispettivamente ilnumero di vertici e lati che compongoG′:

(nv + 1)−nl + n = 2

I Adesso ogni lato del grafo haesattamente 2 vertici, e sapendo cheogni vertice ha almeno grado 3(deg(v)≥ 3 ∀v ∈ V ) otteniamo:

2nl = ∑v∈V

deg(v)≥ 3(nv + 1)

Page 20: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Caratterizzazione della struttura di V(P)

Struttura di Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Quali porzioni di bisettori compongonoVor(P)?Quali intersezioni compongono Vor(P)?

Definizione di Cp(q)

La più grande circonferenza di q rispetto aP, denotata con Cp(q), è la circonferenza diraggio massimo centrata in q che noncontiene nessun sito pi ∈ P al suo interno.

Page 21: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Caratterizzazione della struttura di V(P)

Struttura di Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

TeoremaDati un insieme di punti nel piano P = {p1,p2, . . .pn}, per il relativodiagramma di Voronoi Vor(P) valgono le seguenti proprietà:

a) un punto q nel piano è un vertice di Vor(P)⇔ Cp(q) contiene 3o più punti sul suo perimetro;

b) Il bisettore tra due siti pi e pj definisce un lato di Vor(P)⇔ ∃ qsul bisettore tale che Cp(q) contiene sia pi ,pj sul suo perimetroma nessun altro sito.

Page 22: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Section 4

Vor(P) Sweep Algorithm

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 23: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Idea

Algoritmo Naivefor each pi ∈ P

V(pi ) = R2;for each pj ∈ P

V(pi ) = V(pi )∩h(pi ,pj )end

end⇒ O(n2 logn). Migliorabile?

Fortune’s Algorithm O(n logn)Algoritmo sweep line:

I spazzata dall’alto verso il basso;I durante la spazzata vengono mantenute informazioni sulla struttura;I le informazioni vengono aggiornate negli event point.

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 24: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Informazioni da mantenere

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Quali informazioni mantenere durante ladiscesa?Idea: mantenere informazioni riguardo alleintersezioni di Vor(P) fino a dove la sweepline ` è arrivata ma non è possibile.

Soluzione: mantenere informazioniriguardo la struttura di Vor(P) relative ai sitial di sopra di ` che non possono esseremodificate.In altre parole mantere la rappresentazionedel luogo dei punti che sono più vicini adun qualche sito pi al di sopra dellasweepline, piuttosto che alla sweeplinestessa (e quindi a qualsiasi altro sito al disotto della sweepline).

Page 25: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Parabola βi

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Per quale punto q ∈ l+ sappiamo percerto il p ∈ P ad esso più vicino?Dato pi ∈ `+ ∩PSe dist(q,pi )≤ dist(q, l)⇒ allorasappiamo per certo che il più vicino sito nonrisiede al di sotto di ` .

Dato q ∈ `+, se ∃p+i ∈ `+⇒ q non

appartiene a celle di Vor(P) relative aivertici appartenenti a `−.

Page 26: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Parabola βi

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

DefinizioneDato p+

i ∈ `+, chiamiamo confine βi di p+i il

luogo geometrico dei punti q ∈ `+ t.c.

d(q,p+i ) = d(q, `)

ed evidentemente è definito da una parabolala cui equazione è definita rispetto a pi :

y :=1

2(pi,y − `y )(x2−2pi,x x +p2

i,x +p2i,y−`2

y )

Page 27: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Parabola βi

Inserire il video che mostra come si muove la parabola fissato unpunto e facendo scorrere la sweep line;

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 28: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Beach-line

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Beach-lineIl luogo di punti del piano che sono più vicinia qualche sito pi ∈ `+ che a ` è limitatoinferiormente da una curva continuacomposta dalle parabole βi . Chiamiamobeach-line tale sequenza di archi parabolici.

I una parabola può contribuire più voltealla beach-line;

I chiamiamo break point i punti diintersezione tra parabole adiacentinella beach-line;

I i breakpoint giacciono sui lati diVor(P).

Idea sweep algorithm⇒ Invece di mantenere le intersezioni diVor(P) teniamo traccia della beach-linementre la sweepline scende.

Quali eventi modificano la beach-line?

Page 29: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Site event

Site event :: nuovo lato Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Site event

Un site event si verifica quando la sweeplineraggiunge un sito pi ∈ PCosa accade sulla beach-line?

I inizialmente la nuova parabola βiinterseca ` in due punti coincidenti;

I successivamente, via via che` scende, βi le intersezioni tra βi e ldivergono⇒ un nuovo lato di Vor(P)viene definito.

Page 30: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Site event

Site event :: nuovo lato Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaL’unico modo in cui un arco sulla beach-linepuò apparire è in corrispondenza di un siteevent.

DimostrazionePer assurdo supponiamo che un nuovo arcopuò apparire anche non in corrispondenza diun site event. Come può apparire il nuovoarco βj ?

Caso 1: il nuovo arco appare nel mezzo diun’altra parabola βi . Assumendo`u < pi,y ≤ pj,y calcolandol’intersezione fra βi e βj si ha che∆ > 0.

Parabole βi ,βj relative ai punti pi ,pj .

Page 31: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Site event

Site event :: nuovo lato Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaL’unico modo in cui un arco sulla beach-linepuò apparire è in corrispondenza di un siteevent.

DimostrazionePer assurdo supponiamo che un nuovo arcopuò apparire anche non in corrispondenza diun site event. Come può apparire il nuovoarco βj ?

Caso 2: il nuovo arco appare a cavallo di duearchi esistenti βi ,βk incorrispondenza del breakpoint q.Essendo il punti di intersezione di trearchi significa che è equidistante dapi ,pj ,pk e dalla sweepline (ricordareil significato delleparabole).(Continua . . . )

Circonferenza centrata in q.

Page 32: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Site event

Site event :: nuovo lato Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaL’unico modo in cui un arco sulla beach-linepuò apparire è in corrispondenza di un siteevent.

DimostrazionePer assurdo supponiamo che un nuovo arcopuò apparire anche non in corrispondenza diun site event. Come può apparire il nuovoarco βj ?

Caso 2: Se facciamo scendere di un ε lasweepline mantenendo lacirconferenza tangente a l cosaaccade?⇒ uno dei punti fra pi o pk saràinglobato;⇒ uno dei punti fra pi o pk sarà piùvicino a l rispetto a pj ;⇒ la parabola βj non potràcontribuire alla beach-line.

Circonferenza centrata in q.

Page 33: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Site event

Site event :: nuovo lato Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

CorollarioBeach-line consiste al più in 2n−1 archiparabolici. Infatti un nuovo arco può essereoriginato solo in corrispondenza di un nuovosito e può splittare un arco esistente almassimo in due parti.

Page 34: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Circle eventUn circle event si verifica quando labeach-line raggiunge il punto più basso diuna circonferenza passante per tre siti chedefiniscono archi consecutivi.Cosa accade sulla beach-line?

I due break point collassano cheequivale a dire che due archi delVor(P) si uniscono;

I un vertice di Vor(P) è individuato.

Page 35: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Circle eventUn circle event si verifica quando labeach-line raggiunge il punto più basso diuna circonferenza passante per tre siti chedefiniscono archi consecutivi.Cosa accade sulla beach-line?

I due break point collassano cheequivale a dire che due archi delVor(P) si uniscono;

I un vertice di Vor(P) è individuato.

Page 36: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P) [Appendice]

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Circle eventUn circle event si verifica quando labeach-line raggiunge il punto più basso diuna circonferenza passante per tre siti chedefiniscono archi consecutivi.Cosa accade sulla beach-line?

I due break point collassano cheequivale a dire che due archi delVor(P) si uniscono;

I un vertice di Vor(P) è individuato.

Page 37: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P) [Appendice]

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaL’unico modo in cui un arco esistente puòscomparire dalla beach-line è attraverso uncircle event.

DimostrazioneSiano α,α ′,α ′′ i tre archi sulla beach-lineda sinistra verso destra, porzioni delleparabole dei siti pi ,pj ,pk . In quali casi l’arcoα ′ può scomparire?

Caso 1: l’arco α e α ′′ sono lo stesso arco⇒caso impossibile, perchésupponiamo che q sia l’unico punto ditangenza, allora scorrendo di poco lverso il basso la parabola βj nonscompare ma al contrario si biforca.

Page 38: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P) [Appendice]

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaL’unico modo in cui un arco esistente puòscomparire dalla beach-line è attraverso uncircle event.

DimostrazioneSiano α,α ′,α ′′ i tre archi sulla beach-lineda sinistra verso destra, porzioni delleparabole dei siti pi ,pj ,pk . In quali casi l’arcoα ′ può scomparire?

Caso 2: gli archi α,α ′,α ′′ sono tutti distinti eal momento in cui α ′ scompare sonocoincidenti tutti in un punto q. q èequidistante sia da pi ,pj ,pk che l (inquanto sulla frontiera di tutte leparabole).Continua . . .

Page 39: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P) [Appendice]

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaL’unico modo in cui un arco esistente puòscomparire dalla beach-line è attraverso uncircle event.

DimostrazioneSiano α,α ′,α ′′ i tre archi sulla beach-lineda sinistra verso destra, porzioni delleparabole dei siti pi ,pj ,pk . In quali casi l’arcoα ′ può scomparire?

Caso 2: ⇒ Non può esiste un punto internoalla circonferenza C(pi ,pj ,pk ) inquanto se esistesse q non potrebbestare sulla beach-line.⇒ q è un vertice di Vor(P) (infattiquando un arco sulla beach-linecollassa significa che due breakpointsi fondono che equivale a dire chedue lati di Vor(P) si uniscono).

Page 40: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P) [Appendice]

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaOgni vertice è individuato per mezzo di uncircle event.

DimostrazioneDobbiamo dimostrare che appena prima chela sweep line raggiunge il punto più bassodella circonferenza C(pi ,pj ,pk ), la beachline è composta dai tre archi αi ,αj ,αk .Infatti se consideriamo come prima la sweepline appena prima che raggiunga il punto piùbasso di C(pi ,pj ,pk ), dato che quest’ultimanon contiene nessun altro sito, è possibiledue circonferenza C(pi ,pj ) e C(pj ,pk )passanti dai rispettivi siti e ancora tangentialla sweepline che a loro volta noncontengono nessun sito . . .

Page 41: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Circle event :: nuovo vertice Vor(P) [Appendice]

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

LemmaOgni vertice è individuato per mezzo di uncircle event.

Dimostrazione. . . Se esistono tali circonferenze allora nelpunto centrale pi ,pj e pj ,pk risultano essereequidistanti. Quindi saranno presenti duebreakpoint sulla beach-line formati da trearchi adiacenti. Perciò è possibileindividuare un circle event appena prima chequesto avvenga (controllando se i tre puntirelativi ai tre archi sono sulla stessacirconferenza).

Page 42: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Circle event

Costruire il diagramma di Voronoi

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 43: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Strutture

Strutture utilizzate

Quali strutture sono necessarie per costruire Vor(P)?I Doubly-connected Linked List - memorizzare struttura del

Diagramma di Voronoi. Data la struttura dinamica di Vor(P) lad.l.l. permette di ottimizzare l’accesso, l’eliminazione el’inserimento se implementata a basso livello. In Matlab èconsigliabile un cell array.

I Balanced Binary Tree - memorizzazione beach-line

I Event Queue - collezione dei site e circle event.

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 44: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Strutture

Strutture utilizzate

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Doubly-connected Linked ListUtilizzata per memorizzare il corrente statodel diagramma di Voronoi.

I considerare i lati del diagramma diVoronoi come archi direzionati;

I una cella è formata da una sequenzadi archi direzionati in senso orario (oantiorario);

I dato che ogni lato è condiviso da duecelle, ad ogni lato corrispondono duearchi direzionati nel senso opposto;

⇒ permette la navigazione dell’interodiagramma.

Page 45: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Strutture

Strutture utilizzate

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Balanced Binary treeUtilizzato per rappresentare la beach-line ein particolare gli archi che la compongono, ibreakpoints e i relativi siti.

I nodi interni - rappresentano ibreakpoint tra due archi;

I nodi foglia - rappresentano gli archiognuno dei quali è rappresentato asua volta dal relativo sito. Ogni fogliaha un puntatore al circle event chefarà scomparire il relativo arco.

O(nlogn) per trovare l’arco sopra ogni sito.Sufficiente comparare l’ascissa del nuovosito con quella dei nodi interni.

Osservazione: le parabole non vengonomemorizzate esplicitamente.

Page 46: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Strutture

Strutture utilizzate

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Event QueueUn evento è un punto di rilievo che lasweepline incontra mentre stà andandoverso il basso.

I site event - corrispondono ai siti in P;I circle event - corrispondono al punto

più basso della circonferenzapassante per tre o più siti;

I tutti gli eventi sono ordinati perpriorità crescente in base allacoordinata y .

Page 47: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Algoritmo di Fortune per Vor(P)

1 Inizializzazione strutture;:: inizializza coda degli eventi Q con tutti i siti P;:: inizializza albero di ricerca binario T = /0;:: inizializza doubly linked list D = /0;

2 finchè Q! = /0:: rimuovi evento e da Q;:: richiama gestisciEvento(e);

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 48: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Site Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo sito (p ∈ P)

a localizza l’arco A sopra al nuovo sitose esiste;

b rompi l’arco A sulla beachlinerimpiazzando il nodo foglia in T conun sottoalbero rappresentante ilnuovo arco e i suoi breakpoints;

c aggiungi il record in D relativo alnuovo lato che si stà formando;

d controlla la presenza di nuovi circleevent e inseriscili in Q se esistono.

Page 49: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Site Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo sito (p ∈ P)

a localizza l’arco A sopra al nuovo sitose esiste;

b rompi l’arco A sulla beachlinerimpiazzando il nodo foglia in T conun sottoalbero rappresentante ilnuovo arco e i suoi breakpoints;

c aggiungi il record in D relativo alnuovo lato che si stà formando;

d controlla la presenza di nuovi circleevent e inseriscili in Q se esistono.

Page 50: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Site Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo sito (p ∈ P)

a localizza l’arco A sopra al nuovo sitose esiste;

b rompi l’arco A sulla beachlinerimpiazzando il nodo foglia in T conun sottoalbero rappresentante ilnuovo arco e i suoi breakpoints;

c aggiungi il record in D relativo alnuovo lato che si stà formando;

d controlla la presenza di nuovi circleevent e inseriscili in Q se esistono.

Page 51: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Site Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo sito (p ∈ P)

a localizza l’arco A sopra al nuovo sitose esiste;

b rompi l’arco A sulla beachlinerimpiazzando il nodo foglia in T conun sottoalbero rappresentante ilnuovo arco e i suoi breakpoints;

c aggiungi il record in D relativo alnuovo lato che si stà formando;

d controlla la presenza di nuovi circleevent e inseriscili in Q se esistono.

Page 52: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Circle Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo circle

a aggiungi un vertice per icorrispondenti record (lati) in D;

b elimina da T le foglie corrispondentiagli archi sulla beachline che stannoscomparendo;

c crea un nuovo record lato in D;d controlla la nuova tripla formata dai

nuovi archi vicini per circle eventpotenziali.

Page 53: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Circle Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo circle

a aggiungi un vertice per icorrispondenti record (lati) in D;

b elimina da T le foglie corrispondentiagli archi sulla beachline che stannoscomparendo;

c crea un nuovo record lato in D;d controlla la nuova tripla formata dai

nuovi archi vicini per circle eventpotenziali.

Page 54: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Circle Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo circle

a aggiungi un vertice per icorrispondenti record (lati) in D;

b elimina da T le foglie corrispondentiagli archi sulla beachline che stannoscomparendo;

c crea un nuovo record lato in D;d controlla la nuova tripla formata dai

nuovi archi vicini per circle eventpotenziali.

Page 55: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Circle Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo circle

a aggiungi un vertice per icorrispondenti record (lati) in D;

b elimina da T le foglie corrispondentiagli archi sulla beachline che stannoscomparendo;

c crea un nuovo record lato in D;d controlla la nuova tripla formata dai

nuovi archi vicini per circle eventpotenziali.

Page 56: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Circle Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo circle

a aggiungi un vertice per icorrispondenti record (lati) in D;

b elimina da T le foglie corrispondentiagli archi sulla beachline che stannoscomparendo;

c crea un nuovo record lato in D;d controlla la nuova tripla formata dai

nuovi archi vicini per circle eventpotenziali.

Page 57: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Gestisci Circle Event

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Procedura per la gestione degli eventi ditipo circle

a aggiungi un vertice per icorrispondenti record (lati) in D;

b elimina da T le foglie corrispondentiagli archi sulla beachline che stannoscomparendo;

c crea un nuovo record lato in D;d controlla la nuova tripla formata dai

nuovi archi vicini per circle eventpotenziali.

Page 58: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Algoritmo

Costo computazionale totale O(nlogn)

I O(n) - numero di eventi da gestire (n siti che generano O(n)circle event);

I O(logn) - costo della gestione di un eventosite O(logn) individuazione in T dell’arco esistente sopra il nuovo sito;site O(1) le operazioni rimanenti;

circle O(logn) eliminazione da T della foglia relativa all’arco che stàscomparendo;

circle O(1) le operazioni rimanenti.

⇒ O(nlogn) costo computazionale totale.

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 59: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Section 5

Voronoi Diagram e Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 60: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaDato un insieme di ostacoli poligonali nelpiano lo scopo è individuare un percorsolibero da collisioni che metta incomunicazione due posizioni assegnate.

Page 61: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaDato un insieme di ostacoli poligonali nelpiano lo scopo è individuare un percorsolibero da collisioni che metta incomunicazione due posizioni assegnate.

Algoritmo

1 Definire un insieme di punti P lungo ilati di ogni poligono, cornice inclusa;

Page 62: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaDato un insieme di ostacoli poligonali nelpiano lo scopo è individuare un percorsolibero da collisioni che metta incomunicazione due posizioni assegnate.

Algoritmo

1 Definire un insieme di punti P lungo ilati di ogni poligono, cornice inclusa;

2 Costruire il diagramma di Voronirispetto a P;

Page 63: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaDato un insieme di ostacoli poligonali nelpiano lo scopo è individuare un percorsolibero da collisioni che metta incomunicazione due posizioni assegnate.

Algoritmo

1 Definire un insieme di punti P lungo ilati di ogni poligono, cornice inclusa;

2 Costruire Vor(P);3 Eliminare da Vor(P) i lati che

intersecano l’interno degli ostacoliottenendo Vor(P)′;

Page 64: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaDato un insieme di ostacoli poligonali nelpiano lo scopo è individuare un percorsolibero da collisioni che metta incomunicazione due posizioni assegnate.

Algoritmo

1 Definire un insieme di punti P lungo ilati di ogni poligono, cornice inclusa;

2 Costruire Vor(P);3 Eliminare da Vor(P) i lati che

intersecano l’interno degli ostacoliottenendo Vor(P)′;

Page 65: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaDato un insieme di ostacoli poligonali nelpiano lo scopo è individuare un percorsolibero da collisioni che metta incomunicazione due posizioni assegnate.

Algoritmo

1 Definire un insieme di punti P lungo ilati di ogni poligono, cornice inclusa;

2 Costruire Vor(P);3 Eliminare da Vor(P) i lati che

intersecano l’interno degli ostacoliottenendo Vor(P)′;

Page 66: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Path Planning

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaDato un insieme di ostacoli poligonali nelpiano lo scopo è individuare un percorsolibero da collisioni che metta incomunicazione due posizioni assegnate.

Algoritmo

1 Definire un insieme di punti P lungo ilati di ogni poligono, cornice inclusa;

2 Costruire Vor(P);3 Eliminare da Vor(P) i lati che

intersecano l’interno degli ostacoliottenendo Vor(P)′;

4 Convertire il diagramma ottenuto inun grafo G(V ,E) i cui vertici e laticorrispondono a quelli di Vor(P)′;

5 Collegare pstart e pgoal ai vertici piùvicini in Vor(P)′;

6 Individuare un path che collega pstarta pgoal tramite un qualsiasi algoritmodi visita di grafi.

Page 67: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Sketch Algorithm

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 68: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Section 6

Voronoi Diagram per controllo di rotondità(smallest-width annulus problem)

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 69: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Smallest-width annulus problem

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Il problemaSupponiamo di dover costruire un oggetto lacui forma deve essere il più circolarepossibile. Quindi una volta costruito nevogliamo testare la rotondità. Per farequesto ci affidiamo a macchine dimisurazioni che determinano molti punti sulbordo dell’oggetto.

Page 70: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Rotondità

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

DefinizioneLa rotondità di un insieme di punti è definitacome la larghezza del più piccolo anellocircolare che contiene quei punti. Un anelloè la regione che si trova tra duecirconferenze concentriche e la larghezza èla differenza fra i raggi. Indicheremo con:

I Couter la circonferenza esterna;I Cinner la circonferenza interna

Page 71: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

L’anello più stretto

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Casi PossibiliDato uninsieme di punti P, l’anello più strettopuò essere dei seguenti tipi:

I Couter contiene almeno 3 punti di P eCinner contiene almeno 1 punto di P;

I Couter contiene almeno 1 punto di P eCinner contiene almeno 3 punti di P;

I Couter contiene almeno 2 punti di P eCinner contiene almeno 2 punti di P;

ObbiettivoPer conoscere la larghezza dell’anellodobbiamo individuare il centro dell’anellostesso. Per individuare il centrointroduciamo farthest-point VoronoiDiagram.

Page 72: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Farthest Voronoi diagram

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

DefinizioneIl farthest-point Voronoi Diagram (fpVD)consiste nella partizione del piano in regioninelle quali risiedono i punti che hanno il sitopiù lontano in comune.

CostruzioneLa cella di un punto pi nell’fpVD èl’intersezione di n−1 semi-piani (analogo aVor(P)) ma viene considerato l’altro lato delbisettore.

Page 73: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Farthest Voronoi diagram - alcune proprietà

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Prop. 1Per qualsiasi punto nel piano, il relativopunto più lontano fra i punti in P deve essereun punto che giace sul convex hull di P.

Prop 2Supponiamo pi ∈ P sul convex hull. Sia q unpunto nel piano per cui pi è il punto piùlontano. Sia l(pi ,q) la retta passante da pi eq. Allora tutti punti nella semiretta su l(pi ,q)sono nella cella di pi ⇒ celle illimitate;

Prop 3Il centro della circonferenza con raggiominimo che include tutti i punti di P:

I è un vertice di fpVD;I punto medio di un lato di fpVD.

Page 74: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Farthest Voronoi diagram - Esempio

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Page 75: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Farthest Voronoi diagram - algoritmo di costruzione

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

AlgoritmoFase 1:

I calcolare convex hull di P (O(n logn));I considerare i vertici della convex hull in ordine

casuale p1 . . .ph;for i = h . . .4 (−1)

- rimuovi pi dalla convex hull;- collega i vertici adiacenti a pi dalla convex

hull;- memorizza cw(pi ) (il vicino in senso

orario);- memorizza ccw(pi ) (il vicino in senso

anti-orario);

Page 76: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Farthest Voronoi diagram - algoritmo di costruzione

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

AlgoritmoFase 1:

I calcolare convex hull di P (O(n logn));I considerare i vertici della convex hull in ordine

casuale p1 . . .ph;for i = h . . .4 (−1)

- rimuovi pi dalla convex hull;- collega i vertici adiacenti a pi dalla convex

hull;- memorizza cw(pi ) (il vicino in senso

orario);- memorizza ccw(pi ) (il vicino in senso

anti-orario);

Page 77: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Farthest Voronoi diagram - algoritmo di costruzione

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

AlgoritmoIndichiamo con Fi il fpVD(p1,p2, . . . ,pi ).

Fase 2:

I calcolare fpVD di p1,p2,p3→ F3;for i = 4 . . .h

- aggiungi pi a fpVD Fi−1 per ottenere Fi

Osservazione Per costruire in modo efficiente Fi apartire da Fi−1 manteniamo un puntatore ∀1≤j≤i−1pjal primo lato semi-infinito della cella pj che si incontrain senso antiorario (nella doubly-connected linkedlist).

Page 78: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Ottenere Fi a partire da Fi−1

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

I All’inserimento di pi la relativa cella saràdefinita all’interno delle celle dei sui vicinicw(pi ),ccw(pi ) che in Fi−1 sono adiacenti;

I Ricordiamo che ccw(pi ) ha un puntatore allato di Fi−1 che separa le celle dicw(pi ),ccw(pi ) in Fi−1;

I il bisettore fra pi e ccw(pi ) genera una nuovasemiretta (lato di fpVD) che starà nella cella diccw(pi );

I grazie al puntatore di ccw(pi ) al primo latodella sua cella in senso antiorarioattraversiamo i lati delle celle di Fi−1 percontrollare quali sono intersecate;

I quando individuiamo un intersezionepassiamo alla cella successiva, relativa a unpunto pj , confinante e ripetiamo tutti i passaggi(considerando l’intersezione fra il bisettorepi ,pj e i lati della cella di pj );

I l’algoritmo termina quando il lato puntato dacw(pi ) viene incontrato.

Page 79: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Complessità

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Idea

O(n logn) - complessità calcolo convex hull;O(1) - accesso al primo lato in senso antiorario dellacella di pi ;O(ki ) - se ki è il numero di lati che definiscono ilconfine allora per costruire la cella di pi :

I visitiamo O(ki ) lati e vertici di Fi−1;I rimuoviamo O(ki ) vertici e lati e creiamo

O(ki ) lati e vertici;⇒ aggiungere pi ha un costo lineare nell’ordine dellacomplessità della relativa cella.

Page 80: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Complessità - stimare ki

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Quante lati ha mediamente una cella?Sapendo che:

I al più il numero di lati di un Fi è pari a 2i−3;I ogni lato limita esattamente 2 celle;I ogni punto pi ha la stessa probabilità di essere

aggiunto;Abbiamo che il numero medio di lati di ogni cella èdato da:

ki ≤2(2i−3)

i=

4i−6i

< 4

⇒ il tempo per costruire Fi a partire da Fi−1 ècostante O(1).

Page 81: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Torniamo al problema dell’anello

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Abbiamo i seguenti casi::: Cinner interseca almeno tre punti di P ⇒ il

centro è un vertice di Vor(P);:: Couter interseca almeno tre punti di P ⇒ il

centro è un vertice di vfVD(P);:: sia Cinnner che Couter contengono due punti⇒

il centro starà su un lato di Vor(P) econtemporaneamente su un lato di fpVD(P).

⇒ possiamo ottenere un insieme di puntiragionevolmente piccolo che dovrà contenere ilcentro dell’anello più stretto.

Come?

Page 82: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path Planning Voronoi Diagram per controllo di rotondità (smallest-width annulus problem)

Smallest-width annulus problem

Torniamo al problema dell’anello

Duccio Mugnaini - [email protected] Universities of

Diagramma di Voronoi

Algoritmo

- calcola Vor(P);- calcola fpVD(P);for each v ∈ V(fpVD(P))

individua il sito più vicino a v ;endfor each v ∈ V(Vor(P))

individua il sito più vicino a v ;endfor each e′ ∈ E(Vor(P))

for each e′′ ∈ E(fpVD(P))calcola intersezione fra e′ ed e′′;

endendend

Page 83: Diagramma di Voronoi - UniFIweb.math.unifi.it/users/sestini/voronoi_2015.pdf · Introduzione Definizioni di base Proprietà strutturali Vor(P) Sweep Algorithm Voronoi Diagram e Path

Thank you for your attention.