Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diagrama de Voronoi: Tema 3
Diagrama de Voronoi: Tema 3
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Introducción
Tema 3
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades http://www.pi6.fernuni-hagen.de/GeomLab/VoroGlide/index.html.en
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Historia
Tema 3
Diagrama de Primera aparición en el siglo XVII, en un libro de R.
Voronoi Descartes.
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Historia
Tema 3 Ha sido redescubierto varias veces en distintos
Diagrama de
Voronoi campos científicos.
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3 Cartografía, por ejemplo para construir una
Diagrama de
Voronoi
imagen a partir de varias fotos aéreas o de
satélite.
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3
Diagrama de
Voronoi
Construcción del medial axis o del esqueleto
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3
Diagrama de
Voronoi
Construcción del medial axis o del esqueleto
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3
Diagrama de
Voronoi
Construcción del medial axis o del esqueleto
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3
Diagrama de
Voronoi
Construcción del medial axis o del esqueleto
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Voronoi Art.
Fundamentos de http://www.cgl.uwaterloo.ca/~csk/projects/voronoi/
Geometría http://www.josleys.com/show_gallery.php?galid=284
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3
Diagrama de
Voronoi
Colocar o evitar sensores.
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3
Diagrama de
Voronoi
Diseño de rutas de robots.
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Aplicaciones
Tema 3
Diagrama de
Voronoi
Y otras muchas (meteorología, ecología, geología,
antropología,…) en
Introducción
http://www.ics.uci.edu/~eppstein/gina/scot.drysdale.html
Historia
Aplicaciones
http://www.voronoi.com
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Propiedades
Tema 3 ¿Qué puntos del plano están más cerca Región de Voronoi del
Diagrama de del punto pi (rojo) que del resto de punto pi
Voronoi puntos de la nube (azules)?
Vor(pi)
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Propiedades
Tema 3 ¿Qué puntos del plano están más cerca Región de Voronoi del
Diagrama de del punto pi (rojo) que del resto de punto pi
Voronoi puntos de la nube (azules)?
Vor(pi)
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de El diagrama de Voronoi es la unión de las regiones de
Geometría
Computacional Voronoi de cada uno de los puntos de la nube.
I.T.I. Gestión
Propiedades
Tema 3 ¿Qué puntos del plano están más cerca Región de Voronoi del
Diagrama de del punto pi (rojo) que del resto de punto pi
Voronoi puntos de la nube (azules)?
Vor(pi)
Introducción
Propiedades
Allgoritmos Aristas
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de El diagrama de Voronoi es la unión de las regiones de
Geometría
Computacional Voronoi de cada uno de los puntos de la nube.
I.T.I. Gestión
Propiedades
Tema 3 Cada arista está en la
Diagrama de
mediatriz del segmento
Voronoi
pipj que une dos puntos
(vecinos) de la nube.
Introducción
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Propiedades
Tema 3 Cada arista está en la
Diagrama de
mediatriz del segmento
Voronoi
pipj que une dos puntos
(vecinos) de la nube.
Introducción
Propiedades
q
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Propiedades
Tema 3 Dado un punto q
Diagrama de llamaremos círculo
Voronoi máximo vacío, C(q), al
mayor círculo centrado en q
Introducción q que no contiene a ningún
generador del diagrama en
Historia su interior.
Aplicaciones
Propiedades
Propiedades
q
Allgoritmos
Un punto q es vértice de Vor(S)
Incremental
si (y sólo si) C(q) contiene tres o
Divide y vencerás
Fortune
(en el caso de tratarse de un
diagrama degenerado) más
Envolvente generadores en su frontera
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Cálculo del diagrama
Tema 3 ¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Cálculo del diagrama
Tema 3 ¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional Los puntos de V(pi) están más cerca del punto rojo que del amarillo
I.T.I. Gestión
Cálculo del diagrama
Tema 3 ¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional Los puntos de V(pi) están más cerca del punto rojo que del marrón
I.T.I. Gestión
Cálculo del diagrama
Tema 3 ¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Cálculo del diagrama
Tema 3 ¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Cálculo del diagrama
Tema 3 ¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Cálculo del diagrama
Tema 3 ¿Cómo calcular la región de Voronoi, Vor(pi), de un punto (rojo)?
Diagrama de
Voronoi Lema: La intersección de los semiplanos h(pi,pk) (i≠k) es Vor(pi).
Historia
Aplicaciones
Propiedades
Allgoritmos pi
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Cálculo del diagrama
Tema 3
Diagrama de
Voronoi Lema: La intersección de los semiplanos h(pi,pk) (i≠k) es Vor(pi).
Introducción
Envolvente
convexa Corolario: El diagrama de Voronoi de una nube de n
Fundamentos de puntos se puede calcular en tiempo óptimo O(n2log n).
Geometría
Computacional
I.T.I. Gestión
Algoritmo incremental
Tema 3 Construimos el diagrama de S = {p1,...,pn} punto a punto.
Diagrama de
Voronoi
Suponemos que tenemos el diagrama de Sj = {p1,...,pj}
y añadimos un nuevo punto pj+1.
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
pj+1
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Algoritmo incremental
Tema 3 Construimos el diagrama de S = {p1,...,pn} punto a punto.
Diagrama de
Voronoi
Suponemos que tenemos el diagrama de Sj = {p1,...,pj}
y añadimos un nuevo punto pj+1.
Introducción
Encontramos la región
Historia Vor(pk) donde se
Aplicaciones encuentra el punto pj+1.
Propiedades
Trazamos la mediatriz del
segmento pj+1pk.
Allgoritmos
Incremental Trazamos la mediatriz del
pj+1
Divide y vencerás segmento pj+1pi, siendo pi
Fortune “vecino” del vértice pk
Envolvente pk
convexa Eliminar las porciones de
Fundamentos de arista y los vértices que
Geometría queden dentro de la
Computacional
I.T.I. Gestión nueva región.
Algoritmo incremental
Tema 3 Construimos el diagrama de S = {p1,...,pn} punto a punto.
Diagrama de
Voronoi
Suponemos que tenemos el diagrama de Sj = {p1,...,pj}
y añadimos un nuevo punto pj+1.
Introducción
Encontramos la región
Historia Vor(pk) donde se
Aplicaciones encuentra el punto pj+1.
Propiedades
Trazamos la mediatriz del
segmento pj+1pk.
Allgoritmos
Incremental Trazamos la mediatriz del
Divide y vencerás segmento pj+1pi, siendo pi
Fortune “vecino” del vértice pk
Envolvente
convexa Eliminar las porciones de
Fundamentos de arista y los vértices que
Geometría queden dentro de la
Computacional
I.T.I. Gestión nueva región.
Algoritmo incremental
Tema 3 Construimos el diagrama de S = {p1,...,pn} punto a punto.
Diagrama de
Voronoi
Suponemos que tenemos el diagrama de Sj = {p1,...,pj}
y añadimos un nuevo punto pj+1.
Introducción
Encontramos la región
Historia Vor(pk) donde se Lema: Insertar cada punto
Aplicaciones encuentra el punto pj+1. cuesta O(n)
Propiedades
Trazamos la mediatriz del
segmento pj+1pk.
Allgoritmos
Incremental Trazamos la mediatriz del
Divide y vencerás segmento pj+1pi, siendo pi
Fortune “vecino” del vértice pk Teorema: El algoritmo incremental
Envolvente obtiene el diagrama de Voronoi de
convexa Eliminar las porciones de una nube de n puntos en un tiempo
Fundamentos de arista y los vértices que O(n2).
Geometría queden dentro de la
Computacional
I.T.I. Gestión nueva región.
Algoritmo incremental
Tema 3 ¡Ojo! El algoritmo falla si la región del nuevo punto es no
Diagrama de acotada.
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Algoritmo incremental
Tema 3 ¡Ojo! El algoritmo falla si la región del nuevo punto es no
Diagrama de acotada.
Voronoi
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Algoritmo Divide y Vencerás
Tema 3 1) Dividir S en dos
Diagrama de
subconjuntos S1 y S2
Voronoi
de aproximadamente
el mismo tamaño.
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Algoritmo Divide y Vencerás
Tema 3 1) Dividir S en dos
Diagrama de
subconjuntos S1 y S2
Voronoi
de aproximadamente
el mismo tamaño.
Introducción
Historia
Aplicaciones 2) Calcular recursiva-
mente los diagramas
Propiedades Vor(S1) y Vor(S2)
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Algoritmo Divide y Vencerás
Tema 3 1) Dividir S en dos
Diagrama de
subconjuntos S1 y S2
Voronoi
de aproximadamente
el mismo tamaño.
Introducción
Historia
Aplicaciones 2) Calcular recursiva-
mente los diagramas
Propiedades Vor(S1) y Vor(S2)
Allgoritmos
3) Calcular Vos(S), a
Incremental partir de los diagra-
Divide y vencerás mas Vor(S1) y Vor(S2),
Fortune obtenidos en 2.
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Algoritmo Divide y Vencerás
Tema 3 1) Dividir S en dos
Diagrama de
subconjuntos S1 y S2
Voronoi
de aproximadamente
el mismo tamaño.
Introducción
Historia
Aplicaciones 2) Calcular recursiva-
mente los diagramas
Propiedades Vor(S1) y Vor(S2)
Allgoritmos
Lema: Si dos subconjuntos están 3) Calcular Vos(S), a
Incremental separados por una línea vertical (S1 partir de los diagra-
Divide y vencerás a la izquierda y S2 a la derecha), mas Vor(S1) y Vor(S2),
Fortune existe una línea poligonal monótona obtenidos en 2.
Envolvente creciente c tal que todo punto q
convexa situado a la izquierda (derecha) de
Fundamentos de dicha poligonal está en la región de
Geometría Voronoi de un punto de S1 (S2).
Computacional
I.T.I. Gestión
Algoritmo Divide y Vencerás
Tema 3
Diagrama de
Voronoi
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente Lema: Si dos subconjuntos están separados por una línea vertical
convexa (S1 a la izquierda y S2 a la derecha), existe una línea poligonal
Fundamentos de monótona creciente c tal que todo punto q situado a la izquierda
Geometría (derecha) de dicha poligonal está en la región de Voronoi de un
Computacional punto de S1 (S2).
I.T.I. Gestión
Algoritmo Divide y Vencerás
Tema 3 3) Calcular Vor(S), a partir
Diagrama de de Vor(S1) y Vor(S2).
Voronoi
i) Calcular la poligonal c.
Introducción
Historia
Aplicaciones
Propiedades
Allgoritmos
Lema: Si dos subconjuntos están
Incremental separados por una línea vertical (S1
Divide y vencerás a la izquierda y S2 a la derecha),
Fortune existe una línea poligonal monótona
Envolvente creciente c tal que todo punto q
convexa situado a la izquierda (derecha) de
Fundamentos de dicha poligonal está en la región de ii) Eliminar las lineas de
Geometría Voronoi de un punto de S1 (S2). Vos(S1) (Vor(S2)) a la derecha
Computacional
I.T.I. Gestión (izquierda) de c.
Algoritmo Divide y Vencerás
Tema 3 3) Calcular Vor(S), a partir
Diagrama de de Vor(S1) y Vor(S2).
Voronoi
i) Calcular la poligonal c.
1) Encontrar un punto muy
Introducción alto sobre la línea divisoria.
Historia
Aplicaciones
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de ii) Eliminar las lineas de
Geometría Vos(S1) (Vor(S2)) a la derecha
Computacional
I.T.I. Gestión (izquierda) de c.
Algoritmo Divide y Vencerás
Tema 3 3) Calcular Vor(S), a partir
Diagrama de de Vor(S1) y Vor(S2).
Voronoi
q
i) Calcular la poligonal c.
Introducción
p 1) Encontrar un punto muy
alto sobre la línea divisoria.
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de ii) Eliminar las lineas de
Geometría Vos(S1) (Vor(S2)) a la derecha
Computacional
I.T.I. Gestión (izquierda) de c.
Algoritmo Divide y Vencerás
Tema 3 3) Calcular Vor(S), a partir
Diagrama de de Vor(S1) y Vor(S2).
Voronoi
q
i) Calcular la poligonal c.
Introducción
p 1) Encontrar un punto muy
alto sobre la línea divisoria.
Envolvente
convexa
Fundamentos de ii) Eliminar las lineas de
Geometría Vos(S1) (Vor(S2)) a la derecha
Computacional
I.T.I. Gestión (izquierda) de c.
Algoritmo Divide y Vencerás
Tema 3 3) Calcular Vor(S), a partir
Diagrama de de Vor(S1) y Vor(S2).
Voronoi
q
i) Calcular la poligonal c.
Introducción
p 1) Encontrar un punto muy
alto sobre la línea divisoria.
Envolvente
convexa
Fundamentos de ii) Eliminar las lineas de
Geometría Vos(S1) (Vor(S2)) a la derecha
Computacional
I.T.I. Gestión (izquierda) de c.
Algoritmo Divide y Vencerás
Tema 3 3) Calcular Vor(S), a partir
Diagrama de de Vor(S1) y Vor(S2).
Voronoi
i) Calcular la poligonal c.
Introducción
p 1) Encontrar un punto muy
alto sobre la línea divisoria.
Envolvente
convexa
Fundamentos de ii) Eliminar las lineas de
Geometría Vos(S1) (Vor(S2)) a la derecha
Computacional
I.T.I. Gestión (izquierda) de c.
Algoritmo Divide y Vencerás
Tema 3 3) Calcular Vor(S), a partir
Diagrama de de Vor(S1) y Vor(S2).
Voronoi
i) Calcular la poligonal c.
Introducción
p 1) Encontrar un punto muy
alto sobre la línea divisoria.
Historia
Aplicaciones 2 T(n/2) 2) Calcular recursiva-
mente los diagramas
Propiedades Vor(S1) y Vor(S2)
+
Allgoritmos
3) Calcular Vos(S), a
Incremental partir de los diagra-
Divide y vencerás
O(n)
mas Vor(S1) y Vor(S2),
Fortune obtenidos en 2.
Envolvente
convexa
Fundamentos de
Geometría
T(n) = 2 T(n/2)+O(n) T(n) ∈ O(n lg n)
Computacional
I.T.I. Gestión
Algoritmo Divide y Vencerás
Tema 3 1) Dividir S en dos
Diagrama de
subconjuntos S1 y S2
Voronoi
de aproximadamente
Teorema: El método de divide el mismo tamaño.
Introducción y vencerás calcula el diagrama
de Voronoi de n puntos en el
Historia
Aplicaciones
plano en tiempo O(n log n).
2) Calcular recursiva-
mente los diagramas
Propiedades (este tiempo es óptimo) Vor(S1) y Vor(S2)
Allgoritmos
3) Calcular Vos(S), a
Incremental partir de los diagra-
Divide y vencerás mas Vor(S1) y Vor(S2),
Fortune obtenidos en 2.
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Algoritmo de Fortune
Tema 3
Diagrama de
Voronoi
Introducción
http://www.ams.org/featurecolumn/archive/voronoi.html
Historia
Aplicaciones
http://www.dma.fi.upm.es/mabellanas/voronoi/applet/voronoi-jar.html
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Voronoi y la envolvente convexa
Tema 3 A partir del diagrama de Voronoi podemos
Diagrama de calcular la envolvente convexa.
Voronoi
Introducción
Los vértices de la
envolvente son los
Historia generadores con
Aplicaciones región de Voronoi no
acotada.
Propiedades
Allgoritmos
Incremental
Divide y vencerás
Fortune
Envolvente
convexa
Fundamentos de
Geometría
Computacional
I.T.I. Gestión
Voronoi y la envolvente convexa
Tema 3 A partir del diagrama de Voronoi podemos
Diagrama de calcular la envolvente convexa.
Voronoi
Introducción
Los vértices de la
envolvente son los
Historia generadores con
Aplicaciones región de Voronoi no
acotada.
Propiedades