Diagramas de Voronoi e Triangulações de Delaunay
Objetivos de Aprendizagem
- Definir o diagrama de Voronoi de um conjunto de sítios e descrever as suas células, arestas e vértices em termos de bissetrizes e circuncentros.
- Definir a triangulação de Delaunay como o dual do diagrama de Voronoi e enunciar a sua propriedade do círculo circunscrito vazio.
- Calcular o predicado incircle como um determinante e usá-lo para decidir trocas de aresta, e explicar a ligação do mapa de elevação com fechos convexos.
- Explicar por que triangulações de Delaunay maximizam o menor ângulo, e por que as duas estruturas têm tamanho linear e construção em .
Contexto e Motivação
Qual hospital fica mais perto de cada casa de uma cidade? A qual torre de celular um telefone deve se conectar? Onde se encontram os territórios de cafeterias concorrentes? Todas essas são perguntas sobre o diagrama de Voronoi, que divide o plano em regiões mais próximas de cada um de um conjunto de sítios. O seu dual, a triangulação de Delaunay, liga sítios que compartilham uma fronteira de Voronoi, e é o jeito padrão de transformar pontos espalhados numa malha: modelos de terreno a partir de amostras de elevação, malhas de elementos finitos para simulação e interpolação de leituras de sensores dependem dela, porque ela evita triângulos longos e finos que causam problemas numéricos.
O conceito anterior introduziu o predicado de orientação e a linha de varredura; este acrescenta um segundo predicado, o teste incircle, e mostra uma ligação bonita: a triangulação de Delaunay de pontos no plano é um fecho convexo em três dimensões, pelo mesmo truque da parábola usado para provar o limite inferior da ordenação. As duas estruturas são capítulos centrais do livro de de Berg et al. e do 15-456 da CMU.
Teoria Central
O diagrama de Voronoi
Dados sítios no plano, a célula de Voronoi de é o conjunto dos pontos pelo menos tão próximos de quanto de qualquer outro sítio:
Cada condição é um semiplano limitado pela mediatriz de , então toda célula é um polígono convexo, possivelmente ilimitado. As fronteiras entre células são as arestas de Voronoi (pontos equidistantes de dois sítios) e os vértices de Voronoi (pontos equidistantes de três ou mais sítios, os circuncentros desses sítios). O círculo de um vértice pelos seus sítios não contém nenhum outro sítio no interior, senão esse sítio estaria mais perto.
O diagrama tem tamanho linear: pela fórmula de Euler, para sítios ele tem no máximo vértices e arestas. O algoritmo de linha de varredura de Fortune (1987) o constrói em , o que é ótimo pela mesma redução a partir da ordenação.
A triangulação de Delaunay
Ligue dois sítios por uma aresta sempre que as suas células de Voronoi compartilharem uma aresta. Para pontos em posição geral (nenhum quarteto num mesmo círculo), o resultado é uma triangulação, a triangulação de Delaunay , com um triângulo por vértice de Voronoi. A sua propriedade definidora:
Círculo circunscrito vazio. Um triângulo com vértices entre os sítios pertence a se e somente se o seu círculo circunscrito não contém nenhum outro sítio no interior.
Consequências úteis: contém o grafo de vizinhos mais próximos e a árvore geradora mínima euclidiana como subgrafos, então qualquer um deles pode ser calculado em construindo primeiro e depois trabalhando sobre o seu número linear de arestas.
O predicado incircle e as trocas de aresta
Para sítios em ordem anti-horária e um ponto de consulta , o teste incircle é o sinal de
Positivo significa que está dentro do círculo por ; negativo, fora; zero, sobre ele. Como a orientação, ele é um polinômio nas coordenadas e pode ser avaliado de forma exata.
O algoritmo de trocas de Lawson parte de qualquer triangulação. Uma aresta compartilhada pelos triângulos e é ilegal se está dentro do círculo circunscrito de ; troque-a pela outra diagonal (uma troca, ou flip). Cada troca melhora estritamente a sequência ordenada de ângulos da triangulação, então o processo termina, e quando não resta aresta ilegal a triangulação é de Delaunay. Combinado com a inserção incremental aleatorizada (adicionar os sítios em ordem aleatória, trocando localmente), isso dá tempo esperado .
Por que os triângulos de Delaunay são bem formados
Entre todas as triangulações de um conjunto de pontos, maximiza o menor ângulo; mais precisamente, maximiza lexicograficamente o vetor ordenado de ângulos. O motivo é um fato clássico sobre círculos: num quadrilátero convexo, escolher a diagonal que torna a triangulação localmente Delaunay sempre dá o maior menor ângulo entre os seis ângulos. Triângulos finos criam grandes erros de interpolação e sistemas lineares mal condicionados em simulações, e é por isso que geradores de malha partem de triangulações de Delaunay.
O mapa de elevação
Eleve todo sítio para no paraboloide . Um círculo no plano se eleva para a interseção do paraboloide com um plano, e um ponto dentro do círculo se eleva para baixo desse plano. Portanto um triângulo tem círculo circunscrito vazio exatamente quando o seu triângulo elevado é uma face do fecho convexo inferior dos pontos elevados, e o determinante incircle é o teste de orientação 3D disfarçado. A triangulação de Delaunay no plano é igual a um fecho convexo no espaço, generalizando o argumento da parábola do conceito anterior.
Exemplos Resolvidos
Exemplo 1: decidindo uma troca com o teste incircle
Problema: Quatro sítios , , , formam um quadrilátero convexo. Uma triangulação usa a diagonal (triângulos e ). é legal?
Rastreamento: Teste se está dentro do círculo circunscrito de (anti-horário: ). Linhas relativas a : , , . Determinante: . está dentro, então é ilegal; troque para . Conferindo a nova configuração, : está fora do círculo circunscrito de , então é legal e a triangulação é de Delaunay. Geometricamente, o círculo circunscrito de tem centro e raio 2,5, e fica a só cerca de 1,8 desse centro.
Exemplo 2: comparando os menores ângulos
Problema: Para o mesmo quadrilátero, calcule o menor ângulo com a diagonal e com a diagonal .
Rastreamento: Diagonal : o triângulo tem ângulo reto em e ângulos de cerca de em e em ; o triângulo tem cerca de em , em e em . Mínimo: . Diagonal : o triângulo tem em , cerca de em , em ; o triângulo tem em , em , em . Mínimo: . A troca escolhida pelo teste incircle elevou o menor ângulo de para , exatamente como a propriedade de maximizar o menor ângulo promete.
Equívocos Comuns e Armadilhas
- "Delaunay significa ligar cada ponto aos seus vizinhos mais próximos." As arestas de vizinho mais próximo estão contidas em , mas tem muito mais arestas, e a sua propriedade definidora é sobre círculos vazios, não sobre distâncias a vizinhos individuais.
- "A triangulação de Delaunay é sempre única." Com quatro ou mais sítios cocirculares (os cantos de um retângulo, por exemplo), várias triangulações satisfazem a propriedade do círculo vazio; implementações precisam desempatar de forma consistente, muitas vezes por perturbação simbólica.
- "Maximizar o menor ângulo significa nenhum triângulo fino." A Delaunay maximiza o menor ângulo para os pontos dados, mas, se os próprios pontos estiverem mal distribuídos, triângulos finos podem continuar. Geradores de malha de qualidade (como o algoritmo de Ruppert) inserem pontos extras para garantir limites de ângulo.
Resumo
O diagrama de Voronoi divide o plano em células convexas de pontos mais próximos de cada sítio, com arestas sobre mediatrizes e vértices nos circuncentros de círculos vazios; ele tem no máximo vértices e arestas e é construído em . O seu dual, a triangulação de Delaunay, é formada exatamente pelos triângulos com círculos circunscritos vazios, contém o grafo de vizinhos mais próximos e a árvore geradora mínima e maximiza o menor ângulo entre todas as triangulações. O determinante incircle decide trocas de aresta de forma exata, e elevar os pontos a um paraboloide transforma a triangulação de Delaunay num fecho convexo 3D inferior. O capstone a seguir aplica todo o ferramental desta trilha a problemas realistas.