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

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

Pontifícia Universidade Católica do Rio de Janeiro QuadTrees

Apresentações semelhantes


Apresentação em tema: "Pontifícia Universidade Católica do Rio de Janeiro QuadTrees"— Transcrição da apresentação:

1 QuadTrees Allan Rocha {arocha@inf.puc-rio.br}
Pontifícia Universidade Católica do Rio de Janeiro QuadTrees Allan Rocha Leonardo Martins { Disciplina: Geometria Computacional Professor: Luiz Henrique Figueredo

2 Sumário Introdução QuadTree Balanceamento Geração de malhas Resultados
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 Introdução Características desejáveis em uma malha triangular
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 QuadTree Construção Divisão recursiva do quadrado em 4 quadrantes.
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 QuadTree Pontifícia Universidade Católica do Rio de Janeiro
Lista de Pontos Vértices [4] NE NW SW SE

11 QuadTree Operação na quadtree
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 Teorema 2: "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 Balanceamento Verificar se um quadrado s precisa ser dividido temos:
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 Teorema 3: "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 Geração de Malhas 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 Conclusões e trabalhos futuros
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.


Carregar ppt "Pontifícia Universidade Católica do Rio de Janeiro QuadTrees"

Apresentações semelhantes


Anúncios Google