Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouZaira Rosa Carmona Alterado mais de 9 anos atrás
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
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
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:
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.