A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 7.

Apresentações semelhantes


Apresentação em tema: "Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 7."— Transcrição da apresentação:

1 Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 7

2 O algoritmo de Seidel Ou, porque as vezes é mais eficiente resolver um problema mais difícil.

3 O algoritmo de Seidel O algoritmo de Seidel calcula o mapa de visibilidade horizontal de um conjunto de segmentos em tempo esperado O(n log n) e uso esperado de memória O(n). Como subproduto, ele gera uma estrutura de busca de tamanho esperado O(n) com a qual é possível determinar a qual trapézio um ponto pertence em tempo esperado O(log n) O “esperado” acima se refere a escolhas aleatórias feitas pelo algoritmo. Ou seja os resultados valem para todos conjuntos de segmentos.

4 O algoritmo de Seidel Se os segmentos são as arestas de um grafo planar com com k componentes conexas então o algoritmo de Seidel pode ser adaptado para gerar o mapa de visibilidade em tempo esperado O(n log*n + k log n) e gerar uma estrutura de busca similar à do caso geral. Para polígonos k = 1 e o mapa de visibilidade contém uma trapezoidalização. Daqui segue a triangulação em tempo esperado O(n log*n)

5 O mapa de visibilidade

6 Algoritmo de Seidel 1

7 Algoritmo de Seidel 2

8 Algoritmo de Seidel 3

9 Algoritmo de Seidel 4

10 Algoritmo de Seidel 1B

11 Algoritmo de Seidel 2B

12 Algoritmo de Seidel 3B

13 Algoritmo de Seidel 4B

14 Inserindo segmento com vértice “velho”

15 Versão 1 do algoritmo de Seidel 1- Gere uma permutação aleatória dos vértices 2- Construa o mapa de visibilidade interativamente: Para cada segmento 2-1 Localize o vértice superior e divida o trapézio se necessário 2-2 Localize o vértice inferior e divida o trapézio se necessário 2-3 Caminhe do vértice superior para o inferior dividindo as faces que encontrar e juntando os pedaços se apropriado.

16 Atualização das estruturas de dados No princípio havia o nada Plano, com uma única face Estrutura Q0, com um único vértice do tipo face

17 Inserindo o segmento S=AB

18 Inserindo o segmento T=CD

19 Inserindo o segmento U=EF

20 Inserindo o segmento V=GH

21

22 Inserindo segmento com muitos cortes

23 Custo da busca do ponto q dada a sua face em T_(n-1)

24 Custo da busca

25

26 O Algoritmo de Seidel para Polígonos

27 Atualizando a localização dos extremos No princípio havia o nada: todos segmentos têm seus extremos na única face

28 Atualizando a localização dos extremos Primeira atualização para n = 16: logn = 4, n/logn = 4. Custo: n (log( n/logn) - log(1)) = n (log n - log log n)

29 Custo do algoritmo para polígonos:

30


Carregar ppt "Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 7."

Apresentações semelhantes


Anúncios Google