simulação da dinâmica dos tecidos de pano em tempo real€¦ · and in the final stage, we...

4
Simulação da dinâmica dos tecidos de pano em tempo real Matias Costa , Wu, Shin - Ting (Orientadora) Departamento de Engenharia de Computação e Automação Industrial (DCA) Faculdade de Engenharia Elétrica e de Computação (FEEC), Unicamp {matiasrc,ting}@dca.fee.unicamp.br Abstract – Our goal is to apply the Cosserat Surface model to produce real-time cloth animations. The advantage of this model is to offer a more precise simulation of the physical behaviour in comparison with traditional mass- spring models. It is based on continuum mechanics and, in principle, demands heavy computational processing. We research an alternative that makes it computationally more tractable. In the first stage of our work, we obtain algorithms that estimate the first and second fundametal forms of each surface sample. In the second stage, we apply those results to calculate the internal forces at each sample. And in the final stage, we apply those internal forces and the external forces to determine the sample’s position in each time instant. This paper reports the results we achieved for the second stage. Special attention has been paid to the calculation of the variations of a physical quantity describable in a moving reference system. Keywords – cloth animation, cosserat surface 1. Introdução Existem dois modelos comumente usados para si- mulações de deformações em tecidos: mecânica de partículas e mecânica do contínuo. No caso do uso de partículas, discretiza-se a superfície em uma ma- lha regular, com cada vértice conectado a seus vizi- nhos. A interação entre esses vértices pode se dar de diversas formas, sendo geralmente escolhido o modelo massa mola. Apesar de eficiente em ter- mos processamento, este modelo é uma simplifica- ção das propriedades físicas do tecido, descartando um efeito direto de propriedades como as curva- turas, e geralmente necessitando de aproximações para imitar visualmente o comportamento esperado. No caso de mecânica do contínuo, embora a simula- ção seja precisa, ela requer um alto custo computa- cional e não é aplicável em situações onde se deseja produzir resultados em tempo real. Esse trabalho propõe-se a estudar e imple- mentar o modelo proposto em Green et al. [1], ba- seado na teoria de superfícies de Cosserat da Me- cânica do Contínuo. Neste modelo são usadas as propriedades de geometria diferencial para estimar a energia e forças internas de um ponto qualquer so- bre a superfície e o nosso objetivo é encontrar uma forma de processá-lo em tempo interativo. 2. Preliminares Nesta seção são sintetizados os principais conceitos relacionados com o desenvolvimento deste trabalho. 2.1. Notação de Einstein A notação de Einstein permite escrever equações complexas, especialmente envolvendo somatório de termos, de maneira compacta [7]. Ela é extensiva- mente utilizada no desenvolvimento das superfícies de Cosserat. Nessa notação letras romanas representam os valores 1, 2 e 3 e as gregas apenas 1 e 2, numa combinação de diversos fatores. Por exem- plo, uma equação A = x i y α , é uma forma com- pacta de expressar A = x i y α = 3 i=1 2 α=1 x i y α = x 1 y 1 + x 2 y 1 + x 3 y 1 = x 1 y 2 + x 2 y 2 + x 3 y 2 . 2.2. Modelo de Superfícies de Cosserat O modelo de superfícies de Cosserat descreve uma superfície r(u,v,t) deformável ao longo do tempo t. Cada ponto p desta superfície é associado a um ve- tor diretor d. Este vetor é livre e não está contido no plano tangente de r no ponto p. Aplicando-se algumas simplificações, como desconsiderar varia- ções térmicas, a equação para o movimento de um ponto pertencente a superfície fica N α | α + ρF = ρ ˙ v, (1) onde N α | α representam as forças internas geradas, F a força externa aplicada, ρ a densidade da super- fície no ponto sendo considerado, e ˙ v a diferencial do vetor velocidade em relação ao tempo. Para se trabalhar com a Equação 1, um dos pontos importantes a se considerar é que cada ponto r possui um referencial local que não é necessaria- mente igual ao de seus pontos vizinhos, ou mesmo ao mesmo ponto em outro instante t. Este referen- cial é expresso pelos vetores a i a 1 = r ∂u a 2 = r ∂v a 3 = r ∂u × r ∂v r ∂u × r ∂v . (2)

Upload: others

Post on 12-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulação da dinâmica dos tecidos de pano em tempo real€¦ · And in the final stage, we apply those internal forces and the external forces to determine the sample’s position

Simulação da dinâmica dos tecidos de pano em tempo realMatias Costa , Wu, Shin - Ting (Orientadora)

Departamento de Engenharia de Computação e Automação Industrial (DCA)Faculdade de Engenharia Elétrica e de Computação (FEEC), Unicamp

{matiasrc,ting}@dca.fee.unicamp.br

Abstract – Our goal is to apply the Cosserat Surface model to produce real-time cloth animations. The advantageof this model is to offer a more precise simulation of the physical behaviour in comparison with traditional mass-spring models. It is based on continuum mechanics and, in principle, demands heavy computational processing.We research an alternative that makes it computationally more tractable. In the first stage of our work, we obtainalgorithms that estimate the first and second fundametal forms of each surface sample. In the second stage, weapply those results to calculate the internal forces at each sample. And in the final stage, we apply those internalforces and the external forces to determine the sample’s position in each time instant. This paper reports the resultswe achieved for the second stage. Special attention has been paid to the calculation of the variations of a physicalquantity describable in a moving reference system.

Keywords – cloth animation, cosserat surface

1. IntroduçãoExistem dois modelos comumente usados para si-mulações de deformações em tecidos: mecânica departículas e mecânica do contínuo. No caso do usode partículas, discretiza-se a superfície em uma ma-lha regular, com cada vértice conectado a seus vizi-nhos. A interação entre esses vértices pode se darde diversas formas, sendo geralmente escolhido omodelo massa mola. Apesar de eficiente em ter-mos processamento, este modelo é uma simplifica-ção das propriedades físicas do tecido, descartandoum efeito direto de propriedades como as curva-turas, e geralmente necessitando de aproximaçõespara imitar visualmente o comportamento esperado.No caso de mecânica do contínuo, embora a simula-ção seja precisa, ela requer um alto custo computa-cional e não é aplicável em situações onde se desejaproduzir resultados em tempo real.

Esse trabalho propõe-se a estudar e imple-mentar o modelo proposto em Green et al. [1], ba-seado na teoria de superfícies de Cosserat da Me-cânica do Contínuo. Neste modelo são usadas aspropriedades de geometria diferencial para estimara energia e forças internas de um ponto qualquer so-bre a superfície e o nosso objetivo é encontrar umaforma de processá-lo em tempo interativo.

2. PreliminaresNesta seção são sintetizados os principais conceitosrelacionados com o desenvolvimento deste trabalho.

2.1. Notação de EinsteinA notação de Einstein permite escrever equaçõescomplexas, especialmente envolvendo somatório de

termos, de maneira compacta [7]. Ela é extensiva-mente utilizada no desenvolvimento das superfíciesde Cosserat.

Nessa notação letras romanas representamos valores 1, 2 e 3 e as gregas apenas 1 e 2,numa combinação de diversos fatores. Por exem-plo, uma equação A = xiyα, é uma forma com-pacta de expressar A = xiyα =

∑3i=1

∑2α=1 xiyα

= x1y1 + x2y1 + x3y1 = x1y2 + x2y2 + x3y2.

2.2. Modelo de Superfícies de CosseratO modelo de superfícies de Cosserat descreve umasuperfície r(u,v,t) deformável ao longo do tempo t.Cada ponto p desta superfície é associado a um ve-tor diretor d. Este vetor é livre e não está contidono plano tangente de r no ponto p. Aplicando-sealgumas simplificações, como desconsiderar varia-ções térmicas, a equação para o movimento de umponto pertencente a superfície fica

Nα|α + ρF = ρv̇, (1)

onde Nα|α representam as forças internas geradas,F a força externa aplicada, ρ a densidade da super-fície no ponto sendo considerado, e v̇ a diferencialdo vetor velocidade em relação ao tempo.

Para se trabalhar com a Equação 1, um dospontos importantes a se considerar é que cada pontor possui um referencial local que não é necessaria-mente igual ao de seus pontos vizinhos, ou mesmoao mesmo ponto em outro instante t. Este referen-cial é expresso pelos vetores ai

a1 =∂r

∂ua2 =

∂r

∂va3 =

∂r∂u ×

∂r∂v∣∣∣ ∂r∂u × ∂r∂v

∣∣∣ . (2)

Page 2: Simulação da dinâmica dos tecidos de pano em tempo real€¦ · And in the final stage, we apply those internal forces and the external forces to determine the sample’s position

2.3. Tensores métrico e de curvatura

Conforme já apresentamos em [2], a primeira partedesse trabalho constituiu na elaboração de uma téc-nica para estimar os tensores (covariantes) métricos(aαβ) e de curvatura (bαβ) de uma superfície qual-quer, discretizada em malhas de topologia arbitrá-ria. Estes valores nos informam as propriedadesda superfície r ao redor de um determinado pontop, e, quando comparados em instantes t distintos,são fundamentais para prever deformações em r se-gundo o modelo de superfícies de Cosserat. Porexemplo, a energia potencial em cada ponto podeser expressa, após devidas simplificações, por

ρA(r, t) = Φαβγδεαβ(t)εγδ(t)

+ Ψαβγδκαβ(t)κγδ(t) (3)

+ Θαβγδεαβ(t)κγδ(t).

Quando o vetor diretor d coincidir com o vetor nor-mal à superfície, esta avaliação se dá no cálculo εαβe καβ

εαβ =1

2(aαβ −Aαβ) καβ = − (bαβ −Bαβ) ,

onde aαβ = aαaβ e bαβ são os tensores métricos ede curvatura para o instante atual t, enquanto Aαβe Bαβ representam os mesmos para o estado inicialda superfície.

Os tensores métricos covariantes aαβ e ostensores métricos contravariantes aαβ são relacio-nados através das expressões

a11 = a22/a a12 = a21 = −a12/a a22 = a11/a,

onde a = a11a22 − a212.

2.4. Derivada covariante

Ao se observar a Equação 1, é possível que o pri-meiro elemento não seja muito familiar. A notaçãoTα|β se refere ao que chamamos de derivada cova-riante. Como uma derivada ordinária, ela se refereao diferencial do tensor Tα em relação a uma dasvariáveis, u (se β = 1) ou v (se β = 2), ou seja à va-riação de Tα na direção a1 ou a2. Entretanto, comofoi observado, o referencial para Tα não é necessari-amente o mesmo entre dois pontos distintos. Logo,é necessário levar em consideração a mudança doreferencial quando se quer determinar o diferencial“real” de Tα em cada ponto.

Como descrito em Sanchez et al., a derivadacovariante de vetor contravariante, na direção aα,envolvendo a variável xα (u ou v no nosso exemplode superfície r) pode ser obtida usando [6]

Tm|k =∂Tm

∂xk+ T jΓmjk . (4)

Em nosso trabalho, também precisaremosde derivadas covariantes de tensores de segunda or-dem Tαβ que assumem a seguinte forma

Tαβ∣∣∣γ

=∂Tαβ

∂xγ+ ΓαγλT

λβ + ΓβγλTλα. (5)

As equações 4 e 5 são compostas por umaderivada parcial ordinária, somada a outros termoscontendo símbolos de Christoffel Γαγλ a ser detalha-dos na Seção 2.5.. São justamente esses termos quelevam em consideração a alteração entre os referen-ciais em pontos diferentes da superfície.

2.5. Símbolos de ChristoffelObservando a equação para o símbolos de Christof-fel do tipo 1

Γijk =1

2

(∂ajk∂xi

+∂aki∂xj

− ∂aij∂xk

), (6)

vemos que eles estão diretamente ligados aos dife-renciais da base, já que estão associados aos tenso-res métricos. Para a derivada covariante de tensorescontravariantes, é necessário utilizar os símbolos deChristoffel do tipo 2

Γγαβ = a1γΓαβ1 + a2γΓαβ2 . (7)

2.6. Forças e tensores de deformaçãoNa equação 1 temos os vetores força de deformaçãoNα. Este vetores possuem as componentes

Nβ = Nαβaα +N3βa3 , (8)

onde Nαβ é chamado tensor de deformação da su-perfície. De maneira análoga, os vetores força degiro Mα são compostos pelo tensor de giro Mαβ .

Quando os vetores diretores d estiveremsempre na mesma direção e sentido que a normalda superfície, é possível deduzir que

Mαβ(t) = Ψαβγδκγδ(t) + Θαβγδεγδ(t)

N′αβ(t) = Φαβγδεγδ(t) + Θαβγδκγδ(t), (9)

Page 3: Simulação da dinâmica dos tecidos de pano em tempo real€¦ · And in the final stage, we apply those internal forces and the external forces to determine the sample’s position

ondeΦ, Ψ e Θ representam constantes associadas ascaracterísticas físicas, como elasticidade, da super-fície sendo considerada.

O passo final para a determinação de Nα econsequente resolução da equação 1 é

Nαβ(t) = N′αβ(t)−Mβγ(t)

(aαδ(t)bδγ(t)

)N3β = Mβα

∣∣∣α. (10)

3. PropostaPara avaliar a aplicabilidade do modelo de superfí-cie de Cosserat na simulação realista de tecidos depano em tempo real, precisamos encontrar uma es-tratégia de calcular os componentes da força internaNα dados pela equação 10. Estes, por sua vez, exi-gem estimativas de derivadas covariantes dos ten-sores de deformação e de giro definidos em equa-ções 9. O foco deste trabalho está na elaboração deum algoritmo robusto para obter tais derivadas co-variantes.

3.1. Problemas encontrados

É importante notar que embora o conceito de de-rivada covariante sempre envolve bases que variamao longo de uma superfície ou curva, a forma comoisso é feito não é uniforme. Alguns textos como [4]utilizam uma interpretação geométrica que definea derivada covariante como sendo a projeção, noplano tangente à superfície, das derivadas ordiná-rias. Entretanto esta definição está restrita a vetoresque já são originalmente tangentes a superfície, oque não é o caso de Nα. É também possível obser-var que se Nα|α estiver restrito a esse plano, a equa-ção 1 não permitiria que as forças internas tivessemuma componente na direção normal à superfície noponto.

Com isso, adotamos a definição presenteem textos de cálculo tensorial para derivadas covari-antes, expressa nas equações 4 e 5. Entretanto, ava-liações comparando modelos discretizados e teóri-cos mostraram que os símbolos de Christoffel sãobastante sensíveis à resolução da malha ao aplicar-mos a técnica de diferenças finitas. Com o obje-tivo de gerar melhores estimativas, foi feita uma ten-tativa de utilizar técnicas semelhantes às aplicadaspara o cálculo do tensor de curvatura, baseada nostrabalhos de Rusinkiewicz[5] e Batagelo[3], mas osresultados não foram satisfatórios.

3.2. Algoritmo

Para obter Nα|α da equação 1 são necessários osseguintes passos:

• Cálculo das curvaturas principais.• Determinação das bases ai.• Cálculo dos tensores métrico e de curva-

tura.• Cálculo dos tensores Nαβ e Mαβ .• Cálculo dos símbolos de Christoffel• Cálculo de Mβα

∣∣∣α

• Cálculo de Nα|α

4. Resultados

Ainda estamos enfrentando dificuldades envolvendoproblemas de discretização e topologias de malhaspara conseguir simular corretamente o comporta-mento das malhas, mas já é possível fazer algumasavaliações de valores obtidos. Como estamos ten-tando avaliar apenas a base da teoria, vamos utilizarsuperfícies conhecidas para analisar os resultados.O estado inicial é sempre uma superfície plana.

4.1. Energia Potencial

Utilizando a equação 3, podemos obter estimativasda energia potencial para cada ponto. Como issonão envolve os cálculos das derivada covariantes,serve como uma boa avaliação dos resultados inter-mediários.

Figura 1. Energia potencial codificada emcor amarela (alta) e azul (baixa), considerandocontibuição de (a) tensor métrico e (b) de cur-vatura.

Na figura 1, vemos a energia potencial, masobservando separadamente os efeitos das variaçõesdos tensores métrico e de curvatura. Como espe-rado, regiões mais esticadas tem uma energia maiordevido a εαβ enquanto as mais curvas, próximas aocentro, tem maior contribuição por καβ .

Page 4: Simulação da dinâmica dos tecidos de pano em tempo real€¦ · And in the final stage, we apply those internal forces and the external forces to determine the sample’s position

4.2. Derivadas covariantes

Como elas são muito importantes para a estimativadas forças internas, é importante observar se os va-lores obtidos para derivadas covariantes estão dentrodo esperado. Para facilitar essa avaliação visual, ob-

Figura 2. Visualização da derivadacovarianteMβα

∣∣γ

servamos apenas os valores para Mβα∣∣∣γ

na Figura

2. O valor representado pela cor amarela é a somade todos os valores absolutos (8 no total) de cada umdos componentes do tensor de giro Mβα, derivadoscovariantemente para aγ . Pela equação 9 sabemosque este tensor depende da variação do tensor mé-trico e de curvatura. Entretanto, a constante Θ é trêsordens de grandeza menor que Ψ, portanto espera-se que καβ seja o termo dominante. Para o primeirocaso, temos uma superfície h(u, v) = u2− v2. Pen-sando em diferenças finitas, se espera que no pontocrítico das curvas, o valor mostrado na imagem sejapequeno, já que avaliando nos dois sentidos, irá seobservar os mesmos valores de Mβα, implicandoem um diferencial nulo, e de fato é isso que se cons-tata.

Para o segundo caso, temos uma superfí-cie plana que passa ter uma deformação do tipo u2

a partir de uma certa linha. Como Mβα é zerono plano, mas passa a ter uma valor considerávelquando uma curvatura aparece, espera-se que na re-gião de encontro a derivada detectada seja grande.Na media que se avança na curva da parábola, paracada ponto considerado, a superfície se curva cadavez menos em relação ao estado inicial plano, e por-tanto espera-se valores pequenos para a derivada.Mais uma vez, o comportamento visual é o espe-rado.

Além dessa visualização, comparações nu-méricas entre valores estimados pela malha e cal-culados algebricamente por superfícies conhecidas,não apresentaram erros maiores que 10% para umamalha composta por 40x40 segmentos.

5. ConclusõesApesar de alguns problemas, especialmente de dis-cretização em malhas que começam a se deformar,ainda impedirem a produção de animações corre-tas, a avaliação dos resultados intermediários mos-tra que o algoritmo está produzindo valores coeren-tes com a teoria da superfícies de Cosserat, e issofacilita isolar as dificuldades sendo encontradas nomomento para a obtenção do objetivo final desse tra-balho.

A implementação atual também já está re-alizando todos os passos esperados, e mesmo semotimizações, utilizando apenas um thread e sem usoespecífico de GPU fora a visualização, cada quadrode uma malha composta de 1600 pontos é proces-sado em menos de 60ms. Portanto, uma vez ven-cidos esses últimos desafios, é esperado que estatécnica permita a produção de animações em temporeal, com simulações mais precisas do que quandoutilizando um sistema massa-mola.

Referências[1] A. E. Green, P.M. Naghdi, e W.L. Wain-

wright. A generaltheory of a cosserat sur-face. Em Archive for Rational Mechanics andAnalysis,20:287- 308, 1965

[2] Costa, M; Estimação de Propriedades Geo-métricas em Malhas de Topologia Arbitrária,http://www.dca.fee.unicamp.br/projects/prosim/publications/reports/costa-2011-desmo.pdf

[3] Batagelo, H. C.; Wu, S. T.; Estimating Curva-tures and Their Derivatives on Meshes of Arbi-trary Topology from Sampling Directions. EmThe Visual Computer, 23:9-11, pp. 803-812,Springer, June 2007.

[4] Carmo, M. P. Geometria Diferencial de Curvase Superfícies, 2005. ISBN: 85-85818-26-3

[5] Szymon Rusinkiewicz. Estimating curvaturesand their derivatives on triangle meshes. Em3DPVT ’04: Proceedings of the 3D Data Pro-cessing, Visualization, and Transmission, 2ndInternational Symposium on (3DPVT’04), pa-ges 486-493, Washington, DC, USA, 2004.IEEE Computer Society

[6] Emil Sánchez. Cáclulo Tensorial. 2011. ISBN:978-85-7193-251-1

[7] Kuptsov, L.P., “Einstein rule”. Em Hazewinkel,Michiel, Encyclopaedia of Mathematics, Sprin-ger, 2001.