1 / 52

Diagramas de Voronoi

Diagramas de Voronoi. Clasificación de objetos (reconocedor de voz). 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. Región de Voronoi. ¿Cómo calcular la región de Voronoi de un punto?.

MikeCarlo
Download Presentation

Diagramas de Voronoi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Diagramas de Voronoi

  2. Clasificación de objetos (reconocedor de voz)

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

  4. Región de Voronoi ¿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. P = {p1,...,pn} a cada pj le asociamos aquellos puntos del plano que están más cerca o igual suya que de cualquier otro de los pi con i distinto de j.

  5. ¿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.

  6. ¿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?

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

  8. ¿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.

  9. ¿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.

  10. vértices aristas Diagrama de Voronoi Lema: La intersección de los semiplanos h(p1,pj) es Vor(p1). Teorema: La intersección de N semiplanosse 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).

  11. 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. La bisectriz 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. 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 o (en el caso de tratarse de un diagrama degenerado) más generadores en su frontera

  12. ¿Cómo calcular el diagrama de Voronoi de S?

  13. ¿Cómo calcular el diagrama de Voronoi de S?

  14. ¿Cómo calcular el diagrama de Voronoi de S?

  15. ¿Cómo calcular el diagrama de Voronoi de S?

  16. ¿Cómo calcular el diagrama de Voronoi de S?

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

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

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

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

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

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

  23. ¿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?

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

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

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

  27. ¿Cómo calcular el diagrama de Voronoi de S? • Calcular la poligonal c.

  28. ¿Cómo calcular el diagrama de Voronoi de S? • Calcular la poligonal c. • Se encuentra un punto muy alto sobre la línea divisoria.

  29. ¿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.

  30. ¿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

  31. ¿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.

  32. ¿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.

  33. ¿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

  34. ¿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

  35. ¿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

  36. ¿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

  37. ¿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

  38. ¿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

  39. ¿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

  40. ¿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

  41. ¿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

  42. ¿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.

  43. ¿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

  44. ¿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

  45. ¿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

  46. ¿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

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

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

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

More Related