Diagrama de Voronoi

Ajustar Compartir Imprimir Citar
Tipo de partición de plano
20 puntos y sus células Voronoi (versión más grande abajo)

En matemáticas, un diagrama de Voronoi es una partición de un plano en regiones cercanas a cada uno de un conjunto dado de objetos. En el caso más simple, estos objetos son solo un número finito de puntos en el plano (llamados semillas, sitios o generadores). Para cada semilla hay una región correspondiente, llamada celda de Voronoi, que consta de todos los puntos del plano más cercanos a esa semilla que a cualquier otra. El diagrama de Voronoi de un conjunto de puntos es dual a la triangulación de Delaunay de ese conjunto.

El diagrama de Voronoi lleva el nombre del matemático Georgy Voronoy, y también se llama teselado de Voronoi, descomposición de Voronoi, partición de Voronoi, o un teselado de Dirichlet (después de Peter Gustav Lejeune Dirichlet). Las celdas de Voronoi también se conocen como polígonos de Thiessen. Los diagramas de Voronoi tienen aplicaciones prácticas y teóricas en muchos campos, principalmente en ciencia y tecnología, pero también en artes visuales.

El caso más simple

En el caso más simple, que se muestra en la primera imagen, tenemos un conjunto finito de puntos {p1,..., pn} en el plano euclidiano. En este caso cada sitio pk es simplemente un punto, y su correspondiente celda de Voronoi Rk consiste en cada punto en el plano euclidiano cuya distancia a pk es menor o igual a su distancia a cualquier otro pk. Cada una de esas celdas se obtiene de la intersección de semiespacios y, por lo tanto, es un poliedro (convexo). Los segmentos de línea del diagrama de Voronoi son todos los puntos en el plano que son equidistantes de los dos sitios más cercanos. Los vértices (nodos) de Voronoi son los puntos equidistantes a tres (o más) sitios.

Definición formal

Vamos X{textstyle X} ser un espacio métrico con función de distancia d{textstyle d}. Vamos K{textstyle K} ser un conjunto de índices y dejar ()Pk)k▪ ▪ K{textstyle (P_{k})_{kin K} ser un tuple (recopilación indexada) de subconjuntos no vacíos (los sitios) en el espacio X{textstyle X}. La célula Voronoi, o región de Voronoi, Rk{textstyle R_{k}, asociado con el sitio Pk{textstyle P_{k} es el conjunto de todos los puntos en X{textstyle X} cuya distancia Pk{textstyle P_{k} no es mayor que su distancia a los otros sitios Pj{textstyle P_{j}, donde j{textstyle j} es cualquier índice diferente de k{textstyle k}. En otras palabras, si d()x,A)=inf{}d()x,a)▪ ▪ a▪ ▪ A}{textstyle d(x,,A)=inf{d(x,a)mid ain A} denota la distancia entre el punto x{textstyle x} y el subconjunto A{textstyle A}, entonces

Rk={}x▪ ▪ X▪ ▪ d()x,Pk)≤ ≤ d()x,Pj)para todosjل ل k}{displaystyle R_{k}={xin Xmid d(x,P_{k})leq d(x,P_{j});{text{for all};jneq k}

El diagrama Voronoi es simplemente el tuple de células ()Rk)k▪ ▪ K{textstyle (R_{k})_{kin K}. En principio, algunos de los sitios pueden interseccionar e incluso coincidir (una aplicación se describe a continuación para sitios que representan tiendas), pero generalmente se supone que están descompuestos. Además, se permiten infinitamente muchos sitios en la definición (esta configuración tiene aplicaciones en geometría de números y cristalografía), pero de nuevo, en muchos casos sólo se consideran finitos muchos sitios.

En el caso particular donde el espacio es un espacio euclidiano de dimensión finita, cada sitio es un punto, hay un número finito de puntos y todos son diferentes, entonces las celdas de Voronoi son politopos convexos y se pueden representar en un forma combinatoria utilizando sus vértices, lados, caras bidimensionales, etc. A veces, la estructura combinatoria inducida se denomina diagrama de Voronoi. Sin embargo, en general, las celdas de Voronoi pueden no ser convexas o incluso conectadas.

En el espacio habitual de Euclidean, podemos reescribir la definición formal en términos habituales. Cada polígono Voronoi Rk{textstyle R_{k} se asocia con un punto generador Pk{textstyle P_{k}. Vamos X{textstyle X} ser el conjunto de todos los puntos en el espacio Euclideano. Vamos P1{textstyle P_{1} ser un punto que genera su región de Voronoi R1{textstyle R_{1}, P2{textstyle P_{2} que genera R2{textstyle R_{2}, y P3{textstyle P_{3} que genera R3{textstyle R_{3}, y así sucesivamente. Entonces, como lo expresó Tran et, "todas las ubicaciones en el polígono Voronoi están más cerca del punto generador de ese polígono que cualquier otro punto generador en el diagrama Voronoi en el plano Euclideano".

Ilustración

Como ilustración simple, considere un grupo de tiendas en una ciudad. Supongamos que queremos estimar el número de clientes de una tienda dada. Con todo lo demás siendo igual (precio, productos, calidad de servicio, etc.), es razonable suponer que los clientes eligen su tienda preferida simplemente por consideraciones de distancia: irán a la tienda ubicada más cercana a ellos. En este caso la célula Voronoi Rk{displaystyle R_{k} de una tienda dada Pk{displaystyle P_{k} se puede utilizar para dar una estimación aproximada del número de clientes potenciales que van a esta tienda (que es modelado por un punto en nuestra ciudad).

Para la mayoría de las ciudades, la distancia entre puntos se puede medir usando el conocido Distancia euclidiana:

l l 2=d[()a1,a2),()b1,b2)]=()a1− − b1)2+()a2− − b2)2{displaystyle ell _{2}=dleft[left(a_{1},a_{2}right),left(b_{1},b_{2}right)={sqrt {left(a_{1}-b_{1}right)^{2}+left (a_{2}-b_{2} {2}}}

o la distancia de Manhattan:

d[()a1,a2),()b1,b2)]=Silencioa1− − b1Silencio+Silencioa2− − b2Silencio{displaystyle dleft[left(a_{1},a_{2}right),left(b_{1},b_{2}right)right]=left perpetuaa_{1}-b_{1}right eterna+left WordPressa_{2}-b_right.

Los diagramas de Voronoi correspondientes se ven diferentes para diferentes métricas de distancia.

diagramas de Voronoi de 20 puntos bajo dos métricas diferentes
Voronoi diagram under Euclidean distance
Distancia euroclidiana
Voronoi diagram under Manhattan distance
Distancia a Manhattan

Propiedades

Historia e investigación

El uso informal de los diagramas de Voronoi se remonta a Descartes en 1644. Peter Gustav Lejeune Dirichlet usó diagramas de Voronoi bidimensionales y tridimensionales en su estudio de formas cuadráticas en 1850. El médico británico John Snow usó un diagrama similar al de Voronoi en 1854 para ilustrar cómo la mayoría de las personas que murieron en el brote de cólera de Broad Street vivían más cerca de la bomba infectada de Broad Street que de cualquier otra bomba de agua.

Los diagramas de Voronoi llevan el nombre de Georgy Feodosievych Voronoy, quien definió y estudió el caso general n-dimensional en 1908. Los diagramas de Voronoi que se utilizan en geofísica y meteorología para analizar datos distribuidos espacialmente (como mediciones de lluvia) se llaman polígonos de Thiessen en honor al meteorólogo estadounidense Alfred H. Thiessen. Otros nombres equivalentes para este concepto (o casos particulares importantes del mismo): poliedros de Voronoi, polígonos de Voronoi, dominio(s) de influencia, descomposición de Voronoi, teselado(s) de Voronoi, teselado(s) de Dirichlet.

Ejemplos

Esta es una rebanada del diagrama Voronoi de un conjunto aleatorio de puntos en una caja 3D. En general, una sección transversal de un tessellation Voronoi 3D no es una tessellation 2D Voronoi en sí. (Las células son convexas polihedra.)

Las teselaciones de Voronoi de redes regulares de puntos en dos o tres dimensiones dan lugar a muchas teselaciones familiares.

Para el conjunto de puntos (x, y) con x en un conjunto discreto X y y en un conjunto discreto Y, obtenemos mosaicos rectangulares con los puntos no necesariamente en sus centros.

Diagramas de Voronoi de orden superior

Aunque una celda de Voronoi normal se define como el conjunto de puntos más cercanos a un único punto en S, una celda de Voronoi de nésimo orden se define como el conjunto de puntos que tienen un conjunto particular de n puntos en S como sus n vecinos más cercanos. Los diagramas de Voronoi de orden superior también subdividen el espacio.

Los diagramas de Voronoi de orden superior se pueden generar recursivamente. Para generar el diagrama de Voronoi de orden nth a partir del conjunto S, comience con (n − 1)th-order y reemplace cada celda generada por X = {x1, x2,..., xn−1} con un diagrama de Voronoi generado en el conjunto SX.

Diagrama de Voronoi del punto más lejano

Para un conjunto de n puntos, el diagrama de Voronoi de (n − 1)ésimo orden se denomina diagrama de Voronoi del punto más lejano.

Para un conjunto dado de puntos S = {p1, p2,..., pn} el diagrama de Voronoi del punto más lejano divide el plano en celdas en las que el mismo punto de P es el punto más lejano. Un punto de P tiene una celda en el diagrama de Voronoi del punto más lejano si y solo si es un vértice del casco convexo de P. Sea H = {h1, h2,..., hk} sea el casco convexo de P; entonces el diagrama de Voronoi del punto más lejano es una subdivisión del plano en celdas k, una para cada punto en H, con la propiedad de que un punto q se encuentra en la celda correspondiente a un sitio hi si y solo si d(q, hi) > d(q, pj) para cada pjS con hipj, donde d(p, q) es la distancia euclidiana entre dos puntos p y q.

Los límites de las celdas en el diagrama de Voronoi del punto más lejano tienen la estructura de un árbol topológico, con infinitos rayos como hojas. Todo árbol finito es isomorfo al árbol formado de esta manera a partir de un diagrama de Voronoi del punto más lejano.

Generalizaciones y variaciones

Como implica la definición, las celdas de Voronoi se pueden definir para métricas distintas a las euclidianas, como la distancia de Mahalanobis o la distancia de Manhattan. Sin embargo, en estos casos los límites de las celdas de Voronoi pueden ser más complicados que en el caso euclidiano, ya que el lugar geométrico equidistante de dos puntos puede no ser subespacio de codimensión 1, incluso en el caso bidimensional.

Diagrama de Voronoi aproximado de un conjunto de puntos. Observe los colores mezclados en el límite borroso de las células Voronoi.

Un diagrama de Voronoi ponderado es aquel en el que la función de un par de puntos para definir una celda de Voronoi es una función de distancia modificada por pesos multiplicativos o aditivos asignados a los puntos generadores. A diferencia del caso de las celdas de Voronoi definidas mediante una distancia que es una métrica, en este caso algunas de las celdas de Voronoi pueden estar vacías. Un diagrama de potencia es un tipo de diagrama de Voronoi definido a partir de un conjunto de círculos utilizando la distancia de potencia; también se puede considerar como un diagrama de Voronoi ponderado en el que se suma un peso definido a partir del radio de cada círculo a la distancia euclidiana al cuadrado desde el centro del círculo.

El diagrama de Voronoi n{displaystyle n} puntos en d{displaystyle d}- espacio dimensional puede tener O()n⌈ ⌈ d/2⌉ ⌉ ){textstyle O(n^{lceil d/2rceil }} vértices, que requieren el mismo límite para la cantidad de memoria necesaria para almacenar una descripción explícita de ella. Por lo tanto, los diagramas de Voronoi a menudo no son factibles para dimensiones moderadas o altas. Una alternativa más eficiente en el espacio es utilizar diagramas de Voronoi aproximados.

Los diagramas de Voronoi también están relacionados con otras estructuras geométricas, como el eje medial (que ha encontrado aplicaciones en la segmentación de imágenes, el reconocimiento óptico de caracteres y otras aplicaciones informáticas), el esqueleto recto y los diagramas de zonas.

Aplicaciones

Meteorología/Hidrología

Se utiliza en meteorología e hidrología de ingeniería para encontrar los pesos de los datos de precipitación de las estaciones sobre una zona (aguantada). Los puntos que generan los polígonos son la estación que registra datos de precipitación. Los bisectores perpendiculares se dibujan en la línea que une cada dos estaciones. Esto resulta en la formación de polígonos alrededor de las estaciones. La zona ()Ai){displaystyle (A_{i})} punto de la estación de contacto se conoce como área de influencia de la estación. La precipitación promedio se calcula por la fórmula P̄ ̄ =.. AiPi.. Ai{displaystyle {bar {f}={frac {fnK}= {fnK}}= {fnf}} {fnf}fnf}fnfnfnfnfnK} A_{i}P_{i}{sum A_{i}}}

Humanidades y ciencias sociales

Ciencias naturales

Una tessellación Voronoi emerge por el crecimiento radial de las semillas hacia fuera.

Salud

Ingeniería

Geometría

Informática

Cívica y planificación

Panadería

Algoritmos

Se conocen varios algoritmos eficientes para construir diagramas de Voronoi, ya sea directamente (como el propio diagrama) o indirectamente comenzando con una triangulación de Delaunay y luego obteniendo su dual. Los algoritmos directos incluyen el algoritmo de Fortune, un algoritmo O(n log(n)) para generar un diagrama de Voronoi a partir de un conjunto de puntos en un plano. Algoritmo Bowyer-Watson, un algoritmo O(n log(n)) a O(n2) para generar una triangulación de Delaunay en cualquier número de dimensiones, se puede utilizar en un algoritmo indirecto para el diagrama de Voronoi. El algoritmo de inundación de salto puede generar diagramas de Voronoi aproximados en tiempo constante y es adecuado para su uso en hardware de gráficos básicos.

El algoritmo de Lloyd's y su generalización a través del algoritmo de Linde-Buzo-Gray (también conocido como agrupamiento de k-means), utiliza la construcción de diagramas de Voronoi como una subrutina. Estos métodos alternan entre pasos en los que uno construye el diagrama de Voronoi para un conjunto de puntos semilla y pasos en los que los puntos semilla se mueven a nuevas ubicaciones que son más centrales dentro de sus celdas. Estos métodos se pueden usar en espacios de dimensión arbitraria para converger iterativamente hacia una forma especializada del diagrama de Voronoi, llamada teselación centroidal de Voronoi, donde los sitios se han movido a puntos que también son los centros geométricos de sus celdas.

Voronoi en 3D

Las mallas de Voronoi también se pueden generar en 3D. Mathematica 13.1 agregó soporte para renderizar descomposiciones de espacio en malla Voronoi 3D.