Simplificação de superfícies

Slides:



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

Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Fluxo em Redes Prof. Ricardo R. Santos.
Métodos para representação de estruturas hierárquicas
Engenharia de Software
Algumas estruturas de dados em SIGs
Pontifícia Universidade Católica do Rio de Janeiro QuadTrees
Método Hierárquico Aglomerativo de Clusterização Algoritmo CURE
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Seleção de Máquina Deve-se considerar: tamanho físico; potência;
Aproximação de Terrenos Uma rápida abordagem ao algorítmo Greedy Insert Fast Polygonal Approximation of Terains and Height Fields Fast Polygonal Approximation.
Introdução à Computação Gráfica Recorte
Geometria Computacional Interseção de Segmentos
Geometria Computacional Fecho Convexo
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Dárlinton B. Feres Carvalho
Quantização de cores em Imagens: o caso do K-means
Disparidades, Correspondências e Corte Mínimo para Estéreo
Árvore Geradora de Peso Mínimo
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,
A FAST APRIORI implementation
Classificação e Pesquisa de Dados
WAR STORY Stripping Triangulations Luciana Oliveira e Silva
Classificação de dados por Intercalação: MergeSort
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Princípios e Conceitos de Software(v2)
Árvore Geradora Mínima
Edição Vetorial de Ponto, Linha e Polígono
Buscas em Grafos Prof. André Renato 1º Semestre/2012
List Ranking. List Ranking (1) Seja L uma lista representada por um vetor s tal que s[i] é o nó sucessor de i na lista L, para u, o último elemento da.
Baseado em: The Algorithm Design Manual Steven S. Skiena
Informática Teórica Engenharia da Computação
Aprendizagem de Máquina - Agrupamento
Gerenciando Grandes Modelos (aula 10)
1 Fundamentos de SIG. - Sistemas de Informação
Exercícios PAA- Grafos
Segmentação de Imagens
Realidade Virtual Aula 7
Segmentação de Imagens
DISCIPLINA: SR, Geoprocessamento I e II e Cartografia A tecnologia do Geoprocessamento – Aplicações e Potencialidades 12/3/ Aula 5.
Sistema de equações lineares
Técnicas de Modelagem para Aplicações em Computação Gráfica
Sistemas Operacionais
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Busca Combinatorial e Métodos de Heurística
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
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.
Realidade Virtual Aula 2 Remis Balaniuk. Enxergando grande, começando pequeno Quem começa a aprender RV normalmente sofre um primeiro impacto negativo.
Algoritmos FPT para o Problema da k-Cobertura por Vértices
Geometria Computacional Fecho Convexo
Operações para entrada de dados –Compilação de dados codificação de dados geográficos de uma forma conveniente para o sistema; incluem a digitalização,
Mecanismo de sugestão e processo de caracterização de redes sociais
Plano de Aulas  Estruturas de aceleração  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em.
1 Fundamentos de SIG (2ª aula). - Sistemas de Informação
Geometria Computacional Prof. Walter Mascarenhas Segundo semestre de 2004 Aula 5.
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Operações para entrada de dados –Compilação de dados codificação de dados geográficos de uma forma conveniente para o sistema; incluem a digitalização,
Dados em Geoprocessamento
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
Berilhes Borges Garcia Algoritmos Uma ferramenta para resolver um problema de computação bem- especificado (O espírito da computação) Exemplo: ordenação.
TÉCNICAS DE ESTIMATIVAS
Gerência de Memória. Memória Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes.
Introdução à Computação Gráfica Rasterização
1 Problemas Numéricos com Representação por Números Reais Prof. Marco Aurélio C. Pacheco.
Transcrição da apresentação:

Simplificação de superfícies Margareth Catoia Varela

O Problema Seja uma superfície com n vértices Encontrar uma boa aproximação usando m vértices. Encontrar uma aproximação compacta com erro menor que um valor estipulado (ε).

Quem faz simplificação? Cartografia, Sistemas de informação geográfica Simuladores Computação Gráfica Visualização científica Visão computacional Geometria computacional CAD Teoria da aproximação

Características do Problema Que problema resolver? Topologia da saída Topologia e geometria da entrada Outros atributos Domínio da saída Topologia da triangulação Elementos de aproximação Métrica de erro Restrições

Simplificação Métodos incrementais baseados em atualizações locais Decimação de malhas [Schroeder et al. ‘92,... e outros] Otimização da função de energia [Hoppe et al. ‘93, Hoppe ‘96, Hoppe ‘97] Métrica do erro usando quádricas [Garland et al. ‘97] Junção de faces coplanares (merging) [Hinker et al. ’93, Kalvin et al. ’96] Re-tiling [Turk’92] Clustering [Rossignac et al. ’93,... e outros] Baseados em wavelets [Eck et al. ‘95]

Métodos incrementais baseados em atualizações locais Simplificação procede como uma seqüência de atualizações locais Cada atualização reduz o tamanho da malha e diminui a precisão da aproximação

...Métodos incrementais baseados em atualizações locais... Operações de atualização local: Remoção de vértices Contração de arestas Contração de triângulo

...Métodos incrementais baseados em atualizações locais... Pseudo-código comum: Faça Seleciona elemento a ser removido / contraído Executa operação Atualiza malha Até que: precisão/tamanho da malha esteja satisfatório

Otimização da função de energia Mesh Optimization [Hoppe et al. ’93] Simplificação baseada na execução iterativa de: Contração de aresta (collapse) Partição de aresta (split) Troca de aresta (swap)

Otimização da função de energia: Mesh Optimization Qualidade da aproximação avaliada com uma função de energia: E(M) = Edist(M) + Erep(M) + Espring(M) Edist: soma das distâncias dos pontos originais a M Erep: fator proporcional ao número de vértices em M Espring: soma dos comprimentos das arestas

Otimização da função de energia: Mesh Optimization Estrutura do algoritmo Ciclo de minimização exterior Seleciona uma ação legal (collapse/split/swap) que reduza a função de energia Executa a ação e atualiza a malha (Mi  Mi+1) Ciclo de minimização interior Otimiza a posição dos vértices de Mi+1 com respeito a malha inicial M0 Para reduzir a complexidade: Seleção da ação lega é feita randomicamente Número fixo de iterações para minimização interna

Otimização da função de energia: Mesh Optimization

Otimização da função de energia: Mesh Optimization Avaliação Alta qualidade dos resultados Preserva topologia, re-amostra os vértices Tempo de processamento alto Não é fácil de implementar Não é fácil de usar Adota avaliação de erro global, mas aproximação não-limitada

Otimização da função de energia: Progressive Meshes Progressive Meshes [Hoppe ’96] Ação executada: apenas Collapse Armazenamento da sequência de transformações inversas Multiresolução Transmissão progressiva Refinamento seletivo Geomorph

Otimização da função de energia: Progressive Meshes Preserva aparência da malha (2 novos componentes na função de energia: Escalar, Edisc) Exemplo:

Otimização da função de energia: Progressive Meshes Avaliação Alta qualidade dos resultados Preserva topologia, re-amostra os vértices Não é fácil de implementar Não é fácil de usar Adota avaliação de erro global, mas aproximação não-limitada Preserva atributos vetoriais/escalares e descontinuidades Suporta saída em multiresolução, morphing geométrico, transmissão progressiva, refinamento seletivo Mais rápido do que MeshOptm.

Decimação Mesh Decimation [Schoroeder et al ‘92] Baseado na remoção controlada de vértices Classificação dos vértices (removível ou não) baseada na topologia/geometria local e precisão requerida Faça Escolhe um vértice removível vi Remove vi e suas faces incidentes Triangula o “buraco” Até que: não exista vértice removível ou taxa de redução alcançada

...Decimação... Fases do Algoritmo Classificação topológica dos vértices Avaliação do critério de decimação (avaliação do erro) Re-triangulação do pedaço de triângulos removidos

...Decimação... Adota avaliação local da aproximação! max determinado pelo usuário Exemplo:

...Decimação... Avaliação: Eficiente (velocidade e taxa de redução) Implementação e uso simples Boa aproximação Trabalha sobre malhas enormes Preserva topologia Erro não limitado

Mesh Decimation: Trabalhos complementares Precisão da aproximação melhorada, garantia de erro limitado Erro limitado [Cohen ’96, Gueziec ‘96] Avaliação global de erro [Soucy’96,Bajaj’96,Klein’96,Ciampalini’97, + ...] Re-triangulação esperta (edge flipping) [Cohen ’96, Gueziec ‘96] Multiresolução [Ciampalini ‘97] Decimação de outras entidades Arestas [Gueziec ’95-’96, Ronfard’96, Algorri ‘96] Faces [Hamann ‘94] Cores e atributos preservados [Soucy ’96, Cohen et al. ‘98] Simplificação de topologia [Lorensen ‘97]

Métrica de erro por quádricas Simplificação com Métrica de Erro usando quádricas [Garland et al. ’97] Baseado em sequência de operações de contração de aresta Topologia não preservada

...Métrica de erro por quádricas... Erro geométrico da aproximação gerenciado pela distância quádrica ao planos incidentes ao vértice => representação matricial Estrutura do algoritmo Seleciona um par de vértices válido e insere em uma estrutura de dados ordenada pelo mínimo custo Faça Extrai um par válido de vértices, v1 e v2, da estrutura ordenada e contrai-os num novo vértice vnovo; Recalcula o custo para todos os pares que contém v1 e v2 e atualiza a estrutura ordenada. Até que: Aproximação/redução seja suficiente ou estrutura ordenada esteja vazia

...Métrica de erro por quádricas... Exemplo

...Métrica de erro por quádricas... Avaliação: Método incremental; iterativo Erro é limitado Permite simplificação de topologia Resultados com alta qualidade e tempo de processamento baixo

Algoritmos de simplificação Métodos não incrementais Junção de faces coplanares (merging)[Hinker et al. ’93, Kalvin et al. ’96] Re-tiling [Turk’92] Clustering [Rossignac et al. ’93,... e outros] Baseados em wavelets [Eck et al. ‘95]

Junção de faces coplanares Otimização geométrica [Hinker ’93] Construção de conjuntos de “quase” coplanares Criação de lista de arestas e remoção de arestas duplicadas Remoção de vértices colineares Triangulação dos polígonos resultantes

... Junção de faces coplanares... Avaliação: Heurística simples e eficiente Avaliação do erro é altamente imprecisa e erro não é limitado (depende do tamanho relativo da faces unidas) Vértices são subconjunto dos originais Preserva descontinuidades geométricas e topologia

...Junção de faces coplanares... Superfaces [Kalvin, Taylor ‘96] Agrupa as faces da malha em conjunto de superfaces: Iterativamente escolhe uma face fi como a superface corrente Sfj Encontra, por propagação, todas as faces adjacentes a fi, cujos vértices estão a uma distância /2 do plano principal até Sfj e insere-as nesta superface Para ser unida, cada face tem que ter orientação similar às outras em Sfj Alinha a borda da superface Retriangula cada superface

Junção de faces coplanares: Superfaces Exemplo:

Junção de faces coplanares: Superfaces Avaliação: Heurística um pouco mais complexa Avaliação do erro mais precisa e erro limitado Vértices são subconjunto dos originais Preserva descontinuidades geométricas e topologia

Re-tiling Re-Tiling [Turk ‘92] Distribui um novo conjunto de vértices sobre a malha triangular original Remoção de parte dos vértices originais Retriangulação local

Clustering Vertex Clustering [Rossignac, Borrel ‘93] Detecta e une grupos de vértices próximos Todas as faces com 2 ou 3 vértices num grupo são removidas Aproximação depende da resolução do grid Não preserva topologia

...Clustering... Exemplo

...Clustering... Avaliação: Alta eficiência Implementação e uso muito simples Aproximações de baixa qualidade Não preserva topologia Erro é limitado pelo tamanho da célula do grid

Métodos Wavelet Análise de Multiresolução [Eck et al. ’95, Lounsbery ‘97] Baseado na aproximação por wavelet Malha base simples Termos de correção local (coeficientes wavelet) Dado uma malha de entrada Particiona Parametriza Re-amostra Caracterísiticas Erro limitado, compacta representação em multiresolução, edição da malha em múltiplas escalas

... Métodos Wavelet... Exemplo

Bibliografia da apresentação Surface Simplification Algorithms Overview Leila De Floriani, Enrico Puppo, Roberto Scopigno Survey of Polygonal Surface Simplification Algorithms Paul S. Heckbert, Michael Garland