I NTERPOLATING S UBDIVISION FOR M ESHES WITH A RBITRARY T OPOLOGY [Z ORIN ET. AL ] – SIGGRAPH96 Rodrigo Braga Pinheiro.

Slides:



Advertisements
Apresentações semelhantes
Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Advertisements

Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
3. Limites e Continuidade de Funções de Várias Variáveis
Os inversores são circuitos estáticos (não tem partes móveis) que convertem potência DC em potência AC com frequência e tensão ou corrente de saída desejada.
Luiz Marcos Curvas paramétricas Luiz Marcos
TIPOS DE CORRENTE ELÉTRICA
Inteligência Artificial I
Eletrostática - Força elétrica
Aproximação de Terrenos Uma rápida abordagem ao algorítmo Greedy Insert Fast Polygonal Approximation of Terains and Height Fields Fast Polygonal Approximation.
2002 LCG/UFRJ. All rights reserved. 1 Localização no Plano Claudio Esperança Paulo Roma.
Usando Partículas para Amostrar e Controlar Superfícies Implícitas De Andrew P. Witkin e Paul S. Heckbert Apresentador por: Edson L. Araújo.
DIM102 1 Curvas e Superfícies 35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Geoestatística Aplicada à Agricultura de Precisão II
WAR STORY Stripping Triangulations Luciana Oliveira e Silva
Computação Gráfica: Aula8: Iluminação
Computação Gráfica: Rendering e Rasterização
Computação Gráfica: Aula9: Renderização 3D
Computação Gráfica: Aula6: Iluminação
Construção de Compiladores
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Sistemas Operacionais I
Matemática I Prof. Gerson Lachtermacher, Ph.D.
INF 1771 – Inteligência Artificial
TENSÕES E CORRENTES EM CIRCUITOS TRIFÁSICOS BALANCEADOS Sistemas de potência são alimentados por geradores trifásicos. De maneira ideal, os geradores suprem.
Informática Teórica Engenharia da Computação
Professor: Juliano Lucas Gonçalves
Computação Gráfica: Aula6: Iluminação
POLIEDROS COLÉGIO DECISIVO Matemática Professor Wilen
Grafos Árvores Geradoras.
2ª SÉRIE DO ENSINO MÉDIO – PROF. ILYDIO PEREIRA DE SÁ
Informática Teórica Engenharia da Computação
Teoria dos Grafos Caminhos e Noção de Grafos com pesos
Finding and Evaluating Community Structure in Networks
Aula prática 6 Vetores e Matrizes
Customização de Formas Animais
Sphere CDV Fundamentals of Spherical Parameterization for 3D Meshes MOTIVAÇÕES: - Remeshing - Morphing.
Exercícios PAA- Grafos
Sistemas Operacionais
Algorítmos e estrutura de dados III
Operações com grafos União Exemplo
Computação Gráfica Aula 11 Curvas Prof. Leo.
Aula prática 6 Vetores e Matrizes
Avaliação de Clusteres Parte II
Computação Gráfica Aula 12 Superfícies Prof. Leo.
Sistema de equações lineares
Introdução à Computação Gráfica Curvas
Técnicas de Modelagem para Aplicações em Computação Gráfica
Problema do menor Caminho
Reconstrução Tridimensional usando IPP Trabalho final do curso de Visão Computacional DCC / UFMG Apresentação: Antônio Wilson Vieira.
Uma moeda de cinco centavos é colocada sobre uma mesa
Hardware assisted rendering of csg models
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
Formato OBJ Leandro Tonietto Computação Gráfica. Formato OBJ - Geral O formato OBJ carrega informações sobre a malha poligonal, sobre o mapeamento de.
Algemiro Augusto Professor: Marcelo Gattass
Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.
Sumarização Ontologias Paulo Orlando V. Q. Sousa.
Mapas de Auto-reconstrução

Otimização de Processos
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.
Força de atrito com o solo Força de resistência do ar
REDES COMPLEXAS Rafael Dahis Engenharia de Computação e Informação UFRJ Redes de Computadores II – 2009/2 Professores: Luis Henrique Otto.
Trechos de código que permitem reutilização de uma mesma tarefa. Qualquer código PHP pode estar contido no interior de uma função. Não se pode definir.
SÉRIES DE PARCELAS IGUAIS/PAGAMENTOS UNIFORMES
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.
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
CIRCUITOS CENTRO DE CIÊNCIAS E TECNOLOGIA AGROALIMENTAR UNIDADE ACADÊMICA DE TECNOLOGIA DE ALIMENTOS DISCIPLINA: FÍSICA III Prof. Bruno Farias.
Transcrição da apresentação:

I NTERPOLATING S UBDIVISION FOR M ESHES WITH A RBITRARY T OPOLOGY [Z ORIN ET. AL ] – SIGGRAPH96 Rodrigo Braga Pinheiro

I NTRODUÇÃO A superfície a ser subdividida começa com uma malha poligonal original, chamada de gaiola de controle. A partir daí a superfície é subdividida em polígonos adicionais e seus vértices são movidos de acordo com uma série de regras. As regras variam de um esquema de subdivisão para outro. Estas regras que determinam as propriedades da superfície. Por exemplo: Modified Butterfly (triângulos), Catmull- Clark(quad).

C ONTINUIDADE Uma característica de cada esquema é a sua continuidade. Esquemas são referenciados como tendo continuidade., onde n determina quantas derivadas são continuas. significa que nenhuma derivada é continua. Esta superfície não tem buracos na malha, mas pode apresentar quinas. significa que a 1a derivada é continua. Esta superfície não tem buracos na malha e não gera quinas quando duas funções se encontram.

C ONTINUIDADE Não tem continuidadeSe encontram, mas derivadas diferentes no ponto p. Se encontram e possuem derivadas iguais no ponto p.

A PROXIMATIVO VS I NTERPOLATIVO No esquema aproximativo os vértices da gaiola de controle não ficam em cima da superfície limite. No esquema interpolativo os vértices já criados no passo de subdivisão anterior são mantidos na mesma posição.

U NIFORME VS N ÃO -U NIFORME Os esquemas uniformes dividem todas as áreas da gaiola de controle usando as mesmas regras. Os esquemas não-uniformes podem, por exemplo, subdividir uma aresta de uma maneira e outra aresta de outra maneira.

T RIANGULAR VS Q UADRILÁTERO Um esquema pode ter a característica de trabalhar com malhas de triângulos ou de quads.

A VALIAÇÃO DA SUPERFÍCIE Todo algoritmo de subdivisão possui como característica uma máscara de avaliação. A máscara define quais os vértices que deverão ser levados em conta para deslocar um novo vértice gerado em determinada subdivisão.

E STACIONÁRIO VS N ÃO -E STACIONÁRIO Se um esquema é estacionário, significa que o mesmo grupo de regras é usado para subdividir a malha em cada passo. Um esquema não estacionário pode usar um conjunto de regras para o passo i e um conjunto diferente para o passo i + 1.

V ÉRTICES R EGULARES VS E XTRAORDINÁRIOS Cada esquema de subdivisão tem sua preferência para a valência de um vértice. Ou seja, o criador do algoritmo de subdivisão define um número considerado ideal para a quantidade de arestas que devem chegam a um vértice. Um vértice com a valência preferida é chamada de vértice regular. Ou seja, se um vértice tem n arestas chegando nele e o número de valência escolhido pelo criador for n, esse vértice é regular. Um vértice com uma valência diferente da definida pelo criador é chamado de extraordinário. Os esquemas podem ou não produzir novos vértices extraordinários em cada subdivisão. Extraordinário Regular

M ODIFIED B UTTERFLY Nosso esquema escolhido possui continuidade, é interpolativo, uniforme, estacionário, utiliza malhas triangulares, tem como valência 6 os vértices regulares e usa as seguintes máscaras abaixo para subdivisão. Regular Extraordinário

M ODIFIED B UTTERFLY – S UBDIVISÃO REGULAR Ao dividir uma aresta em duas, se os dois vértices da ponta da aresta (pais) forem regulares, a seguinte máscara com os respectivos pesos são usados. W é o valor de tensão a ser usado. Esse fator representa o quanto a superfície vai ficar próxima da malha de controle.

M ODIFIED B UTTERFLY – S UBDIVISÃO E XTRAORDINÁRIA Caso os dois vértices da aresta (pais) sejam extraordinários, calcula-se o peso de acordo com o número de vértices vizinhos e divide-se por dois. Caso somente um vértice da aresta seja irregular, usa-se somente este vértice para se calcular o peso.

I MPLEMENTAÇÃO (I NEFICIENTE ) Primeiro foi feito com uma estrutura de dados convencional para malhas. Um array guardava os vértices e outro array guardava as faces (em grupo de 3 indíces). Na hora da subdivisão, este algoritmo apresenta complexidade O(F*F) e uma constante alta. Pois cada face deve ser subdividida e para cada subdivisão deve se achar a valência e os vértices vizinhos de cada vértice. Para achar esta valência, deve-se varrer toda a estrutura de dados de novo.

I MPLEMENTAÇÃO (I NEFICIENTE ) A tabela abaixo mostra os resultados para a implementação com a estrutura de dados mencionada no slide anterior.

I MPLEMENTAÇÃO Para melhorar o desempenho, foi utilizada uma estrutura de half-edge. Que permite que consultas variadas na malha sejam feitas em tempo constante.

I MPLEMENTAÇÃO Carrega modelo e cria um VertexBuffer e um IndexBuffer. A partir do VertexBuffer e do IndexBuffer, inicializa-se a estrutura de Half-Edge Para cada vértice, cria-se um HE_vert A cada 3 vértices, cria-se uma HE_face e interativamente começa a criar as HE_edge

I MPLEMENTAÇÃO (H ALF -E DGE ) Tetraedro (visão de cima)

I MPLEMENTAÇÃO (H ALF -E DGE ) Estão sendo avaliados os vértices da base

I MPLEMENTAÇÃO (H ALF -E DGE ) Half-edge Half-edge oposta A

I MPLEMENTAÇÃO (H ALF -E DGE ) Um vértice pode ter n half-edges (se estiver conectado a n arestas), mas só é necessário a referência para uma delas. Uma face pode ter 3 half-edges, mas só é necessário a referência para uma delas.

I MPLEMENTAÇÃO (N ORMAIS ) Média das normais das faces que contém o vértice

I MPLEMENTAÇÃO (T ESSELLATION ) Percorre cada face Cria vértice de cada aresta da face 12 novas half-edges Marca vértices que deverão ter suas half-edges antigas deletadas

I MPLEMENTAÇÃO (T ESSELLATION ) Para cada um dos vértices criados, calcula-se as novas half-edges. Após todas as half-edges terem sidos criadas, é necessário deslocar os vértices de acordo com a informação dos seus vértices geradores (pais). Extraordinário Regular

I MPLEMENTAÇÃO Algumas consultas usadas através dessa estrutura de dados.

I MPLEMENTAÇÃO Com essa estrutura a complexidade o algoritmo ficou linear. O(F). Abaixo os resultados:

I MPLEMENTAÇÃO O(F*F) vs O(F)

R ESULTADOS

B IBLIOGRAFIA Zorin, D., P. Schröder, and W. Sweldens. Interpolating Subdivision for Meshes with Arbitrary Topology. Siggraph 96. pp. 189–192. Dyn, N., J. A. Gregory, and D. A. Levin. Butterfly Subdivision Scheme for Surface Interpolation with Tension Control. ACM Transactions on Graphics. Vol. 9, No. 2 (April 1990): pp. 160–169. DeRose, T., M. Kass, and T. Truong. Subdivision Surfaces in Character Animation. Siggraph 98. pp. 85–94. Dyn, N., S. Hed, and D. Levin. Subdivision Schemes for Surface Interpolation. Workshop in Computational Geometry (1993), A. C. et al., Ed., World Scientific, pp. 97–118. Zorin, D. Stationary Subdivision and Multiresolution Surface Representations. Ph.D. diss., California Institute of Technology, (Available at ftp://ftp.cs.caltech.edu/tr/cs-tr ps.Z)ftp://ftp.cs.caltech.edu/tr/cs-tr ps.Z Catmull, E., and J. Clark. Recursively Generated B-Spline Surfaces on Arbitrary Topological Meshes. Computer Aided Design, Halstead, M., M. Kass, and T. DeRose. Efficient, Fair Interpolation Using Catmull-Clark Surfaces. Siggraph 93. p ory.php?page=2 ory.php?page=2