geometria computacional: triangulação - puc-riolopes/inf2604/cg4.pdf · uma triangulação para...

15
1 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.

Upload: vandien

Post on 08-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

1  

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.

Page 2: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

2  

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

Page 3: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

3  

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ão-colineares, qualquer triangulação de S que seja obtida

pelo algoritmo de triangle-spliting tem exatamente 2k+h-2 triângulos.

Page 4: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

4  

INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12

   

Triangulação

Algoritmo incremental para triangulação

do fecho convexo de S

   

Triangulação

Page 5: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

5  

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 triangle-splitting 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.

Page 6: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

6  

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.

Page 7: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

7  

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

Page 8: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

8  

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?

Page 9: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

9  

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?

Page 10: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

10  

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.

Page 11: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

11  

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.

Page 12: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

12  

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.

Page 13: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

13  

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.

Page 14: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

14  

INF2604 - GEOMETRIA COMPUTACIONAL • Prof. Hélio Lopes 9/13/12

   

Triangulação de Delaunay

   

Triangulação de Delaunay

Page 15: Geometria Computacional: Triangulação - PUC-Riolopes/inf2604/CG4.pdf · Uma Triangulação para um conjunto de pontos S no plano é uma subdivisão do plano determinada por um conjunto

15  

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