Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM...

40
Consistent Mesh Consistent Mesh Parameterizations Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeto n Bell Labs Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero

Transcript of Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM...

Page 1: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Consistent Mesh Consistent Mesh ParameterizationsParameterizations

Emil PraunWim SweldensPeter Schröder

PrincetonBell LabsBell Labs

ACM SIGGRAPH 2001

Apresentado por: Karl Apaza Agüero

Page 2: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

MotivaçãoMotivação

Processamento Geométrico Digital (DGP)– Construção de algoritmos para geometria ao

estilo do Processamento Digital de Sinais– Fazer para superfícies o que o DSP faz para

sons, imagens e vídeoExemplos

Eliminação de ruído Realce

Page 3: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

MotivaçãoMotivação

Processamento Geométrico Digital (DGP)

eliminação de ruído

realce

Page 4: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

MotivaçãoMotivação

Processamento Geométrico Digital (DGP)

– Devido à natureza da geometria de superfícies, a construção de algoritmos DGP é mais difícil

– Algoritmos DGP que envolvem diversos modelos precisam uma parametrização comum e um padrão de amostragem comum

Page 5: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

ExemploExemplo

Computar a média

É preciso uma parametrização consistente das malhas!

...+(_1n + + )=

Page 6: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

ParametrizaçõesParametrizações

Malha semi-regular– Consiste de um domínio base

irregular simples com muitos níveis de refinamento segundo alguma regra de subdivisão dada

irregular semi-regular

transmissão progressivaedição hierarquica

Page 7: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

ObjetivoObjetivo

Parametrização consistente– mesmo domínio base– correspondências

vértices arestas

– triângulos exatamente traçados

Dominio Base

Malhas de entrada com

caracteristicas

MalhasSemi-

Regulares

Aplicações DGP

Page 8: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

TerminologiaTerminologiaMalha

– Uma malha M é um par (P,K) P é um conjunto de n pontos em R3 K é um complexo simplicial abstrato que contém

toda a topologia– vértices {i}– arestas {i,j}– faces {i,j,k}

Page 9: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

TerminologiaTerminologiaMalha

– As malhas semi-regulares são construídas por repetição de quadriseção de triângulos começando desde uma malha irregular grosseira N0=(Q0,L0)

Malha semi-regular

Page 10: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

TerminologiaTerminologia

Domínio base– É uma malha especial

B=(P,L0) onde P é o conjunto de vértices (características) é L0 representa a conectividade

– Cada vértice bf das F características é dado pela sua localização canônica em RF

Page 11: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

MétodoMétodo Identificar pontos característicos (usuário)

Parametrizar o interior dos traços e recomputar a malha usando uma conectividade semi-regular

Traçar a rede de curvas sobre a malha correspondentes às bordas do domínio base

Page 12: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Traçado de curvasTraçado de curvas

Rede topologicamente equivalente ao domínio base– Interseção de curvas só nos vértices– Mesma ordenação de vizinhos ao redor dos vértices

Page 13: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Traçado de curvasTraçado de curvas

Algoritmo brush fire restrito– Não cruzar outras curvas– Começar e finalizar no setor correto

firewall

Page 14: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Traçado de curvasTraçado de curvas

É importante a ordem em que os traços são feitos Para uma ordem aleatória, o algoritmo brush fire

restrito não garante terminação

a b

cd

e conectividade

Page 15: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Traçado de curvasTraçado de curvas

Problema: cercamento

a b

d c

e

cercamento

a b

cd

e

conectividade

Page 16: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Traçado de curvasTraçado de curvas

Solução: Não traçamos algumas curvas que poderiam

completar ciclos, até que uma árvore geradora do domínio base seja traçada

Isto garante que os vértices não sejam cercados durante a construção da árvore geradora

Uma vez que temos a árvore, completamos a topologia do domínio base sobre a malha inicial, agregando depois as curvas restantes em alguma ordem

Page 17: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Critérios de qualidadeCritérios de qualidade

Ainda, quando temos um mapeamento topologicamente equivalente, este poderia estar muito contorcido

Precisamos dos seguintes critérios:– Igual distribuição de superfície de área dos triângulos

traçados– Traços suaves– Triângulos exatamente traçados, em particular evitar

swirling (poderiam estar virados)

Page 18: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

HeurísticasHeurísticas

Os pontos característicos repelem curvas que estão conectadas com outros pontos característicos

Introduzir as curvas em ordem de tamanhoPostergar inserção de triângulos “virados”

Page 19: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Repelir outras curvasRepelir outras curvas

Computar– If(i) = “influência” da característica f sobre o

vértice i

Diagrama de contornos

Page 20: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Repelir outras curvasRepelir outras curvas

Influência das características sobre outras características– Ii(i) = 1– Ii(característica j) = 0

Parametrização de outros vértices :

Π(i) = Σ{j}єV(i) λij Π(j) Diagrama de contornos

Page 21: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Repelir outras curvasRepelir outras curvas Mapeamento 2D

||pk-p||=||xjk-xi|| , para k = 1, ... ,di

ang(pk,p,pk+1) = 2 π ang(xjk , xi , xjk+1) / θi

θi = Σk=1 ang(xjk , xi , xjk+1) di

Page 22: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Repelir outras curvasRepelir outras curvasÁrea Polígono (pk+1, pk+2, ... , pk-1 , p)

(di -2) * Área Polígono (p1, p2, ... , pdi)λi,jk =

Page 23: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Repelir outras curvasRepelir outras curvas

Traçado de curva (a,b): brush fire com variável de velocidade de propagação

11

00

a

bc

i(0.2,0.1,0.4,…)

a(1,0,0,0,..) b(0,1,0,0,..)

c(0,0,1,..)

i

Prioridade P(i) = 1- Ia(i) - Ib(i)

0.70.7

Page 24: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Repelir outras curvasRepelir outras curvasi socontorno

Page 25: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Priorizar curvas por tamanhoPriorizar curvas por tamanho

Primeira etapa: completamos a árvore geradora do domínio base

Segunda etapa: completamos toda a rede

Para cada etapa, temos uma fila de prioridade– A fila tem as curvas candidatas– Retraçar (achar outra curva ) as curvas candidatas que

poderiam causar conflitos topológicos

Page 26: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Postergar inserção de triângulos Postergar inserção de triângulos viradosvirados

detector swirl

aa

bb ccaa

cc bb

aa

bb cc

OR

OK

flipped

Page 27: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Postergar inserção de triângulos Postergar inserção de triângulos viradosvirados

detector swirl

?aa

bb cc

flipped aa

cc bbaa

cc bb

aa

cc bb

aa

cc bb

Page 28: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Topologia válidaTopologia válida• Calcular a rota e o tamanho para cada uma das

curvas que correspondem ao domínio (bordas de L0) segundo o algoritmo de brush fire restrito, completando primeiro a árvore geradora do domínio base ; e ir guardando a rota e o tamanho numa fila de prioridade baseado no tamanho (a prioridade mais alta tem a curva com menor tamanho)

• Removemos o primeiro da fila e checamos se a rota guardada não viola as restrições dadas por outras curvas já inseridas na rede (não se cruza com outras curvas anteriormente traçadas)

Page 29: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Topologia válidaTopologia válida• Se se cruza, não é topologicamente válida, então

temos que calcular de novo outra curva entre esses 2 pontos característicos e inserir esta novamente na fila de prioridade

• Se é topologicamente valida, rodamos o detector de swirl para ambos triângulos adjacentes sobre a curva. Se ao menos um falha, pomos a curva na fila de prioridade com uma penalidade. Se ambos passam, traçamos a curva na rede

Page 30: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Endereçamento de bordasEndereçamento de bordas

Malha

Depois que o traço da rede é completado, temos uma rede topogicamente equivalente ao domínio base

Agora, endereçamos todas as curvas, garantindo que todos os triângulos tenham uma área aproximadamente igual

Page 31: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Endereçamento de bordasEndereçamento de bordas

Malha Parametrização temporal 2D

Page 32: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Endereçamento de bordasEndereçamento de bordas

Malha Parametrização temporal 2D

Page 33: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

ExemplosExemplos

Page 34: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

ExemplosExemplos

Page 35: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Análise de Componentes PrincipaisAnálise de Componentes Principais

Page 36: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Transferência de texturasTransferência de texturas

Page 37: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Transferência de texturasTransferência de texturas

Page 38: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

Transferência detalhadaTransferência detalhada

Page 39: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

MorphingMorphing

Cavalo .5Cavalo .5

Homem .25Homem .25

Vaca .25Vaca .25

Cavalo .25Cavalo .25

Homem .25Homem .25

Vaca .5Vaca .5

Cavalo .25Cavalo .25

Homem .5Homem .5

Vaca .25Vaca .25

Cavalo .33Cavalo .33

Homem .33Homem .33

Vaca .33Vaca .33

Page 40: Consistent Mesh Parameterizations Emil Praun Wim Sweldens Peter Schröder Princeton Bell Labs ACM SIGGRAPH 2001 Apresentado por: Karl Apaza Agüero.

ReferênciasReferências

Floater, m. S. Parameterization and Smooth Approximation of Surface Triangulations. Computer Aided Geometric Design 1997.

Guskov, I., Vidimce K., Sweldens, W., and Schröder, P. Normal Meshes. Proceedings of SIGGRAPH 2000.