1 / 22

Geometria Computacional

Geometria Computacional. Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 9. Decomposição em partes convexas. Não convexo = complexo. Convexo = simples. Ser convexo é:. Ser intersecção de semiplanos. Ter ângulos internos <= 180. Ter Pontos internos ligados por segmentos internos.

solana
Download Presentation

Geometria Computacional

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Decomposição em partes convexas Não convexo = complexo Convexo = simples

  3. Ser convexo é: Ser intersecção de semiplanos Ter ângulos internos <= 180 Ter Pontos internos ligados por segmentos internos

  4. Primeira tentativa: triangulação. Custo baixo: teórico O(n). Esperado O(n log*n) na prática.Qualidade: ruim, n - 2 partes

  5. Segunda tentativa: juntar triângulos (Hertel and Mehlhorn). Custo baixo: teórico O(n). Esperado O(n log*n) na prática.Qualidade: 2 r + 1 partes, r = número de ângulos reversos

  6. Hertel and Mehlhorn: juntar quais triângulos? Analise o “V” pontilhado associado a cada vértice reverso.1- Se o “V” contiver diagonais, escolha uma delas e pinte-a de magenta.2- Se o “V” não contiver diagonal alguma, pinte a diagonal mais próxima do “V” de cada lado de magenta.3- Apague as diagonais que não foram pintadas de magenta.

  7. Hertel and Mehlhorn: resultado final Número de diagonais <= 2 r implica em número de faces <= 2 r + 1.Neste caso é melhor: r = 4 e nFaces = 7 < 9Poderia ser melhor?

  8. Hertel and Mehlhorn: resultado final Número de diagonais <= 2 r implica em número de faces <= 2 r + 1.Neste caso é melhor: r = 4 e nFaces = 7 < 9Poderia ser melhor?

  9. Pode melhorar? Sim, escolha outra triangulação: Poderia ser ainda melhor?

  10. Pode melhorar? Só com diagonais não. Pode melhorar?

  11. Pode melhorar? De jeito nenhum! Prova: cada “V” pontilhado tem que conter pelo menos um lado de uma parte convexa. Como os “V”s pontilhados são disjuntos, eles devem conter pelo menos 4 lados. Isto implica em pelo menos 5 partes convexas.

  12. Casos gerais Teorema: é sempre possível obter r + 1 partes convexas.Prova: trace as bissetrizes dos vértice reversos, uma a uma. As r bissetrizes vão levar a r + 1 partes convexas. Teorema: o número mínimo de faces convexas é r/2 + 1.Prova: cada vértice reverso tem que ser “quebrado” pelo menos uma vez. Uma diagonal quebra no máximo 2 vértices. Logo pelo menos r/2 diagonais deverão permanecer. Isto dá r/2 + 1 faces. Corolário: O algoritmo de Hertel & Mehlhorn erra por um fator de no máximo 4 ~ (2 r + 1) / (r/2 + 1).

  13. Exemplos: pontos internos

  14. Hertel and Mehlhorn pode atingir o fator 4:

  15. Hertel and Mehlhorn pode atingir o fator 4:

  16. Uma proposta de algoritmo O(n logn) que erra no máximo um fator de 2

  17. Uma proposta de algoritmo O(n logn) que erra no máximo um fator de 2 Estruturas de dados1- Array de listas duplamente ligadas para representar os polígonos em construção2- Heap para determinar a o ordem dos eventos3- Árvore balanceada para administrar os cortes da scanline

  18. Uma proposta de algoritmo O(n logn) que erra no máximo um fator de 2. Eventos: novo lado

  19. Uma proposta de algoritmo O(n logn) que erra no máximo um fator de 2. Eventos: novo máximo local

  20. Uma proposta de algoritmo O(n logn) que erra no máximo um fator de 2. Eventos: novo mínimo local

  21. Uma proposta de algoritmo O(n logn) que erra no máximo um fator de 2. Evento: lado cruza V

  22. Uma proposta de algoritmo O(n logn) que erra no máximo um fator de 2. Evento: V cruza V

More Related