WAR STORY Stripping Triangulations Luciana Oliveira e Silva

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Grafos eulerianos 1.
Projeto de Programação PD-I
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Fluxo em Redes Prof. Ricardo R. Santos.
Métodos para representação de estruturas hierárquicas
Pilhas e Filas CONTEÚDO (1) Pilhas (2) Filas.
Engenharia de Software
Introdução à Linguagem Prolog
Programação Linear Método Simplex
Árvores.
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
Dárlinton B. Feres Carvalho
Pesquisa em Memória Primária
Pesquisa em Memória Primária – Árvores de Busca
Pesquisa em Memória Primária
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Ordenação Facilitar e aumentar a eficiência das operações de pesquisa sobre esses dados Pode ser crescente ou decrescente A seqüência de entrada, normalmente,
Computação Gráfica: Aula8: Iluminação
Computação Gráfica: Aula6: Iluminação
Análise Léxica Supondo o trecho de programa abaixo:
Estruturas de Dados e Complexidade de Algoritmos
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 6.
Sistemas Operacionais I
Árvore Geradora Mínima
Grafos Msc. Cintia Carvalho Oliveira Doutoranda em Computação – UFU
Análise do Lugar das Raízes
Computação Gráfica: Aula6: Iluminação
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
Teoria dos Grafos Caminhos e Noção de Grafos com pesos
Exercícios PAA- Grafos
Otimização Inteira 5a. Aula Franklina.
Operações com grafos União Exemplo
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Prof. Ilydio Pereira de Sá UERJ - USS
Teoria dos Grafos Coloração
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Computação Gráfica Aula 12 Superfícies Prof. Leo.
Introdução e Busca Cega
Introdução à Computação Gráfica Curvas
Algoritmos de Busca Local
Algoritmos e Estruturas de Dados I – Ponteiros
Sistemas Operacionais
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
SISTEMAS OPERACIONAIS I
Busca Combinatorial e Métodos de Heurística
Análise de Complexidade do Algoritmo de Dijkstra
Relator: Danilo M Lage Contestador: João Eduardo Maeda 2ª Reunião do Grupo de Estudos.
Tabela Hash Alunos : Gustavo Jorge Zanin nºUSP
Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.
Programação Dinâmica.

Equações do 1o grau com duas incógnitas
Triangulação de Delaunay

Prof. Edison Oliveira de Jesus
Geometria Computacional Fecho Convexo
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 5.
Resolução de Problemas Sistemas de Produção Prof. Cláudio M. N. A. Pereira.
Principais Tópicos Introdução Métodos de busca Busca cega
Computação Gráfica: Aula6: Iluminação
As folhas de papéis gráficos e a semelhança de polígonos
Programação Dinâmica Profa. Sandra de Amo Bacharelado em Ciência da Computação – UFU Disciplina de Análise de Algoritmos.
Introdução à Engenharia de Computação
Prof. Edison Oliveira de Jesus
Sólido Geométrico Esfera
WAYPOINTS E PATHFINDING Prof. Rafael Oliz. Introdução  Locomover-se no espaço do jogo é uma ação fundamental dos NPCs em qualquer gênero de jogo.  A.
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Transcrição da apresentação:

WAR STORY Stripping Triangulations Luciana Oliveira e Silva Universidade Federal de Goiás Mestrado em Ciência da Computação Disciplina: Projeto e Análise de Algorítmos Profa. Diane Castonguay WAR STORY Stripping Triangulations Luciana Oliveira e Silva Goiânia, 18 de outubro de 2005

A maneira mais comum utilizada na computação gráfica para representar modelos geométricos é a triangulação. Equipamentos e sistemas específicos, de alta performance, são utilizados para renderizar e sombrear os triângulos. Dessa forma, o gargalo dessa atividade está em alimentar a estrutura de triangulação dentro do sistema. Cada triângulo pode ser descrito através das informações abaixo: Especificação de seus três pontos; Especificação da normal; Sombreamento.

Eficiência: O maior problema consiste em encontrar uma representação alternativa mais eficiente para os triângulos, de forma a minimizar o tempo de renderização e sombreamento do objeto. Solução Proposta: Particionar os triângulos em faixas (strips) de triângulos adjacentes e caminhar ao longo destas faixas. Na prática: Cada triângulo compartilha dois vértices em comum com seus vizinhos, desta forma o custo de retransmitir os dois vértices e a normal associada é salvo.

Pode-se imaginar uma representação como um grafo: Uma vez tendo o grafo dual disponível, deve-se procurar particionar os seus vértices do grafo no menor número de caminhos possíveis. Particionar o grafo em um caminho implica que encontramos o Caminho Hamiltoniano, que por definição, visita cada vértice exatamente uma vez. Encontrar um caminho Halmiltoniano, é um problema NP-Completo, dessa forma devemos nos concentrar em hipóteses (heurística).

Podemos utilizar as seguintes heurísticas: Simples: A heurística mais natural para cobertura das faixas seria iniciar de um triângulo qualquer e fazer a caminhada da esquerda para a direita, marcando as bordas do objeto ou um triângulo previamente visitado. Essa heurística é rápida e simples, porém não afirma que encontrou o menor caminho possível para uma triangulação. Ambiciosa: Uma heurística ambiciosa é mais provável que encontre um número pequeno de faixas. No caso da triangulação, a heurística ambiciosa encontraria a faixa esquerda-direita mais longa e a preencheria primeiro. Seja k o comprimento da caminhada a partir de um vértice médio. Usando a implementação mais simples possível, poderíamos caminhar a partir de cada um dos n vértices por iteração para encontrar a maior faixa num tempo O( k * n ). Para o número total de faixas do objeto teríamos uma implementação da ordem de O ( n2 ).

Algorítmo: Mantemos os comprimentos de todas as possíveis faixas numa estrutura de dados. Toda vez que uma faixa fosse retirada, os comprimentos de todas as outras são atualizadas (as faixas restantes são “encurtadas” por que antes elas caminhavam por um triângulo que agora não existe mais). Fila de Prioridades: poderíamos armazenar as faixas ordenadas de acordo com o comprimento. A próxima faixa a ser preenchida seria sempre a do topo da fila. Dicionário: para cada triângulo da área precisaríamos de um método para localizá-lo na fila. Isso significa armazenar um ponteiro para cada triângulo. Visto que cada triângulo é composto por vértices compostos por três números inteiros, ou uma tabela hash ou um vetor de listas bastaria. Integrando o dicionário com a fila de prioridade, pode-se construir uma estrutura de dados capaz de fazer um conjunto maior de operações. O novo tempo de execução é O ( n * k ), onde n é o número de triângulos e k o tamanho da maior faixa.

Outros Métodos de Triangulação Triangulação de superfícies difeomorfas à esfera Método para triangulação de superfícies difeomorfas à esfera, de forma que a malha de triângulos obtida chegue bem próximo da homogeneidade, ou seja, cada triângulo desta triangulação deve ser uma "boa" aproximação de um triângulo equilátero, e todos os triângulos devem ter aproximadamente a mesma área. Esse método de triangulação tem a vantagem diminuir o efeito de falsa ilusão de perspectiva, permitindo melhor noção de profundidade, e portanto melhor percepção da superfície. Triangulação de Delaunay Uma triangulação de Delaunay de um conjunto de pontos é uma triangulação onde cada triângulo satisfaz a propriedade de que seu círculo circunscrito (passa por três pontos) é vazio, isto é, não contém pontos do conjunto em seu interior. A triangulação de Delaunay maximiza o menor ângulo dentre todas as triangulações. Diagrama de Voronoi Um diagrama de Voronoi de um conjunto de pontos é uma subdivisão do plano em regiões poligonais (algumas podem ser infinitas), onde cada região é o conjunto dos vértices no plano que estão mais perto de algum ponto da entrada do que a todos os outros pontos da entrada. (o diagrama de Voronoi é o dual geométrico do diagrama de Delaunay)