1 / 24

P ontifícia U niversidade C atólica do Rio de Janeiro

P ontifícia U niversidade C atólica do Rio de Janeiro. QuadTrees. Allan Rocha {arocha@inf.puc-rio.br} Leonardo Martins { lmartins@inf.puc-rio.br}. Disciplina: Geometria Computacional. Professor: Luiz Henrique Figueredo. P ontifícia U niversidade C atólica do Rio de Janeiro.

piera
Télécharger la présentation

P ontifícia U niversidade C atólica do Rio de Janeiro

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. Pontifícia Universidade Católica do Rio de Janeiro QuadTrees Allan Rocha {arocha@inf.puc-rio.br} Leonardo Martins { lmartins@inf.puc-rio.br} Disciplina: Geometria Computacional Professor: Luiz Henrique Figueredo

  2. Pontifícia Universidade Católica do Rio de Janeiro Sumário • Introdução • QuadTree • Balanceamento • Geração de malhas • Resultados • Conclusões • Referências

  3. Pontifícia Universidade Católica do Rio de Janeiro Introdução Objetivo: Estudar e implementar a estrutura de dados hierárquica conhecida como quadtree, com o propósito de geração de malhas de triângulos. • Aplicações: • 3D Studio MAX 3 – controle de profundidade de cor • para sombras Ray Tracing. • Codec para Video-Phone:  redução da taxa de transmissão. • Corrigir deformaçôes de cores nas fotos. (olhos avermelhados) • Compressao de imagens • Análise da distribuição na imagem: Geográfica, mapas elétricos, saúde (mapas do corpo). • Softwares medicinais: Ecografias

  4. Pontifícia Universidade Católica do Rio de Janeiro Exemplo:

  5. Pontifícia Universidade Católica do Rio de Janeiro

  6. Pontifícia Universidade Católica do Rio de Janeiro Introdução Características desejáveis em uma malha triangular • Conformidade • o vértice de um triângulo nunca estará contido no interior da aresta de outro triângulo da malha • Coerência com o domínio • cada aresta das componentes poligonais deve ser aresta da união das arestas dos triângulos da malha • Boa formação • Todos os triângulos da malha devem possuir ângulos internos iguais a 45°, 45° e 90°. • Não uniformidade • a malha deve ser fina perto da fronteira das componentes poligonais e grossa distante dela. Isto é, deve ter triângulos pequenos perto da fronteira e triângulos grandes distante dela.

  7. Pontifícia Universidade Católica do Rio de Janeiro Introdução

  8. Pontifícia Universidade Católica do Rio de Janeiro QuadTree Quadtreeé um tipo especial de árvore onde todos os nós tem quatro filhos ou são nós folha. NW NE SW SE

  9. Pontifícia Universidade Católica do Rio de Janeiro QuadTree • Construção • Divisão recursiva do quadrado em 4 quadrantes. • Criação da partição conveniente do conjunto de pontos. • Construção recursiva da árvore para cada quadrante com seus pontos associados ate que seja atingido o critério de parada (1 ponto no quadrado).

  10. Pontifícia Universidade Católica do Rio de Janeiro QuadTree Lista de Pontos Vértices [4] NE NW SW SE

  11. Pontifícia Universidade Católica do Rio de Janeiro QuadTree Teorema 1: "Uma quadtree de profundidade d armazenando um conjunto de n pontos requer tempo O((d+1).n) para ser gerada." Operação na quadtree Dado um nó v e uma direção (Norte, Sul, Leste, Oeste), determinar o nó adjacente a v nesta direção. Se existir, o nó retornado deve ser o mais profundo cuja profundidade é no máximo a profundidade de v.

  12. Pontifícia Universidade Católica do Rio de Janeiro QuadTree

  13. Pontifícia Universidade Católica do Rio de Janeiro QuadTree Teorema2: "Seja T uma quadtree de profundidade d. O vizinho de um dado nó em uma dada direção, como definida acima, pode ser encontrado em tempo O(d+1)."

  14. Pontifícia Universidade Católica do Rio de Janeiro Balanceamento Uma quadtree é dita balanceada se quaisquer dois quadrados vizinhos diferem no máximo de um fator dois; desta forma em uma quadtree balanceada, quaisquer duas folhas cujos quadrados são vizinhos, tem profundidades diferindo no máximo de 1. Não balanceada Não balanceada Balanceada

  15. Pontifícia Universidade Católica do Rio de Janeiro Balanceamento Verificar se um quadrado s  precisa ser dividido temos: 1. Obter os vizinhos norte, sul, leste, oeste. 2. Dado um quadrado S verificamos seu vizinho norte por exemplo. 3. Verificamos se é folha 3.1. Caso negativo, verificamos os filhos cujos lados sejam adjacentes ao lado do quadrado S e verifica se são folhas. Caso negativo, divide-se S e acrescentam os quatros filhos na lista para ser analisados. 4. Caso o vizinho norte não satisfaça as condições para divisão de S, tomam-se os demais vizinhos.

  16. Pontifícia Universidade Católica do Rio de Janeiro Balanceamento Teorema3: "Seja Q uma quadtree com m nós, então a versão balanceada de Q tem O(m) nós, e pode ser construída em tempo O((d+1).m)."

  17. Pontifícia Universidade Católica do Rio de Janeiro Geração de Malhas Os ângulos internos dos polígonos são sempre iguais a 45o, 90o, e 135o Balanceamento da quadtree • garante que dada qualquer aresta da mesma, esta não conterá mais do que um vértice de quadrados vizinhos em seu interior Triangulação de Steiner • Se um quadrado contém, no interior de suas arestas, o vértice de um quadrado vizinho inserimos um ponto extra (ponto de Steiner) no centro do quadrado e unimos cada dos vértices do quadrado (inclusive os vértices no interior das arestas) a este ponto • Obtemos dessa maneira uma malha que continua composta de triângulos bem formados e agora conformes

  18. Pontifícia Universidade Católica do Rio de Janeiro Geração de Malhas Malha obtida com quadtree não balanceada Malha obtida com quadtree balanceada

  19. Pontifícia Universidade Católica do Rio de Janeiro Resultados

  20. Pontifícia Universidade Católica do Rio de Janeiro Resultados

  21. Pontifícia Universidade Católica do Rio de Janeiro Resultados

  22. Pontifícia Universidade Católica do Rio de Janeiro Resultados

  23. Pontifícia Universidade Católica do Rio de Janeiro Conclusões e trabalhos futuros A malha obtida a partir de uma quadtree possui todas as características desejáveis para uma boa malha de triângulos (conformidade, coerência com os domínio, boa formação e não-uniformidade), sendo gerada em tempo satisfatório A geração de malhas é apenas uma das aplicações de uma quadtree. Pretende-se investigar o uso da quadtree como ferramenta de compressão de imagens, através de uma abordagem multu-resolução

  24. Pontifícia Universidade Católica do Rio de Janeiro Bibliografia • M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf, Computational Geometry: Algorithms and Applications, Springer-Verlag, 1997. • http://www.inf.unisinos.br/~ari/estrut/quad/Quadtree.htm • http://en.wikipedia.org/wiki/Quadtree • http://www.cos.ufrj.br/~fonseca/AproxGeo2009/aula3.pdf • http://lab.polygonal.de/2007/09/09/quadtree-demonstration/ • http://www.cs.wustl.edu/~suri/cs506/projects/quad.html • http://w3.impa.br/~apneto/quadtrees/quadweb/balance.html

More Related