INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Geometria Computacional: Triangulação INF2604 – Geometria Computacional Prof. Hélio Lopes [email protected] sala 408 RDC Triangulação Considere S um conjunto de pontos no plano. O que é uma triangulação de S? Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto maximal de arestas que não se interseptam e cujo conjunto de vértices é S. A palavra maximal aqui se refere a que qualquer aresta que não esteja na triangulação interseptaria o interior de pelo menos uma aresta da triangulação. 1 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Perguntas: 1. Todos os pontos no fecho convexo estarão na triangulação de S? 2. A definição de triangulação não mencionou triângulos. Será que todas as regiões de uma subdivisão do plano determinada por um conjunto maximal de arestas dentro do fecho convexo tem que ser triângulos? Triangulação Algoritmo para triangulação do fecho convexo de S 2 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Triangulação Lema 1: Seja S um conjunto de pontos no plano, que possui k pontos no interior do seu fecho convexo e h pontos no fecho. Se todos os pontos são nãocolineares, qualquer triangulação de S que seja obtida pelo algoritmo de triangle-spliting tem exatamente 2k+h-2 triângulos. 3 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Algoritmo incremental para triangulação do fecho convexo de S Triangulação 4 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação O número de triângulos na triangulação de um polígono depende do número de vértices do polígono. O Lema 1 mostrou que para o algoritmo trianglesplitting existe um número fixo de triângulos. Mostraremos agora que esse resultado vale para qualquer triangulação de S. Triangulação Teorema de Euler: Seja G um grafo planar com V vértices, E arestas e F faces no plano (onde a face externa é ilimitada). Então V-E+F=2. 5 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Teorema 2: Seja S um conjunto de pontos no plano com h vértices no fecho e k vértices no interior. Se nem todos os pontos são colineares, então qualquer triangulação de S tem exatamente 2k +h-2 triângulos e 3k+2h-3 arestas. Prova; Seja T uma triangulção de S e t o número de triângulos em T. Sabemos que T divide o plano em t+1 faces (t triângulos em T e uma face externa). Cada triângulo tem 3 arestas e a face externa tem h arestas. Como cada aresta toca duas faces exatamente, então 3t+h=2E. Aplicando a fórmula de Euler temos: Resolvendo a equação em relação a t, obtemos: Triangulação Operação de Flip na aresta: Considere a triangulação de um quadrilatero ABCD convexo, uma operação de flip na aresta AC remove a diagonal AC e a substitui pela diagonal BC. 6 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Grafo de Flip de umconjunto de pontos S Para um dado conjunto de pontos S, o grafo de flip de S é o grafo onde cada nó representa uma triangulação no conjunto de todas as possíveis triangulações de S. Dois nós T1 e T2 desse grafo estão ligados por um arco se ao operar um flip numa aresta de T1 obtemos T2. Triangulação 7 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Construa o grafo de flip do seguinte conjunto S Triangulação Uma triangulação de S pode ser transformada em outra via uma seqüência de flips? Em outras palavras, o grafo de flip de S é conexo? 8 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Teorema: O grafo de flip de qualquer conjunto de pontos S no plano é conexo. ISSO PODE SER USADO PARA MELHORAR A QUALIDADE DE UMA TRIANGULAÇÃO! Triangulação MAS QUAL SERIA DENTRE AS TRIANGULAÇÕES A MELHOR PARA CONSTRUIR UM TERRENO TENDO A ALTURA DE ALGUNS PONTOS? 9 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Triangulação Assuma que os pontos de S estão em posição geral, que nesse caso significam que nenhum conjunto de quatro pontos são co-circulares. Seja T uma triangulação de S, e suponha que T tenha n triângulos. A seqüência de ângulos (a1,a2,…,a3n) de T é uma lista de todos os 3n ângulos de T ordenados do menor para o maior. Usando essa seqüencia de ângulos, nós podemos agora comparar duas triângulações de S. 10 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação Para duas triangulações T1 e T2 de S, dizemos que T1 é mais gorda que T2, e denotamos por T1 > T2, se a seqüência de ângulos de T1 é lexograficamente maior do que a de T2. Em outras palavras, se (a1,a2,…,a3n) é a seq. ordenada de ângulos de T1 e (b1,b2,…,b3n) é a seq. ordenada de ângulos de T2, então existe um k, com 0<k<3n+1, onde ai = bi e ak>bk. > Triangulação Definição: Seja e uma aresta de T1, e seja Q um quadrilátero em T1 formado por dois triângulos que possuem e como uam areta comum. Se Q é convexo, seja T2 a triangulação obtida pela operação de flip na aresta e em T1. Dizemos que e é uma aresta legal se T1 >= T2 e e é uma aresta ilegal se T1<T2. 11 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação de Delaunay O que é a triangulação de Delaunay? Uma Triangulação de Delaunay para um conjunto de pontos S no plano, denotada por Del(S), é uma triangulação onde todas as arestas são legais. Triangulação de Delaunay Teorema (Thales): Se P,Q e B são três pontos no círculo, A um pontro dentro do círculo e C um ponto fora do círculo, então o ângulo PAQ é maior do que o ângulo PBQ, e o ângulo PBQ é maior do que o ângulo PCQ. 12 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação de Delaunay Proposição: Seja e uma aresta de uma triangulação, onde e=AC pertence a dois triângulos ABC e ACD. Então e é uma aresta legal se D está fora do circumcírculo de ABC e é uma aresta ilegal se D está nesse mesmo circumcírculo. Triangulação de Delaunay Teorema (Propriedade do Círculo Vazio): Seja S um conjunto de pontos em posição geral. Uma triangulação T é uma triangulação de Delaunay se e somente se nenhum ponto de S está no interior de qualquer circumcírculo de um triângulo de T. 13 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação de Delaunay Triangulação de Delaunay 14 INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12 Triangulação de Delaunay InCircle Test: Sejam A, B e C três vértices de um triângulo ABC orientado no sentido anti-horário. Um ponto D está no interior do circumcírculo de ABC se e somente se: dúvidas? Prof. Hélio Lopes [email protected] sala 408 RDC 15