Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Diagramas de Voronoi
2
Georgy Feodosevich Voronoi (1868-1908)
3
Clasificación de objetos (reconocedor de voz)
4
Clasificación de objetos (reconocedor de voz)
Dado un conjunto de n puntos S y un nuevo punto q, encontrar el punto de S más cercano a q.
5
PROBLEMAS DE PROXIMIDAD RESUELTOS POR LOS DIAGRAMAS DE VORONOI
PROBLEMA 1. LUGAR GEOMÉTRICO DE LA PROXIMIDAD: Dados N puntos en el plano hallar, para cada uno el lugar geométrico de los puntos del plano que estén más cerca o a igual distancia de dicho punto que de los restantes PROBLEMA 2. BÚSQUEDA DEL VECINO MÁS CERCANO: Dados N puntos en el plano, con pre-procesamiento permitido, encontrar el vecino más cercano a un nuevo punto dado
6
PROBLEMA 3. TRIANGULACIÓN:
Dados N puntos en el plano, unirlos por segmentos de línea recta que no se intersecten y tal que cada región interna sea un triángulo PROBLEMA 4. EL PAR DE PUNTOS MÁS CERCANOS: Dados N puntos en el plano, encontrar los dos puntos cuya distancia sea la más pequeña. PROBLEMA 5. TODOS LOS VECINOS MÁS CERCANOS: Dados N puntos en el plano, encontrar el vecino más cercano de cada punto
7
PROBLEMA 6. MÍNIMO ÁRBOL RECUBRIDOR:
Dados N puntos en el plano, construir un árbol de longitud mínima y cuyos vértices sean los puntos dados PROBLEMA 7. LOCALIZACIÓN DE ELEMENTOS INDESEADOS: Dados N puntos en el plano, hallar el punto del plano que esté lo más lejos posible del punto más cercano a él de los de la nube.
8
APLICACIONES DE LOS DIAGRAMAS DE VORONOI
ASTRONOMÍA Partición basada en el análisis de métodos del modelo de puntos para la investigación de la estructura espacial de varias poblaciones estelares BIOLOGÍA Análisis tridimensional de la reconstrucción y de imagen en biología molecular Análisis del daño microestructural en materiales heterogéneos Diagramas de Voronoi ponderados para el estudio de una población de plantas DISEÑO ORNAMENTAL Diagramas de Voronoi con fines ornamentales
9
GEOFÍSICA Vecinos Naturales en Geofísica GEOGRAFÍA Diagramas de Voronoi Geográficos Aplicación de los diagramas de Voronoi a los SIGs GEOLOGÍA Reconstrucción de datos geológicos HIDRODINÁMICA Segmentación dinámica y polígonos de Thiessen
10
IMAGINERÍA Segmentación de una imagen basándose en los bordes Comunicación Real de Rostros en un Mundo Virtual Niveles de Detalle y Simplificación Polinomial MATEMÁTICAS Fractales desde diagramas de Voronoi MECÁNICA COMPUTACIONAL Las Mecánicas Computacionales Relacionadas a Múltiples modelados de Materiales
11
MEDICINA Reconstrucción tridimensional computerizada y análisis cuantitativo de neuronas y de haces dendríticos en la corteza cerebral Segmentación cromática semi-automatizada del tejido fino anatómico MODELADO DEL TERRENO Imágenes en perspectiva de modelos costeros QUÍMICA Teoría de la Codificación en la Química Computacional Michel Sanner - Superficies Moleculares
12
ROBÓTICA Uso de técnicas, necesarias en la navegación de un robot autónomo. Planificación de Trayectorias para Robots Móviles
13
¿Cómo calcular la región de Voronoi de un punto?
La región de Voronoi del punto rojo es el lugar geométrico de los puntos que están más cerca del punto rojo que de los puntos azules. S = {p1,...,pn} a cada pi le asociamos aquellos puntos del plano que están más cerca (o a igual distancia) de él que de cualquier otro de los pj (con i distinto de j). Región de Voronoi
14
¿Cómo calcular la región de Voronoi de un punto?
La región de Voronoi del punto rojo es el lugar geométrico de los puntos que están más cerca del punto rojo que de los puntos azules.
15
¿Cómo calcular la región de Voronoi de un punto?
Los puntos que están en la región de Voronoi del punto rojo, deben estar más cerca de él que del punto amarillo ¿Cuáles son los puntos más cercanos al rojo que al amarillo?
16
¿Cómo calcular la región de Voronoi de un punto?
Los puntos que están en la región de Voronoi del punto rojo, deben estar más cerca de él que del punto amarillo y del marrón
17
¿Cómo calcular la región de Voronoi de un punto?
Los puntos del plano pertenecientes a h(pi,pj) son aquellos que están más próximos a pi que a pj. Lema: La intersección de los semiplanos h(p1,pj) es Vor(p1). Corolario: Vor(p1) es un convexo.
18
Diagrama de Voronoi vértices aristas Lema: La intersección de los semiplanos h(p1,pj) es Vor(p1). Teorema: La intersección de N semiplanos se puede calcular en tiempo óptimo O(N log N). Corolario: Vor(p1) se puede calcular en tiempo óptimo O(N log N). Corolario: El diagrama de Voronoi de una nube de N puntos se puede calcular en tiempo óptimo O(N2log N).
19
Un polígono de Voronoi. Un diagrama de Voronoi
20
La envolvente convexa de una nube de puntos.
21
Una región de Voronoi V(i) es no acotada si y sólo si
su generador pi es un punto de la frontera de la envolvente convexa del conjunto S Teorema (de caracterización de las regiones Voronoi acotadas) Una región de Voronoi V(i) es acotada si y sólo si su generador pi es un punto interior de la envolvente convexa del conjunto S.
22
Teorema (de caracterización de los bordes de un diagrama de Voronoi)
Los bordes de una región de Voronoi son rectas infinitas si y sólo si todos los puntos de P están sobre una misma recta. b) El borde de Voronoi entre dos generadores es una semirrecta si y sólo si S no es colineal y los generadores son consecutivos en la frontera de la envolvente convexa de S. c) El borde de Voronoi entre dos generadores es un segmento de recta finito si y sólo si S es no colineal y al menos uno de los generadores está en el interior de la envolvente convexa de S.
23
Teorema: Cada vértice del diagrama de Voronoi Vor(P) es la
intersección común a tres bordes del diagrama (o a más si es degenerado) Corolario: El diagrama de Voronoi de una nube de puntos es un grafo 3-regular
24
Definición: Dado un punto q llamaremos círculo máximo vacío al mayor círculo centrado en q que no contiene a ningún generador del diagrama en su interior Teorema: Para cada vértice v del diagrama de Voronoi de S, la circunferencia C(v) no contiene a ningún otro punto de S
25
Teorema: Cada vecino más cercano de pi define un borde del polígono de Voronoi V(i)
26
Dado un diagrama de Voronoi Vor(P) generado por un
conjunto de puntos P en el plano, se cumple: a) Un punto q es vértice de Vor(P) si y sólo si el círculo máximo vacío centrado en q contiene tres generadores en su frontera o más en el caso de un diagrama degenerado
27
b) La mediatriz entre dos generadores define un borde de Vor(P)
si y sólo si existe un punto q sobre dicha bisectriz tal que el círculo máximo vacío centrado en q contiene solamente a estos dos generadores en su frontera
28
EL DUAL DEL DIAGRAMA DE VORONOI
Teorema: El dual del diagrama de Voronoi es una triangulación.
29
¿Cómo calcular el diagrama de Voronoi de S?
30
Diagrama de Voronoi vértices aristas Lema: La intersección de los semiplanos h(p1,pj) es Vor(p1). Teorema: La intersección de N semiplanos se puede calcular en tiempo óptimo O(N log N). Corolario: Vor(p1) se puede calcular en tiempo óptimo O(N log N). Corolario: El diagrama de Voronoi de una nube de N puntos se puede calcular en tiempo óptimo O(N2log N).
31
¿Cómo calcular el diagrama de Voronoi de S?
32
¿Cómo calcular el diagrama de Voronoi de S?
33
¿Cómo calcular el diagrama de Voronoi de S?
34
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S).
35
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S).
36
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S).
37
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S).
38
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S).
39
¿cómo? ¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S). ¿cómo?
40
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S).
41
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S). ¿Cómo calcular el diagrama de Voronoi de 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).
42
¿Cómo calcular el diagrama de Voronoi de S?
Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S). ¿Cómo calcular el diagrama de Voronoi de S? ¿cómo? Calcular la poligonal c. Eliminar las líneas de Vor(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).
43
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c.
44
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria.
45
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. q p Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto.
46
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. q p Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q
47
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. q p Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3.
48
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. q p Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3.
49
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. p Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. q
50
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. p Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. q
51
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. q p
52
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. q p
53
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. p q
54
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. p q
55
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. p q
56
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. q p
57
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3. q p
58
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Se encuentra un punto muy alto sobre la línea divisoria. Se determina en la región de qué punto p de S1 y en la región de qué punto q de S2 está el punto. Mientras esté en la región de p y en la región de q, calcular la mediatriz entre p y q Si toco a una línea de verde, actualizar el punto q, si toco una línea marrón actualizar p. Volver a 3.
59
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Eliminar las líneas de Vor(S1) (Vor(S2)) a la derecha (izquierda) de c
60
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Eliminar las líneas de Vor(S1) (Vor(S2)) a la derecha (izquierda) de c
61
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Eliminar las líneas de Vor(S1) (Vor(S2)) a la derecha (izquierda) de c
62
¿Cómo calcular el diagrama de Voronoi de S?
Calcular la poligonal c. Eliminar las líneas de Vor(S1) (Vor(S2)) a la derecha (izquierda) de c
63
Paradigma de divide y vencerás
¿Cómo calcular el diagrama de Voronoi de S? Paradigma de divide y vencerás Dividir S en dos subconjuntos S1 y S2 de aproximadamente el mismo tamaño. Calcular recursivamente Vor(S1) y Vor(S2). Unir la información obtenida en 2 para obtener Vor(S). Paso 3 es de O(n). Coste: T(n) T(n)=2T(n/2)+O(n) T(n)O(n log n)
64
¿Cómo calcular el diagrama de Voronoi de S?
Teorema: El método de divide y vencerás calcula el diagrama de Voronoi de n puntos en el plano en tiempo óptimo O(n log n). T(n)O(n log n)
65
Teorema: El método de divide y vencerás calcula el diagrama de Voronoi de n puntos en el plano en tiempo óptimo O(n log n). Algoritmo de Fortune
66
Bibliografía Computational Geometry: an introduction.
F. P. Preparata y M. I. Shamos. Springer-Verlag, 1985. Computational Geometry; Algorithms and Applications. Mark de Berg et al., Springer-Verlag, 1997.
67
Problemas 1.- 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.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.