Top Banner
Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration Laise Lima de Carvalho, Creto Augusto Vidal, Joaquim Bento Cavalcante-Neto, Suzana Matos Franc ¸a de Oliveira Departamento de Computac ¸˜ ao Universidade Federal do Cear´ a Fortaleza, CE, Brasil lai [email protected], [email protected], [email protected], [email protected] Abstract—Physically based cloth animation has gained much attention from researchers in the last two decades, due to the challenges of realism placed by the film and game industries, as well as by the applications of virtual reality and e-commerce. Despite the overwhelming achievements in this area, a deeper understanding of the numerical techniques involved in the simulations is still in order. This paper analyzes the behavior of some useful integration techniques, and tests them in three typical simulations of cloth animation. Keywords-cloth simulation; numerical methods; physically based animation; spring-mass model. I. I NTRODUC ¸˜ AO A animac ¸˜ ao de tecidos ´ e um tema importante que tem sido bastante estudado nas ´ ultimas d´ ecadas [1], [3], [6], [18], [20], [22], [25] pelo importante papel que os tecidos desempenham na vida humana. Recentemente, o tema gan- hou ainda mais atenc ¸˜ ao por conta do realismo exigido pelas ind´ ustrias de entretenimento e pelo com´ ercio eletrˆ onico [13], [21]. O movimento do tecido em uma animac ¸˜ ao ´ e muito complexo para ser definido por t´ ecnicas tradicionais em que o animador exerce total controle sobre posic ¸˜ oes e velocidades do objeto a ser animado [4], [5]. Por esse motivo, a simulac ¸˜ ao do comportamento dinˆ amico de tecidos ´ e imprescind´ ıvel nas aplicac ¸˜ oes que exigem realismo de movimentos [19]. Esse tipo de simulac ¸˜ ao pode ser tratado pela dinˆ amica do cont´ ınuo em que o tecido ´ e considerado como um material cont´ ınuo, e as equac ¸˜ oes diferenciais de movimento que governam o problema s˜ ao resolvidas tradicionalmente pelo etodo dos Elementos Finitos. Essa abordagem, no entanto, exige um esforc ¸o computacional muito elevado que se traduz em simulac ¸˜ oes ineficientes para aplicac ¸˜ oes de tempo real [14], [15]. Uma outra abordagem menos precisa, por´ em 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 simulac ¸˜ ao de movimentos plaus´ ıveis em tempo real. O arranjo do conjunto massa-mola-amortecedor ´ e projetado de tal maneira que os comportamentos de alongamento, compress˜ ao, cisalhamento e flex˜ ao do tecido sejam adequadamente modelados. Nessa abordagem discreta, o problema a ser resolvido ´ e governado por uma equac ¸˜ ao diferencial que descreve matematicamente a segunda lei de Newton, e deve satis- fazer condic ¸˜ oes iniciais e condic ¸˜ oes de contorno estabele- cidas. Para solucionar esse problema, v´ arios m´ etodos de integrac ¸˜ ao tˆ em sido propostos na literatura. Todos esses etodos buscam atingir o objetivo comum de obter soluc ¸˜ oes precisas, com baixo custo computacional e numericamente est´ aveis. Eles est˜ ao divididos em duas categorias principais: os chamados m´ etodos expl´ ıcitos e os m´ etodos impl´ ıcitos. Neste trabalho s˜ ao apresentados os principais m´ etodos da literatura, e ´ e feito um estudo comparativo desses m´ etodos, levando-se em considerac ¸˜ ao os crit´ erios de realismo da animac ¸˜ ao, esforc ¸o computacional e estabilidade num´ erica. O restante do trabalho est´ a organizado em quatro sec ¸˜ oes. Na Sec ¸˜ ao II, ´ e apresentado um panorama dos trabalhos rela- cionados ` a modelagem e ` a simulac ¸˜ ao dinˆ amica de tecidos. Para isso, foram selecionados alguns dos trabalhos mais relevantes de 1975 a 2011. Na Sec ¸˜ ao III, s˜ ao apresentados os elementos que fazem parte do modelo f´ ısico do problema, isto ´ e, a representac ¸˜ ao do tecido por um modelo massa-mola- amortecedor, e a descric ¸˜ ao das forc ¸as internas e externas que atuam sobre esse modelo de tecido. Na Sec ¸˜ ao IV, s˜ ao detalhados os m´ etodos de integrac ¸˜ ao num´ erica que fazem parte do estudo comparativo. Na Sec ¸˜ ao V, esses m´ etodos de integrac ¸˜ ao s˜ ao comparados em trˆ es simulac ¸˜ oes e os resultados s˜ ao apresentados e discutidos. Na Sec ¸˜ ao VI, s˜ ao feitas algumas considerac ¸˜ oes finais sobre o trabalho. II. TRABALHOS RELACIONADOS Breen, House e Wonzy [3] foram os pioneiros no uso de modelos de part´ ıculas para simulac ¸˜ ao de tecidos. O foco principal de seu trabalho foi o estudo de draping - simulac ¸˜ ao de um tecido se acomodando em torno de um objeto. Para atingir tal objetivo, utilizaram func ¸˜ oes de energia para calcular as propriedades de deformac ¸˜ ao do tecido, baseando- se em dados experimentais obtidos pelo sistema de avaliac ¸˜ ao 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
10

Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

Mar 04, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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 [email protected], [email protected], [email protected], [email protected]

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

Page 2: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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

Page 3: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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

Page 4: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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

Page 5: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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

Page 6: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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

Page 7: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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

Page 8: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

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

Page 9: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

(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

Page 10: Dynamic Cloth Simulation: A Comparative Study of Explicit and Implicit Numerical Integration

[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