Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema...

72
Fundamentos de Geometría Computacional I.T.I. Gestión Diagrama de Voronoi Tema 3 Georgy Feodosevich Voronoi (1868-1908)

Transcript of Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema...

Page 1: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Diagrama de Voronoi

Tema 3

Georgy Feodosevich Voronoi (1868-1908)

Page 2: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Introducción

Introducción

Page 3: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Introducción

Introducción

http://www.pi6.fernuni-hagen.de/GeomLab/VoroGlide/index.html.en

Page 4: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Historia

Primera aparición en el siglo XVII, en un libro de R. Descartes.

Page 5: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Historia

Ha sido redescubierto varias veces en distintos campos científicos.

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

Page 6: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Historia

En el siglo XIX John Snow lo utiliza para determinar la fuente de una epidemia de cólera en Londres.

Page 7: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

AplicacionesCartografía, por ejemplo para construir una imagen a partir de varias fotos aéreas o de satélite.

Page 8: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Construcción del medial axis o del esqueleto

Page 9: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Construcción del medial axis o del esqueleto

Page 10: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Construcción del medial axis o del esqueleto

Page 11: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Construcción del medial axis o del esqueleto

que puede usarse, entre otras cosas, para reconocer caracteres.

Page 12: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Ecología.

Voronoi Art.http://www.cgl.uwaterloo.ca/~csk/projects/voronoi/http://www.josleys.com/show_gallery.php?galid=284

Page 13: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Colocar o evitar sensores.

Page 14: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Diseño de rutas de robots.

Page 15: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Introducción

Propiedades

Allgoritmos

Envolvente convexa

Fortune

Historia Aplicaciones

Aplicaciones

Y otras muchas (meteorología, ecología, geología, antropología,…) en

http://www.ics.uci.edu/~eppstein/gina/scot.drysdale.html

http://www.voronoi.com

Page 16: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

Propiedades¿Qué puntos del plano están más cerca del punto pi (rojo) que del resto de puntos de la nube (azules)?

Región de Voronoi del punto pi

Vor(pi)

pi

Page 17: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

Propiedades¿Qué puntos del plano están más cerca del punto pi (rojo) que del resto de puntos de la nube (azules)?

Región de Voronoi del punto pi

Vor(pi)

El diagrama de Voronoi es la unión de las regiones de Voronoi de cada uno de los puntos de la nube.

Page 18: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

Propiedades¿Qué puntos del plano están más cerca del punto pi (rojo) que del resto de puntos de la nube (azules)?

Región de Voronoi del punto pi

Vor(pi)

El diagrama de Voronoi es la unión de las regiones de Voronoi de cada uno de los puntos de la nube.

Aristas

GeneradoresVértices

Page 19: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

Propiedades

Cada arista está en la mediatriz del segmento pipj que une dos puntos (vecinos) de la nube.

El vecino más cercano a cada punto pi define una arista del polígono de Voronoi de dicho punto pi.

Page 20: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

Propiedades

Cada arista está en la mediatriz del segmento pipj que une dos puntos (vecinos) de la nube.

El vecino más cercano a cada punto pi define una arista del polígono de Voronoi de dicho punto pi.

Cada vértice es un punto equidistante a tres generadores (o más si es un caso degenerado) y es la intersección de tres aristas.

Page 21: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

Propiedades

Una región de Voronoi es un polígino convexo o una región no acotada.

Una región de Voronoi es no acotada si su punto generador pertenece a la envolvente convexa de la nube de puntos.

Una región de Voronoi es un polígono convexo si su punto generador es interior a la envolvente convexa de la nube de puntos.

Page 22: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

PropiedadesDado un punto q llamaremos círculo máximo vacío, C(q), al mayor círculo centrado en q que no contiene a ningún generador del diagrama en su interior.

q

Page 23: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

PropiedadesDado un punto q llamaremos círculo máximo vacío, C(q), al mayor círculo centrado en q que no contiene a ningún generador del diagrama en su interior.

La mediatriz entre dos generadores define una arista de Vor(S) si (y sólo si) existe un punto q sobre dicha mediatriz tal que C(q) contiene solamente a estos dos generadores en su frontera.

q

Page 24: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Allgoritmos

Envolvente convexa

Fortune

Propiedades

Propiedades

Un punto q es vértice de Vor(S) si (y sólo si) C(q) contiene tres o (en el caso de tratarse de un diagrama degenerado) más generadores en su frontera

q

Dado un punto q llamaremos círculo máximo vacío, C(q), al mayor círculo centrado en q que no contiene a ningún generador del diagrama en su interior.

Page 25: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?

pi

Cálculo del diagrama

Page 26: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Los puntos de V(pi) están más cerca del punto rojo que del amarillo

pi

¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?

Cálculo del diagrama

Page 27: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Los puntos de V(pi) están más cerca del punto rojo que del marrón

pi

¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?

Cálculo del diagrama

Page 28: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

pi

¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?

Cálculo del diagrama

Page 29: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

pi

¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?

Cálculo del diagrama

Page 30: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Cálculo del diagrama

pi

¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?

Page 31: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

pi

¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?

Lema: La intersección de los semiplanos h(pi,pk) (i≠k) es Vor(pi).

Corolario: Vor(pi) es un convexo.

Cálculo del diagrama

Page 32: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Teorema: La intersección de n semiplanos se puede calcular en tiempo óptimo O(n log n).

Corolario: El diagrama de Voronoi de una nube de npuntos se puede calcular en tiempo óptimo O(n2log n).

Corolario: Vor(pi) se puede calcular en tiempo óptimoO(n log n).

Lema: La intersección de los semiplanos h(pi,pk) (i≠k) es Vor(pi).

Cálculo del diagrama

Page 33: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Algoritmo incremental

Construimos el diagrama de S = {p1,...,pn} punto a punto.

Suponemos que tenemos el diagrama de Sj = {p1,...,pj} y añadimos un nuevo punto pj+1.

pj+1

Page 34: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Algoritmo incremental

Construimos el diagrama de S = {p1,...,pn} punto a punto.

Suponemos que tenemos el diagrama de Sj = {p1,...,pj} y añadimos un nuevo punto pj+1.

Encontramos la región Vor(pk) donde se encuentra el punto pj+1.

Trazamos la mediatriz del segmento pj+1pk.

pj+1

pk

Trazamos la mediatriz del segmento pj+1pi, siendo pi“vecino” del vértice pk

Eliminar las porciones de arista y los vértices que queden dentro de la nueva región.

Page 35: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Algoritmo incremental

Construimos el diagrama de S = {p1,...,pn} punto a punto.

Suponemos que tenemos el diagrama de Sj = {p1,...,pj} y añadimos un nuevo punto pj+1.

Encontramos la región Vor(pk) donde se encuentra el punto pj+1.

Trazamos la mediatriz del segmento pj+1pk.

Trazamos la mediatriz del segmento pj+1pi, siendo pi“vecino” del vértice pk

Eliminar las porciones de arista y los vértices que queden dentro de la nueva región.

Page 36: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Algoritmo incremental

Construimos el diagrama de S = {p1,...,pn} punto a punto.

Suponemos que tenemos el diagrama de Sj = {p1,...,pj} y añadimos un nuevo punto pj+1.

Trazamos la mediatriz del segmento pj+1pk.

Trazamos la mediatriz del segmento pj+1pi, siendo pi“vecino” del vértice pk

Eliminar las porciones de arista y los vértices que queden dentro de la nueva región.

Lema: Insertar cada punto cuesta O(n)

Teorema: El algoritmo incremental obtiene el diagrama de Voronoi de una nube de n puntos en un tiempo O(n2).

Encontramos la región Vor(pk) donde se encuentra el punto pj+1.

Page 37: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Algoritmo incremental

¡Ojo! El algoritmo falla si la región del nuevo punto es no acotada.

Page 38: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

Incremental

Algoritmo incremental

¡Ojo! El algoritmo falla si la región del nuevo punto es no acotada.

Esto puede arreglarse añadiendo tres puntos auxiliares.

Page 39: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

1) Dividir S en dos subconjuntos S1 y S2de aproximadamente el mismo tamaño.

Page 40: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

2) Calcular recursiva-mente los diagramas Vor(S1) y Vor(S2)

1) Dividir S en dos subconjuntos S1 y S2de aproximadamente el mismo tamaño.

Page 41: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

2) Calcular recursiva-mente los diagramas Vor(S1) y Vor(S2)

1) Dividir S en dos subconjuntos S1 y S2de aproximadamente el mismo tamaño.

3) Calcular Vos(S), a partir de los diagra-mas Vor(S1) y Vor(S2), obtenidos en 2.

Page 42: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

2) Calcular recursiva-mente los diagramas Vor(S1) y Vor(S2)

1) Dividir S en dos subconjuntos S1 y S2de aproximadamente el mismo tamaño.

3) Calcular Vos(S), a partir de los diagra-mas Vor(S1) y Vor(S2), obtenidos en 2.

Lema: Si dos subconjuntos están separados por una línea vertical (S1 a la izquierda y S2 a la derecha), existe una línea poligonal monótona creciente c tal que todo punto q situado a la izquierda (derecha) de dicha poligonal está en la región de Voronoi de un punto de S1 (S2).

Page 43: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

Lema: Si dos subconjuntos están separados por una línea vertical (S1 a la izquierda y S2 a la derecha), existe una línea poligonal monótona creciente c tal que todo punto q situado a la izquierda (derecha) de dicha poligonal está en la región de Voronoi de un punto de S1 (S2).

Page 44: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

Lema: Si dos subconjuntos están separados por una línea vertical (S1 a la izquierda y S2 a la derecha), existe una línea poligonal monótona creciente c tal que todo punto q situado a la izquierda (derecha) de dicha poligonal está en la región de Voronoi de un punto de S1 (S2).

Page 45: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

Page 46: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

Page 47: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

Page 48: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

Page 49: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

Page 50: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 51: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 52: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 53: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 54: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 55: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 56: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 57: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 58: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

pq

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 59: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

pq

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 60: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 61: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 62: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

p

q

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 63: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 64: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 65: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 66: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

3) Calcular Vor(S), a partir de Vor(S1) y Vor(S2).i) Calcular la poligonal c.

1) Encontrar un punto muy alto sobre la línea divisoria.

2) Este punto está en la región de un punto p de S1 y en la region de un punto q de S2.

ii) Eliminar las lineas de Vos(S1) (Vor(S2)) a la derecha (izquierda) de c.

3) Trazar la mediatriz de pq hasta que toque a alguna de las dos regiones Vor(p) o Vor(q)

4) Si toca a Vor(p), actualizar p. Si toca a Vor(q), actualizar q.

5) Volver al paso 3

Page 67: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

2) Calcular recursiva-mente los diagramas Vor(S1) y Vor(S2)

1) Dividir S en dos subconjuntos S1 y S2de aproximadamente el mismo tamaño.

3) Calcular Vos(S), a partir de los diagra-mas Vor(S1) y Vor(S2), obtenidos en 2.

=

2 T(n/2)

T(n)

+

O(n)

T(n) = 2 T(n/2)+O(n) T(n) ∈ O(n lg n)

Page 68: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Fortune

Allgoritmos

IncrementalDivide y vencerás

Algoritmo Divide y Vencerás

2) Calcular recursiva-mente los diagramas Vor(S1) y Vor(S2)

1) Dividir S en dos subconjuntos S1 y S2de aproximadamente el mismo tamaño.

3) Calcular Vos(S), a partir de los diagra-mas Vor(S1) y Vor(S2), obtenidos en 2.

Teorema: El método de divide y vencerás calcula el diagrama de Voronoi de n puntos en el plano en tiempo O(n log n).

(este tiempo es óptimo)

Page 69: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

Divide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Envolvente convexa

Allgoritmos

Incremental

Fortune

Algoritmo de Fortune

http://www.ams.org/featurecolumn/archive/voronoi.html

http://www.dma.fi.upm.es/mabellanas/voronoi/applet/voronoi-jar.html

Page 70: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Allgoritmos

Fortune

Envolvente convexa

Voronoi y la envolvente convexa

A partir del diagrama de Voronoi podemos calcular la envolvente convexa.

Los vértices de la envolvente son los generadores con región de Voronoi no acotada.

Page 71: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Allgoritmos

Fortune

Envolvente convexa

Voronoi y la envolvente convexa

A partir del diagrama de Voronoi podemos calcular la envolvente convexa.

Los vértices de la envolvente son los generadores con región de Voronoi no acotada.

Construir la envolvente a partir del diagrama de Voronoi cuesta O(n).

El diagrama de Voronoi puede construirse en tiempo óptimoO(n log n).

Page 72: Diagrama de Voronoi - Universidad de Sevillaasignatura.us.es/fgcitig/presentaciones/Tema 3-Voronoi.pdf · 2011. 3. 16. · Divide y vencerás. Historia Aplicaciones Introducción

Tema 3 Diagrama de Voronoi

Fundamentos de Geometría

ComputacionalI.T.I. Gestión

IncrementalDivide y vencerás

Historia Aplicaciones

Introducción

Propiedades

Allgoritmos

Fortune

Envolvente convexa

Ejercicios1.- Describir las mediatrices (el conjunto de puntos que equidistan) de:

Un punto y una recta Dos rectas Un punto y un segmento Dos segmentos

2.-Dados dos conjuntos de puntos A y B, cada uno de ellos con N puntos, encontrar el mínimo de la distancia de un punto de A a uno de B.

3.- Algunas de las métricas más usuales, además de la euclídea son las siguientes:d1((x1,y1),(x2,y2))= |x1-x2|+|y1-y2| y dw((x1,y1),(x2,y2))= max{|x1-x2|,|y1-y2|}Construir el diagrama de Voronoi de tres puntos con estas métricas.

4.- Dado un conjunto S de puntos en el plano, para cada punto p de S definimos su región de Voronoi de los puntos más alejados como el lugar geométrico de los puntos del plano que están más alejados de p que de ningún otro punto de S. Diseñar un algoritmo que calcule el diagrama de Voronoi de los puntos más alejados de S. http://www.dma.fi.upm.es/mabellanas/tfcs/fvd/home.html