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

Slides:



Advertisements
Apresentações semelhantes
Planaridade 1.
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Algoritmos em Grafos (Parte 2)
Geometria Computacional Fecho Convexo II
Geometria Computacional Galeria de Arte
Controle de Processos por Computador
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
Coloração Teoria dos Grafos (INF 5037/INF2781) 1.
Métodos para representação de estruturas hierárquicas
Algumas estruturas de dados em SIGs
Pontifícia Universidade Católica do Rio de Janeiro – PUC-RJ
Fluxo Óptico Allan Carlos Avelino Rocha
Visualização de Imagens HDR
Ray Tracer Distribuído
Regra do Paralelogramo
Geometria Computacional Fecho Convexo
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Computação Evolutiva: Programação Genética
Estimativa do fluxo óptico através do algoritmo de Horn-Shunck
Busca Cega (Exaustiva)
NÃO DETERMINISMO Marcus Eduardo Cabral Seabra
WAR STORY Stripping Triangulations Luciana Oliveira e Silva
Ronaldo Celso Messias Correia –
O que você deve saber sobre
GEOMETRIA.
Sistemas de Informações Geográficas
Implementação de algoritmos para a avaliação da coerência dos dados em Cartografia Digital Nome do Bolsista: Eduardo Chiarani Tipo de Bolsa/Agência de.
Self-Similarity Based Texture Editing Self-similarity Based Texture Editing Stephen Brooks Neil Dogdson University of Cambridge Projeto Final de Processamento.
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Relatório Final Professoras: Andréa, Beth, Bruna e Kika
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 6.
Desenho Geométrico Ponto
Algoritmos em Grafos.
COORDENADAS GEOGRÁFICAS, DISTÂNCIAS E ÂNGULOS ESFÉRICOS.
eorema de Pitágoras Teorema de Pitágoras Escola : D. Carlos I
Richard Dawkins Apresentado por Mafalda Goulart Nº 27876
Operações com grafos União Exemplo
Quad-Tree.
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Prof. Alexandre Vasconcelos
Modelagem de Sólidos para Aplicações em Computação Gráfica
Técnicas de Modelagem para Aplicações em Computação Gráfica
Problema do menor Caminho
Geometria
ÁRVORES Def.: Um grafo é acíclico se não possui ciclos.
Radiosidade Rafael Decker Prof. Dr. Paulo Roberto Gomes Luzzardi.
Diagramas de Nyquist e Nichols
Estruturas de Dados Aula 15: Árvores
Árvores Vermelho-Preto
Módulo de visualização de modelos numéricos de superfície da estação fotogramétrica digital E-Foto (MV3D) Rodrigo Machado Alvarenga.
Árvores AVL Balanceadas (Árvore Binária Balanceada)
Compensador em atraso FONTE: control. utoronto
Tecnologias - Matemática Pontos no plano cartesiano/pares ordenados
Triangulação de Delaunay

Colégio Prioridade Hum
Geometria Computacional Fecho Convexo
Algumas estruturas de dados em SIGs Tabela Vectorial Matricial.
REPRESENTAÇÃO NUMÉRICA DO TERRENO
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 9.
Estruturas de dados Tabela Vectorial Matricial Rede triangular irregular.
AMPLIANDO E REDUZINDO Professores: Silvia Macêdo e Dionísio Sá.
Computação Gráfica - Amostragem Profa. Mercedes Gonzales Márquez.
FORTALECIMENTO DE APRENDIZAGEM RESOLUÇÃO DE EXERCÍCIOS FUNDAMENTAL
Sistemas Inteligentes Busca Cega (Exaustiva)
Conteúdos Matemáticos Ensino Fundamental
Geometria Espacial.
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO DE ENGENHARIA MECÂNICA LABORATÓRIO DE MECÂNICA DOS FLUIDOS ME36L – TRANSMISSÃO DE CALOR I PROF.
Transcrição da apresentação:

QuadTrees Allan Rocha {arocha@inf.puc-rio.br} 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

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

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

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

Pontifícia Universidade Católica do Rio de Janeiro

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.

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

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

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).

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

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.

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

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)."

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

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.

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)."

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

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

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

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

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

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

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

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