En el libro "Geometría computacional: algoritmos y aplicaciones" de Mark de Berg et al., Hay un algoritmo de fuerza bruta muy simple para calcular triangulaciones de Delaunay. El algoritmo utiliza la noción de bordes ilegales : bordes que pueden no aparecer en una triangulación de Delaunay válida y deben ser reemplazados por algunos otros bordes. En cada paso, el algoritmo solo encuentra estos bordes ilegales y realiza los desplazamientos necesarios (llamados cambios de borde ) hasta que no haya bordes ilegales.
Algoritmo Triangulación Legal ( )
Entrada . Algunos triangulación de un conjunto de puntos .
Salida . Una triangulación legal de .mientras contiene un borde ilegal
do
Sean y los dos triángulos adyacentes a .
Quite de y agregue lugar.
volver .
He oído que este algoritmo se ejecuta en tiempo en el peor de los casos; sin embargo, no me queda claro si esta afirmación es correcta o no. En caso afirmativo, ¿cómo se puede probar este límite superior?
Respuestas:
Una triangulación de Delaunay puede considerarse como el casco convexo inferior del conjunto de puntos 2D elevado al paraboloide. Por lo tanto, si se toma su conjunto de puntos 2d y asignar a cada punto un z coordenada z i = x 2 i + y 2 1 , a continuación, la proyección de la envolvente convexa inferior en la x y un plano te da la triangulación de Delaunay.(xi,yi) z zi=x2i+y21 xy
Usando esta perspectiva, ¿qué significa que una ventaja sea ilegal? En primer lugar, para cada triangulación T podemos utilizar el mapa parabólica para conseguir una superficie 3d (triangular) que los proyectos a T . Por supuesto, esta superficie no es necesariamente convexa, si fuera convexa, T sería la triangulación de Delaunay. Simplemente hablando, el borde ( p i , p j ) es una obstrucción para la convexidad de la superficie, un borde cóncavo . Al voltear este borde, cambiamos la situación en la superficie elevada solo localmente. Así que echemos un vistazo a los 4 puntos(pi,pj) T T T (pi,pj) . En 3d forman un tetraedro, que se proyecta hasta el cuadrilátero. Como los dos triángulos p i p j p k y p i p j p l definen el borde cóncavo ( p i , p j ) , los triángulos p k p l p i y p k p l p j definen el borde convexo (pi,pj,pk,pl pipjpk pipjpl (pi,pj) pkplpi pkplpj . Por lo tanto, voltear un borde ilegal corresponde a reemplazar un borde cóncavo por un borde convexo en el levantamiento. Tenga en cuenta que estos volteos pueden convertir otros bordes convexos en bordes cóncavos.(pl,pk)
Observación: la imagen no es geométricamente correcta y solo debe considerarse como un boceto.
Deje ser la triangulación después de la vuelta. La superficie elevada de T ' "contiene" la superficie de T . Con esto quiero decir que si observas las dos superficies desde el plano x y solo ves triángulos desde la superficie de T ' (o triángulos que están en ambas superficies). También se podría decir que la superficie de T ' encierra más volumen. Además, el borde ( p i , p j ) se encuentra ahora "detrás" de la superficie elevada inducida por T ' cuando se observa desde el plano x y .T′ T′ T xy T′ T′ (pi,pj) T′ xy
Durante la secuencia de volteo obtenemos una secuencia de superficies con un volumen estrictamente creciente. Por lo tanto, el borde encuentra "detrás" de todas estas superficies. Por lo tanto, nunca puede reaparecer durante el proceso de volteo. Como solo hay n, elija 2 aristas posibles, tenemos como máximo O ( n 2 ) volteretas.(pi,pj) n O(n2)
fuente