Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration
Post on 04-Mar-2023
1 Views
Preview:
Transcript
Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit NumericalIntegration
Laise Lima de Carvalho, Creto Augusto Vidal, Joaquim Bento Cavalcante-Neto, Suzana Matos Franca de Oliveira
Departamento de ComputacaoUniversidade Federal do Ceara
Fortaleza, CE, Brasillai nel21@yahoo.com.br, cvidal@lia.ufc.br, joaquimb@lia.ufc.br, suzanam@lia.ufc.br
Abstract—Physically based cloth animation has gained muchattention from researchers in the last two decades, due to thechallenges of realism placed by the film and game industries, aswell as by the applications of virtual reality and e-commerce.Despite the overwhelming achievements in this area, a deeperunderstanding of the numerical techniques involved in thesimulations is still in order. This paper analyzes the behaviorof some useful integration techniques, and tests them in threetypical simulations of cloth animation.
Keywords-cloth simulation; numerical methods; physicallybased animation; spring-mass model.
I. INTRODUCAO
A animacao de tecidos e um tema importante que tem
sido bastante estudado nas ultimas decadas [1], [3], [6],
[18], [20], [22], [25] pelo importante papel que os tecidos
desempenham na vida humana. Recentemente, o tema gan-
hou ainda mais atencao por conta do realismo exigido pelas
industrias de entretenimento e pelo comercio eletronico [13],
[21].
O movimento do tecido em uma animacao e muito
complexo para ser definido por tecnicas tradicionais em
que o animador exerce total controle sobre posicoes e
velocidades do objeto a ser animado [4], [5]. Por esse
motivo, a simulacao do comportamento dinamico de tecidos
e imprescindıvel nas aplicacoes que exigem realismo de
movimentos [19].
Esse tipo de simulacao pode ser tratado pela dinamica do
contınuo em que o tecido e considerado como um material
contınuo, e as equacoes diferenciais de movimento que
governam o problema sao resolvidas tradicionalmente pelo
Metodo dos Elementos Finitos. Essa abordagem, no entanto,
exige um esforco computacional muito elevado que se traduz
em simulacoes ineficientes para aplicacoes de tempo real
[14], [15].
Uma outra abordagem menos precisa, porem mais efi-
ciente computacionalmente, trata o tecido como um conjunto
de partıculas ligadas entre si por um reticulado de molas e
amortecedores. Esse modelo simplificado tem sido explorado
por permitir a simulacao de movimentos plausıveis em
tempo real. O arranjo do conjunto massa-mola-amortecedor
e projetado de tal maneira que os comportamentos de
alongamento, compressao, cisalhamento e flexao do tecido
sejam adequadamente modelados.
Nessa abordagem discreta, o problema a ser resolvido
e governado por uma equacao diferencial que descreve
matematicamente a segunda lei de Newton, e deve satis-
fazer condicoes iniciais e condicoes de contorno estabele-
cidas. Para solucionar esse problema, varios metodos de
integracao tem sido propostos na literatura. Todos esses
metodos buscam atingir o objetivo comum de obter solucoes
precisas, com baixo custo computacional e numericamente
estaveis. Eles estao divididos em duas categorias principais:
os chamados metodos explıcitos e os metodos implıcitos.
Neste trabalho sao apresentados os principais metodos da
literatura, e e feito um estudo comparativo desses metodos,
levando-se em consideracao os criterios de realismo da
animacao, esforco computacional e estabilidade numerica.
O restante do trabalho esta organizado em quatro secoes.
Na Secao II, e apresentado um panorama dos trabalhos rela-
cionados a modelagem e a simulacao dinamica de tecidos.
Para isso, foram selecionados alguns dos trabalhos mais
relevantes de 1975 a 2011. Na Secao III, sao apresentados
os elementos que fazem parte do modelo fısico do problema,
isto e, a representacao do tecido por um modelo massa-mola-
amortecedor, e a descricao das forcas internas e externas
que atuam sobre esse modelo de tecido. Na Secao IV, sao
detalhados os metodos de integracao numerica que fazem
parte do estudo comparativo. Na Secao V, esses metodos
de integracao sao comparados em tres simulacoes e os
resultados sao apresentados e discutidos. Na Secao VI, sao
feitas algumas consideracoes finais sobre o trabalho.
II. TRABALHOS RELACIONADOS
Breen, House e Wonzy [3] foram os pioneiros no uso
de modelos de partıculas para simulacao de tecidos. O foco
principal de seu trabalho foi o estudo de draping - simulacao
de um tecido se acomodando em torno de um objeto.
Para atingir tal objetivo, utilizaram funcoes de energia para
calcular as propriedades de deformacao do tecido, baseando-
se em dados experimentais obtidos pelo sistema de avaliacao
Kawabata [12].
2012 14th Symposium on Virtual and Augmented Reality
978-0-7695-4725-1/25 $26.00 © 4725 IEEE
DOI 10.1109/SVR.2012.11
56
2012 14th Symposium on Virtual and Augmented Reality
978-0-7695-4725-1/25 $26.00 © 4725 IEEE
DOI 10.1109/SVR.2012.11
56
Provot [18] introduziu em seu modelo procedimentos
de limitacao de deformacao com intuito de melhorar a
qualidade visual dos tecidos simulados, diminuindo os
efeitos de deformacoes nao realistas. Com um esquema de
integracao explıcito, mais precisamente o metodo explıcito
de Euler, buscou tambem alcancar melhorias no desempenho
computacional. Tratamentos de deformacoes nao realistas
tambem foram abordados por [8], [17], [22]. Wang, Hu e
Zhuang [26] propuseram uma extensao do modelo em [18].
Jiang e Wang [9] tendo como objetivo atingir simulacoes em
tempo real utilizaram a solucao numerica explıcita de Verlet
associada com o algoritmo de Beeman [2].
O uso de um procedimento numerico explıcito necessita
de um passo de tempo muito pequeno para garantir sua
estabilidade, o que dificulta a ocorrencia de simulacoes em
tempo real para malhas bastante refinadas. Na tentativa de
solucionar esse problema, Baraff e Witkin [1] propuseram
a utilizacao do metodo de integracao implıcito de Euler.
Como alternativa a esse procedimento, Volino e Magnenat-
Thalmann [25], sugeriram a utilizacao do metodo do ponto
intermediario implıcito.
A grande desvantagem associada a utilizacao de solucoes
numericas implıcitas e que, a cada iteracao, um grande sis-
tema linear esparso tem que ser resolvido. Varias pesquisas
tentaram buscar solucoes eficientes para resolucao deste
sistema. Desbrun, Schroder e Barr [7] consideraram a matriz
do sistema constante e pre-computaram a sua inversa; Zhou
et al. [27] utilizaram o metodo de Sucessive Over Relaxation(SOR); e, Kang e Cho [10] empregaram a primeira iteracao
do metodo de Jacobi
Uma propriedade importante quando se deseja a
simulacao do movimento do tecido com um aspecto na-
tural e seu comportamento de flambagem - um estado de
instabilidade local causado por tensoes de compressao. Choi
e Ko [6] tentaram evitar instabilidades numericas causadas
apos ocorrencia deste fenomeno atraves de uma fase de pos-
processamento para as forcas de compressao.
III. MODELO FISICO
A. Malha
O tecido e representado por uma malha quadrilateral
composta de m×n partıculas. Cada partıcula esta conectada
as suas vizinhas por molas que nao possuem massa e cujo
comprimento natural e diferente de zero. A ligacao entre as
partıculas e estabelecida por tres tipos de molas: estrutural,
de cisalhamento e de flexao; conforme mostrado na Figura
1.
Cada mola aplica forcas nas partıculas que ela conecta,
de acordo com o tipo de deformacao que ela representa.
B. Forcas
As forcas aplicadas as massas do modelo podem ser se-
paradas em duas categorias: as forcas internas, provenientes
Figura 1. Tipos de molas de acordo com os tipos de conectividade entrepartıculas vizinhas.
das molas, e as forcas externas, relacionadas ao ambiente
em que o tecido se encontra.
1) Forcas Internas: As forcas provenientes da resistencia
ao alongamento e ao cisalhamento, relativas as molas estru-
turais e de cisalhamento, podem ser expressas do seguinte
modo:
fi =
{kij
(|xj − xi| − L0ij
) xj−xi
|xj−xi| se |xj − xi| > L0ij
0 caso contrario,
(1)
onde i e j denotam duas partıculas que estao conectadas
por uma mola, estrutural ou de cisalhamento, que possui
uma constante de rigidez kij e um comprimento natural L0ij ;
xi e xj sao os vetores tridimensionais que representam as
posicoes das partıculas i e j, respectivamente; e fi indica a
forca da mola aplicada na partıcula i.As molas de flexao sao consideradas as menos rıgidas e
sao responsaveis pela resistencia a compressao e a flexao. A
forca exercida por esse tipo de mola e representada como:
fi =
{kij
(|xj − xi| − L0ij
) xj−xi
|xj−xi| se |xj − xi| < L0ij
0 caso contrario,
(2)
de modo que i e j passam a denotar duas partıculas que estao
conectadas por uma mola de flexao com uma constante de
rigidez kij e um comprimento natural L0ij .
No mundo real, existe dissipacao de energia, por isso
e necessario considerar a propriedade de amortecimento
intrınseca aos tecidos. Assim, as forcas dissipativas sao
expressas como:
fdi = kdij ((vj − vi) · (xj − xi))xj − xi
|xj − xi|2, (3)
no qual kdij e o coeficiente de amortecimento da mola que
liga a partıcula i a partıcula j, e vi e vj sao os vetores
tridimensionais que representam a velocidade das partıculas
i e j, respectivamente. Visto que pretende-se amortecer o
5757
movimento do vertice apenas na direcao da mola (xj − xi),entao a forca de amortecimento e projetada na direcao do
alongamento.
2) Forcas Externas: O ambiente onde o tecido e simulado
neste artigo faz uso das seguintes forcas externas: forca da
gravidade, forca de resistencia provocada pelo ar e forca do
vento.
Considerando g como a aceleracao da gravidade, a forca
gravitacional e computada do seguinte modo:
fgravi = mig, (4)
onde mi indica a massa da partıcula i.A influencia da resistencia do ar e expressa por:
fresi = −Cresi vi, (5)
sendo Cresi e vi, respectivamente, o coeficiente de arrasto
do ar e a velocidade relativos a partıcula i.Finalmente, a forca do vento e computada da seguinte
forma:
fventoi = Cvento[ni ·
(uvento − vi
)]ni, (6)
no qual Cvento e uvento indicam, nesta ordem, o coeficiente
de viscosidade e o vetor velocidade do vento e ni e o vetor
normal unitario a superfıcie na posicao xi.
3) Massas e Coeficientes: Em varias pesquisas como em
[9]–[11], [16], [18], nao e mencionado diretamente como
se da a distribuicao de massa pelos vertices da malha, bem
como, o valor do coeficiente de arrasto do ar pelo tecido
e do coeficiente de rigidez das molas, o que faz supor que
sejam determinados empiricamente.
No entanto, neste trabalho, cada partıcula tem uma regiao
de influencia que servira para calcular o valor das massas,
como visto na Figura 2. A regiao de influencia de uma
partıcula e determinada pela area que se encontra mais
proxima a ela, como em um diagrama de Voronoi. No caso,
como a malha e regular, a area Ai pode ser calculada como
segue:
Ai =
(LijE + LijD
2
)(LijS + LijI
2
), (7)
onde LijD , LijE , LijS e LijI denotam, respectivamente,
o comprimento natural das molas estruturais nas posicoes
horizontais, direita e esquerda, e verticais, superior e inferior,
que estao conectadas a partıcula i.
Figura 2. Regiao de influencia de diferentes partıculas.
Sendo assim, as massas das partıculas podem ser calcu-
ladas da seguinte maneira:
mi = Aiερ, (8)
onde ε e ρ sao a espessura e a densidade de massa do tecido,
respectivamente. Vale ressaltar que as partıculas nas bordas
e nos cantos tem os valores menores do que os das partıculas
centrais.
Por sua vez, o coeficiente de arrasto, Cresi , e influenciado
pela posicao da partıcula e pelo grau de permeabilidade
do tecido. Assim, Cresi pode ser escrito em funcao de um
coeficiente empırico, ka, que leva em conta a permeabilidade
do tecido, e em funcao da posicao da partıcula na grade:
• Partıculas dos cantos: Cresi = 0,25ka;
• Partıculas das bordas: Cresi = 0,5ka e
• Partıculas centrais: Cresi = ka.
IV. INTEGRACAO NUMERICA
A simulacao do comportamento do tecido e governada
pela segunda lei de Newton:
Ma = f , (9)
em que f representa o vetor das forcas resultantes exercidas
sobre as partıculas, M e uma matriz diagonal que fornece a
distribuicao da massa do tecido e a e o vetor da aceleracao
das partıculas provocada pela forca f .
A Equacao (9) pode ser reescrita como uma equacao
diferencial de segunda ordem, que por sua vez pode ser de-
composta em duas equacoes diferenciais de primeira ordem,
resultando no seguinte sistema:⎛⎜⎜⎝
dxt
dt
dvt
dt
⎞⎟⎟⎠ =
⎛⎝ vt
M−1ft
⎞⎠ , (10)
onde xt, vt e ft representam, respectivamente, os vetores das
componentes das posicoes, velocidades e forcas relativas as
partıculas em um determinado tempo t.Assim, para obtencao dos novos estados do tecido ao
longo do tempo, representados pelos vetores da posicao e
velocidade de cada partıcula, o sistema obtido tem que ser
integrado numericamente. Os metodos de integracao utiliza-
dos neste trabalho serao descritos nas proximas subsecoes.
Por uma questao de organizacao as seguintes notacoes
serao utilizadas:
• St indica o estado do tecido em um tempo t (o array
contendo os vetores das posicoes e velocidades de todas
as partıculas);
• F(t,St) representa os vetores das componentes das
derivadas das posicoes e velocidades das partıculas em
um instante t, lado direito em (10);
• Δt e o passo de tempo utilizado na simulacao.
5858
A. Metodo explıcito de Euler
Este metodo e o procedimento numerico mais simples
que pode ser utilizado na resolucao de problemas de valores
iniciais (PVI). Ele e um metodo de passo simples em que o
estado do tecido no tempo t+Δt e calculado como:
Sn+1 = Sn +ΔtF(tn,Sn), (11)
onde os subscritos n e n+ 1 referem-se ao tempo corrente
tn e tn +Δt, respectivamente.
B. Metodo do ponto intermediario
Este metodo primeiramente realiza um passo explıcito de
Euler ate a metade do intervalo, tn + Δt/2, e utiliza a
avaliacao da derivada do estado neste ponto para avancar
ao longo de todo o intervalo. Assim, os novos estados do
tecido sao determinados pelas seguintes equacoes:{Sn+ 1
2= Sn + Δt
2 F(tn,Sn)Sn+1 = Sn +ΔtF(tn+ 1
2,Sn+ 1
2).
(12)
C. Metodo de Runge-Kutta de quarta ordem
Este metodo se baseia na ideia de estimar quatro valores
intermediarios dentro do intervalo e usa essas estimativas
para melhorar a precisao numerica da solucao. Desse modo,
os novos estados do tecido sao calculados com as equacoes:⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩
k1 = ΔtF(tn,Sn)k2 = ΔtF(tn+ 1
2,Sn + k1
2 )
k3 = ΔtF(tn+ 12,Sn + k2
2 )
k4 = ΔtF(tn+1,Sn + k3)Sn+1 = Sn + 1
6 (k1 + 2k2 + 2k3 + k4) .
(13)
D. Metodo de Verlet modificado [9]
O metodo classico de Verlet [23] e um procedimento
numerico explıcito muito utilizado em dinamica molecular.
Ele pode ser escrito como:{xn+1 = 2xn − xn−1 + anΔt2
vn+1 = xn+2−xn
2Δt .(14)
Na Equacao (14), pode-se notar que o metodo classico de
Verlet e um metodo de passo multiplo, e, como tal, necessita
de um metodo auxiliar de passo simples para computar os
estados iniciais da simulacao. Neste caso, o metodo auxiliar
e usado para calcuar x1, e, so entao (14) pode ser usada para
calcular x2 e as posicoes nos tempos subsequentes. Jiang
e Wang [9] propuseram a utilizacao da serie de Taylor de
segunda ordem para inicializar o metodo de Verlet. Assim,{x1 = x0 + v0Δt+ 1
2a0Δt2
v1 = v0 + a0Δt.(15)
Jiang e Wang [9] tambem observaram que o calculo da
velocidade das partıculas e computacionalmente caro, pois
necessita de duas posicoes de antemao, xn e xn+2. Desse
modo, na tentativa de tratar esse problema, fizeram uso de
uma aproximacao atraves do metodo de integracao implıcito
de Euler, resultando na seguinte equacao de atualizacao:
vn+1 =xn+1 − xn
Δt. (16)
O metodo de Verlet mantem a aceleracao constante du-
rante o passo de integracao. No entanto, pela segunda lei
de Newton (9), se a forca varia entre dois instantes de
tempo sucessivos, a aceleracao nao e constante no passo de
integracao. Assim, para ajustar o algoritmo de Verlet a essa
condicao, Jiang e Wang [9] utilizaram o metodo de Beeman
quando ha grandes variacoes da forca resultante. Assim, ao
inves de usar as expressoes em (14) o metodo de Verlet e
reescrito como:{xn+1 = xn + vnΔt+ Δt2
6 (4an − an−1)vn+1 = vn + Δt
6 (2an+1 + 5an − an−1) .(17)
E. Metodo Implıcito de Euler
Este metodo e o mais simples de todos os metodos
implıcitos, e e expresso como:{xn+1 = xn +Δtvn+1
vn+1 = vn +ΔtM−1fn+1.(18)
Note que em (18) as duas equacoes sao acopladas, ou
seja, para atualizar as posicoes das partıculas no tempo
tn+1 necessitam-se das velocidades no tempo tn+1, e para
atualizar essas velocidades em tn+1 e necessario que as
forcas, que dependem das posicoes das partıculas, estejam
atualizadas em tn+1. A maneira mais simples de atualizar o
vetor de forcas em tn+1 e fazendo uma aproximacao com a
expansao de Taylor:
fn+1 = fn +∂f
∂xΔxn+1 +
∂f
∂vΔvn+1, (19)
onde ∂f∂x e ∂f
∂v representam as matrizes Jacobianas do vetor
de forcas com respeito aos vetores das posicoes e veloci-
dades, respectivamente. Cada componente destas matrizes e
uma sub-matriz 3× 3. Estas derivadas podem ser separadas
de acordo com os diversos tipos de forcas: as oriundas das
molas estruturais, das molas de cisalhamento, e das molas
de flexao; e as oriundas das forcas de amortecimento.
Quando a forca em uma mola estrutural ou em uma
mola de cisalhamento for ativada (mola tensionada), sua
contribuicao para as matrizes jacobianas em (19) sao dadas
em (20) que e obtida derivando (1) com relacao a x (note
que (1) nao depende das velocidades).
∂fi∂xj
= kij|xj − xi| − L0
ij
|xj − xi| I
+ kijL0ij
|xj − xi|
((xj − xi) (xj − xi)
T
|xj − xi|2).(20)
Quando a forca em uma mola de flexao for ativada (mola
comprimida), sua contribuicao para as matrizes jacobianas
em (19) tambem sao dadas em (20) ja que essa equacao
5959
tambem pode ser obtida derivando a equacao em (2). Essa
equacao tambem nao depende das velocidades e, portanto,
nao contribui para a segunda matriz jacobiana em (19).
A forca de amortecimento no tecido, calculada em (3),
depende de x e de v, e, portanto, contribui para as duas
matrizes jacobianas em (19). Essas contribuicoes, obtidas
diferenciando a equacao em (3), sao calculadas como:
∂fi∂xj
= kij(vj − vi) (xj − xi)
T
|xj − xi|2I
+ kij (xj − xi) (xj − xi)T (vj − vi) (xj − xi)
T
|xj − xi|4
+ kij(vj − vi) (xj − xi)
|xj − xi| I, (21)
∂fdi∂vd
j
= kdij(xj − xi) (xj − xi)
T
|xj − xi| , (22)
onde I e a matriz identidade 3× 3.
Dependendo dos modelos das forcas externas aplicadas,
outras contribuicoes para as matrizes jacobianas em (19)
precisam ser adicionadas. No modelo fısico descrito na
Secao III, a forca de arrasto do ar em (5) e a forca do vento
em (6) dependem da velocidade da partıcula sobre a qual
elas atuam, e, por conseguinte, contribuem para a segunda
matriz jacobiana em (19) com a seguinte parcela:
∂fi∂vi
= −CresI− Cvento (ni) (ni)T. (23)
Considere a variacao de velocidade:
Δvn+1 = vn+1 − vn, (24)
e a definicao de x em (18). A variacao do vetor posicao
pode ser vista como:
Δxn+1 = xn+1 − xn = (vn +Δvn+1)Δt. (25)
Desse modo, (19) pode ser reescrita como:
fn+1 = fn +∂f
∂xvnΔt+
∂f
∂xΔvn+1Δt+
∂f
∂vΔvn+1. (26)
Substituindo-se (26) na segunda expressao de (18), e
levando-se em conta (24), obtem-se uma equacao algebrica
para o calculo de Δvn+1 como:(M−Δt2
∂f
∂x−Δt
∂f
∂v
)Δvn+1 = Δtfn +Δt2
∂f
∂xvn.
(27)
A matriz M −Δt2 ∂f∂x −Δt ∂f∂v e esparsa pois M e uma
matriz diagonal e as matrizes Jacobianas sao esparsas. A
esparsividade das matrizes Jacobianas resulta do fato de que
uma partıcula e ligada a uma quantidade pequena de outras
partıculas. Alem disso, como ∂fi∂xj
=∂fj∂xi
e ∂fi∂vj
=∂fj∂vi
, essas
matrizes sao simetricas.
Portanto, a atualizacao dos nos novos estados do tecido no
decorrer do tempo atraves da aplicacao do metodo implıcito
de Euler se resume a encontrar as variacoes das velocidades
das partıculas Δvn+1 atraves da resolucao de um sistema
linear esparso (27). Neste trabalho, a resolucao desse sistema
foi obtida com os procedimentos propostos por Kang e Cho
[10] e Zhou et al. [27], conforme mencionados na Secao II,
por serem eficientes.
V. RESULTADOS
Nesta secao, todos os metodos de integracao apresentados
na Secao IV sao utilizados em tres simulacoes distintas
para fins de analise comparativa. Os testes realizados para
avaliacao foram executados em um PC com processador
2,33GHz Core 2 Quad; 2,0GB de RAM e uma placa de
vıdeo S775 Intel DG31PR com HD 320GB.
A. Simulacao I: Queda de um tecido preso em dois pontos
O estado inicial da Simulacao I e mostrado na Figura 3. O
tecido, que se encontra na horizontal, e preso em dois pontos
extremos e cai somente devido a forca da gravidade. A
malha simula um tecido quadrado de 2m× 2m discretizado
como uma grade regular 10 × 10. A Tabela I contem as
constantes usadas para este exemplo. Diferente de outras
pesquisas [7], [18], neste trabalho, os valores das constantes
estruturais foram definidos de maneira adequada, para que
o comportamento irreal de superalongamento do tecido nao
ocorresse.
Tabela ICONSTANTES DA SIMULACAO I.
Total de partıculas 100Densidade(ρ) 2,050kg/m3
Espessura(ε) 0,0001mPeso total 0,82kgka (partıcula) 0,02ks (mola estrutural) 2000N/mkd (mola estrutural) 2N/mks (mola de cisalhamento) 100N/mkd (mola de cisalhamento) 1N/mks (mola de flexao) 0,001N/mkd (mola de flexao) 0,000.5N/m
Figura 3. Posicao inicial da Simulacao I
A Tabela II registra as medidas coletadas para cada
metodo de integracao durante a Simulacao I. A segunda
coluna dessa tabela indica o maior valor que se pode atribuir
a Δt para que o metodo de integracao permaneca estavel.
A terceira coluna indica o tempo, em segundos, transcorrido
desde o inıcio da queda do tecido ate o instante em que o
tecido chega a um estado de repouso. Esse tempo de estudo
6060
da simulacao, dado que o Δt de cada metodo e diferente,
e de aproximadamente 4s neste exemplo. Na quarta coluna,
estao registrados os tempos de CPU gastos para obter os 4sde simulacao. Na quinta coluna, estao registradas as taxas
medias de frames por segundo obtidas por cada metodo de
simulacao.
O metodo de Euler explıcito gasta pouquıssimo tempo
para produzir um frame, porem precisou de um Δt muito
menor se comparado a todos os outros metodos, por isso
entre os explıcitos foi o que se saiu pior computacional-
mente. Embora os metodos implıcitos sejam incondicional-
mente estaveis, os tamanhos dos passos sao limitados pelo
realismo fısico da simulacao, ou seja, os passos tem que ser
suficientemente pequenos para que as oscilacoes do tecido
durante seu deslocamento seja capturadas corretamente.
Com essa limitacao e devido ao elevado custo computacional
envolvido, seus desempenhos foram muito piores do que
os desempenhos dos metodos explıcitos. Nesse exemplo, o
metodo que teve melhor desempenho computacional foi o
metodo do ponto intermediario.
Todos os metodos produziram animacoes plausıveis. Em-
bora os metodos explıcitos tenham gerado solucoes super-
amortecidas, isto e, a ponta da toalha nao oscila tanto antes
de parar. Os desempenhos dos metodos explıcitos, apesar
de gerarem um numero bem maior de frames durante a
simulacao, foram consistentemente melhores do que os de-
sempenhos dos metodos implıcitos. Esse tipo de constatacao
tambem foi reportado em Volino e Thalmann [24].
Tabela IICOMPARACAO DOS DESEMPENHOS DOS METODOS DE INTEGRACAO
PARA SIMULACAO I.
Metodo Δtmax(s) t(s) Tempo total(s) FPSEuler Explicito 0,0002 4,0002 28,731 696,147Ponto Intermediaro 0,0017 4,0001 6,108 385,232Runge-Kutta 0,0024 4,0008 8,737 190,798Verlet Modificado 0,0012 4,0008 12,908 258,289Kang e Cho [10] 0,002 4,002 53,772 37,212Zhou et al. [27] 0,0018 4,0014 70,955 31,329
A verificacao do realismo pode ser feita na comparacao
dos metodos mostrada na Figura 4. Os metodos explıcitos
e os metodos implıcitos tem comportamentos parecidos.
Porem, os dois metodos implıcitos apresentam oscilacoes
mais realistas. O metodo explıcito de Verlet modificado
[7] mostrou-se mais realista do que os outros metodos
explıcitos, os quais tiveram comportamentos muito amorte-
cidos.
B. Simulacao II: Draping de um tecido sobre uma esfera
A Figura 5 ilustra o estado inicial de uma simulacao
do draping de um tecido sobre uma esfera. Esse teste foi
realizado com um tecido quadrado de 2m×2m, discretizado
como uma grade regular 17×17. O tecido cai em queda livre
(a) t = 0,5002 (b) t = 1,0002 (c) t = 2,7502 (d) t = 4,0002
(e) t = 0,5015 (f) t = 1,0013 (g) t = 2,7506 (h) t = 4,0001
(i) t = 0,5016 (j) t = 1,0008 (k) t = 2,7504 (l) t = 4,0008
(m) t = 0,5004 (n) t = 1,0008 (o) t = 2,7504 (p) t = 4,0008
(q) t = 0,502 (r) t = 1,002 (s) t = 2,752 (t) t = 4,002
(u) t = 0,5004 (v) t = 1,0008 (w) t = 2,7504 (x) t = 4,0014
Figura 4. Comparacao das configuracoes simuladas nos instantes t =0,5s; 1s; 2,75s e 4s. Metodo explıcito de Euler sao mostrados em (a)-(d);Metodo do ponto intermediario em (e)-(h); Metodo de Runge-Kutta em(i)-(l); Metodo de Verlet modificado em (m)-(p); Metodo de Kang e Cho[10] em (q)-(t); Metodo de Zhou et al. [27] em (u)-(x).
sobre uma esfera de raio, r = 0,5m, situada logo abaixo do
tecido. As constantes usadas neste exemplo estao mostradas
na Tabela III. Em comparacao com o primeiro exemplo, o
ka da partıcula foi bem menor, pelo fato da grade ser mais
discretizada.
Tabela IIICONSTANTES DA SIMULACAO II.
Total de partıculas 289Densidade(ρ) 2050kg/m3
Espessura(ε) 0,0001mPeso total 0,82kgka (partıcula) 0,008ks (mola estrutural) 2000N/mkd (mola estrutural) 2N/mks (mola de cisalhamento) 100N/mkd (mola de cisalhamento) 1N/mks (mola de flexao) 0,001N/mkd (mola de flexao) 0,0005N/m
6161
Figura 5. Posicao inicial da Simulacao II
O teste de colisao empregado em todas as simulacoes
e simplificado e consiste apenas de uma comparacao da
distancia de cada partıcula ao centro da esfera, com o
raio da esfera. Para que nao haja penetracao, e aplicada
uma correcao na posicao da partıcula, levando em conta a
velocidade da partıcula no momento da colisao e o vetor
normal a superfıcie da esfera no ponto de colisao com a
partıcula.
A Tabela IV segue o mesmo modelo da Tabela II. A
duracao da simulacao fısica para a analise dos metodos
foi de 3s. Nesse exemplo, todos os metodos explıcitos
necessitaram, como esperado, de um Δt menor do que aque-
les dos metodos implıcitos. Porem, ainda assim, o tempo
necessario para toda a simulacao dos metodos implıcitos foi
bem maior, e estes, por se apresentarem menos amortecidos,
ainda nao chegaram totalmente em um estado de repouso
no instante tempo de 3s. Neste exemplo, o metodo que
teve o melhor desempenho computacional foi o metodo de
Verlet modificado [9]. Como foram usadas muitas partıculas,
todos os metodos tiveram um numero baixo de frames por
segundo.
Tabela IVCOMPARACAO DOS DESEMPENHOS DOS METODOS DE INTEGRACAO
PARA SIMULACAO II.
Metodo Δtmax(s) t(s) Tempo total(s) FPSEuler Explicito 0,00032 3,00032 129,56 72,368Ponto Intermediaro 0,00034 3,00016 245,774 35,9029Runge-Kutta 0,00051 3,00033 314,695 18,6943Verlet Modificado 0,0008 3,0008 107,059 35,0368Kang e Cho [10] 0,00086 3,00054 432,543 8,066Zhou et al. [27] 0,001 3,0 434,861 6,898
A Figura 6 mostra a comparacao entre os metodos na
Simulacao II. Os comportamentos dos metodos foram com-
patıveis com os comportamentos observados na Simulacao
I. Observa-se que o caimento da toalha em cada instante
de tempo e praticamente identico nas tres primeiras li-
nhas da Figura 6 (tres primeiros metodos explıcitos). O
metodo de Verlet modificado [9] (na quarta linha) mostra
uma configuracao um pouco diferente para o instante de
0,6s, mas as duas ultimas configuracoes sao praticamente
identicas as obtidas pelos outros metodos explıcitos. Ja os
metodos implıcitos (nas duas ultimas linhas) apresentaram
configuracoes mais proximas entre si, mas bastante diferen-
tes das configuracoes obtidas com os metodos explıcitos.
O comportamento menos amortecido dos dois metodos
implıcitos faz com que a simulacao se defase das simulacoes
feitas com os metodos explıcitos, o que explica as dis-
crepancias das configuracoes nos instantes de tempo regis-
trados na Figura 6.
(a) t = 0,30016 (b) t = 0,60032 (c) t = 1,20032 (d) t = 3,00032
(e) t = 0,30022 (f) t = 0,6001 (g) t = 1,2002 (h) t = 3,00016
(i) t = 0,30039 (j) t = 0,60027 (k) t = 1,20003 (l) t = 3,00033
(m) t = 0,3008 (n) t = 0,6008 (o) t = 1,2008 (p) t = 3,0008
(q) t = 0,30014 (r) t = 0,60028 (s) t = 1,20056 (t) t = 3,00054
(u) t = 0,301 (v) t = 0,601 (w) t = 1,201 (x) t = 3
Figura 6. Comparacao das configuracoes simuladas nos instantes t =0,3s; 0,6s; 1,2s e 3s. Metodo explıcito de Euler sao mostrados em (a)-(d);Metodo do ponto intermediario em (e)-(h); Metodo de Runge-Kutta em(i)-(l); Metodo de Verlet modificado em (m)-(p); Metodo de Kang e Cho[10] em (q)-(t); Metodo de Zhou et al. [27] em (u)-(x).
C. Simulacao III: Bandeira tremulando ao vento
A Figura 8 ilustra a simulacao de uma bandeira submetida
a rajadas de vento. Esse teste foi realizado com um tecido
de forma retangular de 2m× 1,47m discretizado como uma
grade regular 19× 14. Uma das mudancas, em comparacao
aos outros exemplos, foi na constante de rigidez da mola
de flexao que foi usada com o valor 1,5. Essa mudanca
foi feita para que nao haja tanta autocolisao, ja que esta
nao esta sendo tratada. O tecido comeca parado e estirado
na vertical a um angulo de 45o com a direcao de um
vento com viscosidade de 0,01780kg/s, como mostrado na
Figura 7. A magnitude da velocidade e dada por uma funcao
6262
senoidal comecando e terminando em 0m/s e o seu pico e
em 30m/s, agindo durante aproximadamente 3s e depois
parando. As constantes utilizadas para esse experimento se
encontram na Tabela V.
Figura 7. Direcao do vento
Tabela VCONSTANTES DA SIMULACAO III.
Total de partıculas 266Densidade(ρ) 2050kg/m3
Espessura(ε) 0,0001mPeso total 0,5922kgka (partıcula) 0,008ks (mola estrutural) 2000N/mkd (mola estrutural) 2N/mks (mola de cisalhamento) 100N/mkd (mola de cisalhamento) 1N/mks (mola de flexao) 1,5N/mkd (mola de flexao) 0,005N/m
Figura 8. Posicao inicial da Simulacao III
A Tabela VI tambem se encontra estruturada como a
Tabela II. A oscilacao intensa da bandeira exige passos
de tamanhos bem menores para os metodos explıcitos do
que para os metodos implıcitos. Nesse exemplo, os metodos
implıcitos conseguiram ter uma eficiencia melhor do que
o metodo de Runge-Kutta, porem, os metodos explıcitos
em geral tiveram desempenhos consistentemente melhores
do que os metodos implıcitos. O metodo mais eficiente
computacionalmente foi o metodo de Verlet modificado [9],
porem, como pode ser verificado na Figura 9, este ficou
muito longe de chegar ao repouso, parecendo um tecido
pouco maleavel. Para o realismo, tambem pode ser analisado
que os metodos implıcitos sofreram deformacoes muito
grandes, tendo assim, um comportamento bastante caotico
devido a falta do tratamento de autocolisao.
Tabela VICOMPARACAO DOS DESEMPENHOS DOS METODOS DE INTEGRACAO
PARA SIMULACAO III.
Metodo Δtmax(s) t(s) Tempo total(s) FPSEuler Explicito 0,00029 4,00026 174,592 79,0071Ponto Intermediaro 0,00029 4,00026 339,038 40,6857Runge-Kutta 0,00045 4,00005 426,907 20,8219Verlet Modificado 0,00075 4,0005 147,505 36,1615Kang e Cho [10] 0,001 4,0008 373,136 8,9350Zhou et al. [27] 0,0013 4,0001 415,831 7,3996
VI. CONCLUSAO
Apesar dos avancos obtidos nos ultimos anos na
simulacao dinamica de tecidos para aplicacoes em Realidade
Virtual, Jogos, Filmes e E-commerce, ha uma profusao de
metodos numericos sendo utilizados que ainda precisam ser
melhor estudados para serem aplicados de forma consciente.
Neste trabalho, alguns dos metodos numericos mais usa-
dos em simulacao dinamica de tecidos, tanto na categoria
de metodos explıcitos, quanto na de metodos implıcitos,
foram apresentados e comparados em tres estudos de casos.
Os principais aspectos analisados foram: a capacidade do
metodo de gerar animacoes plausıveis com bom realismo e
o balanco entre desempenho e estabilidade.
Todos os metodos estudados foram capazes de gerar
animacoes plausıveis. Porem, os metodos explıcitos apre-
sentaram simulacoes com aspectos de superamortecimento
cujas causas precisam ser melhor investigadas. Nenhum
dos metodos foi capaz de gerar animacoes em tempo real,
embora, em alguns casos a taxa de geracao de quadros
por segundo seja muito superior as taxas interativas. No
caso dos metodos explıcitos, os passos de tempo tem de
ser muito pequenos por questoes de estabilidade numerica.
Assim, embora o tempo de geracao de um quadro seja
pequeno, a quantidade de quadros a ser gerada e muito
grande e o tempo de processamento supera o tempo real
da animacao. No caso dos metodos implıcitos, embora
sejam incondicionalmente estaveis e pudessem, em teoria,
usar passos de tempo maiores, o tamanho do passo fica
limitado pelo realismo da simulacao, ja que as oscilacoes
do tecido exigem passos pequenos para serem capturadas
corretamente.
Aparentemente, a nao ser em situacoes em que o tecido
apresente animacoes sem muitas oscilacoes, os metodos
explıcitos sao mais vantajosos em termos de desempenho.
No entanto, a exploracao de processamento paralelo pode
reverter essa desvantagem dos metodos implıcitos, ja que
a estabilidade incondicional e uma caracterıstica importante
dessa classe de metodos. Em animacao de roupas virtuais,
6363
(a) t = 0,5002 (b) t = 0,1000 (c) t = 2,7500 (d) t = 4,0002
(e) t = 0,5002 (f) t = 1,0021 (g) t = 2,7500 (h) t = 4,0002
(i) t = 0,5004 (j) t = 1,0003 (k) t = 2,7504 (l) t = 4,0005
(m) t = 0,5002 (n) t = 1,0005 (o) t = 2,7502 (p) t = 4,0005
(q) t = 0,5004 (r) t = 1,0008 (s) t = 2,7504 (t) t = 4,0008
(u) t = 0,5005 (v) t = 1,001 (w) t = 2,7508 (x) t = 4,0001
Figura 9. Comparacao das configuracoes simuladas nos instantes t =0,5s; 1s; 2,75s e 4s. Metodo explıcito de Euler sao mostrados em (a)-(d);Metodo do ponto intermediario em (e)-(h); Metodo de Runge-Kutta em(i)-(l); Metodo de Verlet modificado em (m)-(p); Metodo de Kang e Cho[10] em (q)-(t); Metodo de Zhou et al. [27] em (u)-(x).
ha partes do tecido, proximas dos pontos de contato com o
corpo do personagem, que praticamente se movem como um
corpo rıgido. Nessas condicoes, malhas adaptativas poderiam
ser mais vantajosas em relacao as malhas regulares. Os
autores pretendem explorar essa linha de investigacao.
REFERENCIAS
[1] D. Baraff and A. P. Witkin. Large steps in cloth simulation.In Proceedings of SIGGRAPH 98, Computer Graphics Pro-ceedings, Annual Conference Series, pages 43–54, July 1998.
[2] D. Beeman. Some multistep methods for use in moleculardynamics calculations. Journal of Computational Physics,20:130–139, Feb. 1976.
[3] D. E. Breen, D. H. House, and M. J. Wozny. Predictingthe drape of woven cloth using interacting particles. InSIGGRAPH, pages 365–372, 1994.
[4] N. Burtnyk and M. Wein. Computer-generated key frameanimation. Journal of the Society of Motion Picture andTelevision Engineers, 80(3):149–153, Mar. 1971.
[5] E. Catmull. The problems of computer-assisted animation.SIGGRAPH78, 12(3):348–353, Aug. 1978.
[6] K.-J. Choi and H.-S. Ko. Stable but responsive cloth. InProceedings of the 29th annual conference on Computergraphics and interactive techniques, SIGGRAPH ’02, pages604–611. ACM, 2002.
[7] M. Desbrun, P. Schroder, and A. H. Barr. Interactiveanimation of structured deformable objects. In GraphicsInterface’99, pages 1–8, 1999.
[8] V. Dochev and T. Vassilev. Efficient super-elasticity han-dling in mass-spring systems. In Proceedings of the 4thinternational conference conference on Computer systems andtechnologies: e-Learning, pages 483–490. ACM, 2003.
[9] Y. Jiang and R. Wang. Real-time cloth simulation basedon improved verlet algorithm. In Computer-Aided IndustrialDesign Conceptual Design (CAIDCD), 2010 IEEE 11th In-ternational Conference on, volume 1, pages 443–446, Nov.2010.
[10] Y.-M. Kang and H.-G. Cho. Real-time animation of complexvirtual cloth with physical plausibility and numerical stability.Presence: Teleoper. Virtual Environ., 13:668–680, Dec. 2004.
[11] Y.-M. Kang, J.-H. Choi, H.-G. Cho, and C.-J. Park. Fastand stable animation of cloth with an approximated implicitmethod. In Proceedings of the International Conference onComputer Graphics, CGI ’00, pages 247–255. IEEE Com-puter Society, 2000.
[12] S. Kawabata. The standardization and analysis of handevaluation. The Textile Machinery Society of Japan, 1975.
[13] H. Li, Y. Wan, and G. Ma. A cpu-gpu hybrid comput-ing framework for real-time clothing animation. In CloudComputing and Intelligence Systems (CCIS), 2011 IEEEInternational Conference on, pages 391–396, Sept. 2011.
[14] Y.-J. Liu, D.-L. Zhang, and M. M.-F. Yuen. A survey oncad methods in 3d garment design. Computers in Industry,61(6):576–593, 2010.
[15] N. Magnenat-Thalmann, C. Luible, P. Volino, and E. Lyard.From measured fabric to the simulation of cloth. Comput-erAided Design and Computer Graphics 2007 10th IEEEInternational Conference on, pages 7–18, 2007.
6464
[16] S. Min and M. Tianlu. Cloth animation based on particlemodel with constraint. In Proceedings of the 2011 Workshopon Digital Media and Digital Content Management, DMDCM’11, pages 141–145. IEEE Computer Society, 2011.
[17] O. Ozgen and M. Kallmann. Directional constraint enforce-ment for fast cloth simulation. In Proceedings of the 4thInternational Conference on Motion In Games (MIG), 2011.
[18] X. Provot. Deformation constraints in a mass-spring model todescribe rigid cloth behavior. In IN GRAPHICS INTERFACE,pages 147–154, 1995.
[19] G. K. Stylios, T. Wan, and N. Powell. Modelling thedynamic drape of garments on synthetic humans in a virtualfashion show. International Journal of Clothing Science andTechnology, 8(3):95–112, Aug. 1996.
[20] D. Terzopoulos, J. Platt, A. Barr, and K. Fleischert. Elasticallydeformable models. Computer Graphics, 21:205–214, 1987.
[21] D. Tian-Xiang and L. Ji-Jun. Software design of clothdesign and simulation system. In Computer-Aided IndustrialDesign Conceptual Design, 2009. CAID CD 2009. IEEE 10thInternational Conference on, pages 605–609, Nov. 2009.
[22] T. Vassilev, B. Spanlang, and Y. Chrysanthou. Fast clothanimation on walking avatars. Computer Graphics Forum,20(3):260–267, 2001.
[23] L. Verlet. Computer ”experiments”on classical fluids. i. ther-modynamical properties of lennard-jones molecules. Phys.Rev., 159:98–103, July 1967.
[24] P. Volino and N. Magnenat-thalmann. Comparing efficiencyof integration methods for cloth simulation. In ComputerGraphics International Proceedings, pages 265–274. IEEEComputer Society, 2001.
[25] P. Volino and N. Magnenat-Thalmann. Implicit midpoint in-tegration and adaptive damping for efficient cloth simulation.In In proceedings of Computer Animation and Virtual Worlds,pages 3–4. Wiley, 2005.
[26] J. Wang, X. Hu, and Y. Zhuang. The dynamic cloth sim-ulation performance analysis based on the improved spring-mass model. Wireless Networks and Information Systems,International Conference on, pages 282–285, 2009.
[27] C. Zhou, H. Zhu, X. Jin, and J. Feng. Efficient and simplecloth animation. In Proceedings of the Ninth InternationalConference on Computer Aided Design and Computer Graph-ics, CAD-CG ’05, pages 483–488. IEEE Computer Society,2005.
6565
top related