• Nenhum resultado encontrado

Animação de Fluidos via SPH

N/A
N/A
Protected

Academic year: 2021

Share "Animação de Fluidos via SPH"

Copied!
43
0
0

Texto

(1)

INSTITUTO

SUPERIOR DE

TECNOLOGIA EM

CI

ENCIA DA

ˆ

COMPUTAC

¸ ˜

AO

Animac¸ ˜ao de Fluidos via SPH

Algemiro Augusto da Silva Neto

Petr ´

opolis-RJ

(2)

ALGEMIRO

AUGUSTO DA

SILVA

NETO

O

RIENTADOR

: G

ILSON

A

NTONIO

ˆ

G

IRALDI

Animac¸ ˜ao de Fluidos via SPH

Monografia apresentada ao curso de Graduac¸˜ao em Tecnologia da Informac¸˜ao e da Comunicac¸˜ao do Instituto Superior de Tec-nologia em Ciˆencia da Computac¸˜ao, como pr´e-requisito para a obtenc¸˜ao do t´ıtulo de Graduado em Tecnologia da Informac¸˜ao e da Comunicac¸˜ao sob a orientac¸˜ao dos professores Gilson A. Giraldi e Paulo S´ergio Rodrigues.

Petr ´

opolis-RJ

2005

(3)

FOLHA DE APROVAC

¸ ˜

AO

Animac¸ ˜ao de Fluidos via SPH

ALGEMIRO AUGUSTO DA SILVA NETO

Monografia apresentada `a comiss˜ao examinadora constitu´ıda pelos Senhores:

Prof. Dr. GILSON ANT ˆONIO GIRALDI - Orientador Laborat´orio Nacional de Computac¸˜ao Cient´ıfica - LNCC

Prof. Dr. FABIANO SALDANHA GOMES DE OLIVEIRA - Diretor Instituto Superior de Tecnologia em Ciˆencia da Computac¸˜ao - ISTCC-P

Prof. LUIZ FERNANDO RIBEIRO DE ALMEIDA - Coordenador de Curso Instituto Superior de Tecnologia em Ciˆencia da Computac¸˜ao - ISTCC-P

(4)

Resumo

Este trabalho apresenta a implementac¸˜ao de um m´etodo em Dinˆamica dos Fluidos Com-putacional (DFC) para a animac¸˜ao de fluidos. Este m´etodo ´e baseado na t´ecnica Smoothed

Particle Hydrodynamics (SPH). O comportamento do fluido ´e modelado por um sistema de

equac¸˜oes diferenciais parciais sujeito a certas condic¸˜oes iniciais e de contorno. O SPH ´e apli-cado na discretizac¸˜ao dessas equac¸˜oes para simulac¸˜ao computacional do movimento do fluido. O resultado ´e uma representac¸˜ao atrav´es de um sistema de part´ıculas que se movem sob a in-fluˆencia de forc¸as, como gravidade e press˜ao. Aliada a t´ecnicas eficientes de visualizac¸˜ao de fluidos, este tipo de animac¸˜ao pode atingir um grau elevado de realismo, uma vez que baseia-se em princ´ıpios f´ısicos para reprebaseia-sentar o movimento dos fluidos. Resultados preliminares obtidos neste trabalho indicam que esta t´ecnica ´e promissora.

(5)

This work presents an implementation of a Computational Fluid Dynamics (CFD) method for fluid animation. This method is based on the Smoothed Particle Hydrodynamics (SPH) tech-nic. The fluid behavior is modelate as a partial differential equation system under some initial conditions and constrains. The SPH is applied over the discretization of these equations for computational simulating of fluid movement. The result is a representation throughout a par-ticles system which move under the influence of forces, such as gravity and pressure. Besides efficient techniques for fluid visualization, this methodology for animation may achieve a high degree of realism, since it is based on physical principles for flow representation. Preliminary results, obtained in this work, show that this is a promising technique.

(6)

Sum ´ario

1 Introduc¸ ˜ao . . . . 7

2 Trabalhos Relacionados . . . . 10

3 Conceitos B ´asicos . . . . 12

3.1 Introduc¸˜ao `a Dinˆamica dos fluidos . . . 12

3.2 Dinˆamica dos Fluidos Computacional . . . 14

3.3 Smoothed Particle Hydrodynamics (SPH) . . . . 15

3.4 T´ecnicas para Visualizac¸˜ao de Fluidos . . . 17

4 Metodologia . . . . 23 4.1 SPH na animac¸˜ao de fluidos . . . 23 4.2 Simulac¸˜ao . . . 27 5 Implementac¸ ˜ao . . . . 29 5.1 Modelagem . . . 29 5.2 Sistema de Part´ıculas . . . 30 5.3 Atributos da Part´ıcula . . . 31 5.4 Subdivis˜ao espacial . . . 32

6 Visualizac¸ ˜ao e Resultados . . . . 35

7 Conclus ˜ao . . . . 38

(7)

Aplicac¸˜oes que envolvem Dinˆamica dos Fluidos Computacional (DFC) tˆem sido uti-lizadas crescentemente em diversas ´areas. Na ind´ustria cinematogr´afica, por exemplo, a mode-lagem de fluidos ´e foco de pesquisa com o intuito de aumentar o realismo das animac¸˜oes. A “ Animac¸˜ao de Fluidos” pode ser definida como a gerac¸˜ao de uma seq¨uˆencia de imagens digitais contendo fluidos em movimento. Nesse contexto, h´a um interesse tanto em reproduzir com fi-delidade cenas de fenˆomenos presentes no mundo real quanto em produzir efeitos satisfat´orios na realizac¸˜ao de cenas que s˜ao fruto da imaginac¸˜ao dos cineastas. Como exemplo de cenas reais, podemos citar: inundac¸˜oes em ambientes abertos ou fechados (Figura 1), enxurradas, avalanches, explos˜oes em ´areas urbanas e n˜ao urbanas (Figura 3), incˆendios e uma infinidade de outras. Dentre as cenas que s˜ao fruto da imaginac¸˜ao humana, a divis˜ao instantˆanea de mares e rios (Figura 2), fluidos que assumem formas humanas ou de outros seres animados s˜ao bons exemplos.

(8)

8

Figura 2: Dois instantes da cena (imagin´aria) onde o mar se divide no filme “ O Pr´ıncipe do Egito”.

Figura 3: Simulac¸˜ao de explos˜ao utilizando um modelo em Dinˆamica dos Fluidos Computa-cional. Yngve et al. [31]

A animac¸˜ao de fluidos possui natureza multidisciplinar, e seu desenvolvimento depende da interac¸˜ao entre profissionais das ´areas de computac¸˜ao e engenharia. Para atingir o grau de realismo necess´ario, ´e preciso que as equac¸˜oes de fluidos sejam convenientemente tratadas e que as t´ecnicas de visualizac¸˜ao de dados utilizadas sejam adequadas `as aplicac¸˜oes. Essas t´ecnicas s˜ao oriundas da computac¸˜ao gr´afica e as equac¸˜oes de fluidos s˜ao derivadas de conceitos da mecˆanica cl´assica.

Sem d´uvida, a gerac¸˜ao de efeitos visuais para a ind´ustria de entretenimento representa um grande motivador de pesquisas na ´area de animac¸˜ao de fluidos. Entretanto, ela n˜ao ´e a ´unica consumidora das t´ecnicas desenvolvidas. No meio cient´ıfico e tecnol´ogico, por exemplo, h´a uma crescente demanda por novas t´ecnicas de animac¸˜ao, simulac¸˜ao e visualizac¸˜ao de flui-dos, com o intuito de aplic´a-las ao estudo de diversos fenˆomenos. Como exemplo, podemos citar, o comportamento de estruturas mecˆanicas sujeitas a fortes correntes de ar ou ao

(9)

movi-mento das mar´es, o estudo de fenˆomenos atmosf´ericos como os tornados, a hidrodinˆamica das embarcac¸˜oes, o comportamento de superf´ıcies expostas a grandes variac¸˜oes de temperatura, o escoamento das ´aguas em determinados terrenos, bem como, a predic¸˜ao da trajet´oria de lavas ap´os uma erupc¸˜ao vulcˆanica e de neve ap´os uma avalanche, al´em da an´alise do comportamento do fluxo sang¨u´ıneo no interior das art´erias do corpo humano [17].

Para estudar os fenˆomenos em Dinˆamica de Fluidos, os pesquisadores utilizam princ´ıpios f´ısicos juntamente com recursos de an´alise num´erica. O comportamento do fluido pode ser modelado por um sistema de equac¸˜oes diferenciais parciais sujeito a certas condic¸˜oes iniciais e de contorno. Dificilmente este sistema apresenta soluc¸˜ao anal´ıtica, o que os obriga a lanc¸arem m˜ao dos recursos da an´alise num´erica para discretizar o problema e obter uma soluc¸˜ao com um n´ıvel de aproximac¸˜ao aceit´avel. Nesse contexto, sistemas distribu´ıdos tˆem sido explorados para melhorar o desempenho das aplicac¸˜oes [17], [5]. Tal busca por poder computacional pode ser atribu´ıda ao fato de que, atualmente, uma simulac¸˜ao num´erica em Dinˆamica de Fluidos Com-putacional pode empregar malhas 3D com um n´ıvel de refinamento da ordem de 2563 pontos para cada instante de tempo simulado e o volume de dados gerado ´e, em geral, da ordem de dezenas de GigaBytes.

Esse trabalho apresenta a implementac¸˜ao de uma metodologia para animac¸˜ao de fluidos baseada em uma t´ecnica denominada Smoothed Particles Hydrodynamics (SPH). O m´etodo SPH ´e baseado em part´ıculas e vem sendo aplicado com sucesso em problemas de engen-haria, tais como simulac¸˜ao de fluidos compress´ıveis para o estudo de explos˜oes e descric¸˜ao da dinˆamica de materiais.

Na sec¸˜ao seguinte, apresentamos os principais trabalhos relacionados com animac¸˜ao de fluidos. Na Sec¸˜ao 3, apresentamos os conceitos b´asicos relacionados `a DFC necess´arios ao entendimento do trabalho. A Sec¸˜ao 4 apresenta a metodologia e implementac¸˜ao realizada, e a Sec¸˜ao 5 apresenta alguns resultados preliminares. Finalmente, na Sec¸˜ao 6 apresentamos as conclus˜oes e as perspectivas futuras.

(10)

2 Trabalhos Relacionados

A Dinˆamica dos Fluidos Computacional (DFC) possui uma longa hist´oria. Em 1822, Claude Navier, e em 1845, George Stokes formularam a famosa equac¸˜ao de Navier-Stokes que descreve a conservac¸˜ao do momento. Al´em desta equac¸˜ao, duas equac¸˜oes adicionais, uma de-las descrevendo a conservac¸˜ao de massa e a outra descrevendo a conservac¸˜ao de energia s˜ao necess´arias para simular fluidos (ver Sess˜ao 3.1). Uma vez que essas equac¸˜oes s˜ao conheci-das e existe tecnologia de hardware para resolvˆe-las numericamente, uma grande quantidade de m´etodos tem sido proposta na literatura de DFC para simular o comportamento de fluidos computacionalmente.

H´a quase duas d´ecadas, t´ecnicas de simulac¸˜ao de fluido com prop´ositos especiais vˆem sendo desenvolvidas no campo da computac¸˜ao gr´afica. Em 1983, T. Reeves [21] introduziu sistemas de part´ıculas como uma t´ecnica para modelar uma classe de objetos fuzzy. Desde ent˜ao, tanto a abordagem Lagrangeana, n˜ao dependente de malhas, quanto a abordagem Euleriana, baseada em malhas, tˆem sido usadas para simular fluidos em computac¸˜ao gr´afica (Sec¸˜ao 3.2). Desbrun e Cani [3] e Tonnesen [28] usam part´ıculas para animar objetos deform´aveis. Part´ıculas tamb´em tˆem sido usadas para animar superf´ıcies [10] e para animar fluxos de lava [26]. Nos ´ultimos anos, a abordagem Euleriana tem sido mais popular para a simulac¸˜ao de fluidos em geral [25], ´agua [6], [4], [27], objetos deform´aveis [18] e efeitos de derretimento [1]. Existem poucas t´ecnicas dispon´ıveis para uso em sistemas interativos. O m´etodo apresentado por Stam

(11)

[25], baseado em malha, foi certamente um passo importante rumo a simulac¸˜ao de fluidos em tempo real. T´ecnicas de animac¸˜ao interativas tamb´em est˜ao dispon´ıveis para o caso especial das ondas do oceano, em [9]. Ondas de ´agua tˆem sido modeladas usando-se uma grande variedade de abordagens, incluindo modelos estoc´asticos [20], [13] e modelos cinem´aticos [14], [29]. Sistemas de part´ıculas foram adicionados aos modelos cinem´aticos para modelar espuma e sprays para obtenc¸˜ao de efeito de ondas quebrando [19]. Tamb´em foram usados sistemas de part´ıculas para modelar rastros de navio [8], e cascatas d’´agua [24].

(12)

3 Conceitos B ´asicos

Neste Cap´ıtulo, ser˜ao apresentados os conceitos b´asicos necess´arios `a compreens˜ao geral do trabalho.

3.1 Introduc¸ ˜ao `a Din ˆamica dos fluidos

Considerando-se os trˆes estados da mat´eria, s´olido, l´ıquido e gasoso, entende-se por fluido, a mat´eria em dois desses estados: l´ıquido e gasoso. Em um n´ıvel microsc´opico, as mol´eculas de uma substˆancia est˜ao constantemente em vibrac¸˜ao. Esta vibrac¸˜ao descreve a ener-gia interna da mat´eria, e conseq¨uentemente determina seu estado. Em um s´olido, a enerener-gia ´e pequena o bastante (vibrac¸˜ao molecular pequena) de maneira que as mol´eculas mantˆem suas posic¸˜oes relativas umas `as outras, mantendo assim, um arranjo regular ou estrutura que d´a ao s´olido sua rigidez. Em um l´ıquido, h´a energia suficiente para que as mol´eculas se movam, por´em, n˜ao o bastante para separ´a-las completamente. Desta forma, o l´ıquido restringe-se a um volume finito. Em um estado gasoso, as vibrac¸˜oes s˜ao fortes o bastante para que as mol´eculas sejam separadas completamente e possam mover-se livremente. Utiliza-se o termo fluidos compress´ıveis com referˆencia aos gases e o termo fluidos incompress´ıveis com referˆencia aos l´ıquidos. Pode-se dizer que: Dinˆamica dos fluidos ´e o estudo do movimento do fluido em reac¸˜ao

(13)

A Press˜ao m´edia p sobre uma ´area do fluido ´e definida como a forc¸a F normal que atua sobre a superf´ıcie do fluido dividida pela ´area A da superf´ıcie sobre a qual a forc¸a age, dada por:

p = F

A (3.1)

A densidade m´ediaρde um volume de fluido ´e definida como a massa contida em um volume V dividida por esse volume.

ρ= m

V (3.2)

´

E natural formular as leis de conservac¸˜ao sob a hip´otese de que o fluido ´e um meio “ continuum” (Hip´otese da Continuidade) [30]. Propriedades f´ısicas do fluido, tais como den-sidade e velocidade, podem ent˜ao ser descritas como campos escalares e campos vetoriais em

ℜ3, ambos dependentes do tempo. Por exemploρ(t, x) e u(t, x) .

A Dinˆamica dos fluidos ´e governada pelas leis de conservac¸˜ao da f´ısica cl´assica, chamadas conservac¸˜ao de massa, conservac¸˜ao de energia e conservac¸˜ao do momento. Equac¸˜oes difer-enciais parciais s˜ao derivadas destas leis e, simplificadas sob circunstˆancias apropriadas. A conservac¸˜ao de massa ´e assegurada pela “ Equac¸˜ao de Continuidade” dada por:

∂ρ

t +~∇· (ρ~v) = 0 (3.3)

onde ~v ´e a velocidade do fluido.

A equac¸˜ao de conservac¸˜ao para energia possui a seguinte forma diferencial:

tE) +~∇· (ρ~vE) = ~∇· (κ

~T ) +~· ( ¯¯σ·~v) +ρ~f

e·~v + qH (3.4)

onde E ´e a energia total por unidade de massa,κ ´e o coeficiente de condutividade t´ermica, T ´e a temperatura absoluta e ( ¯¯σ·~v), ~fe e qH s˜ao fontes de variac¸˜ao da energia interna devido `as

tens˜oes internas, forc¸as de volume e fontes de calor, respectivamente.

A Equac¸˜ao de Navier-Stokes ´e a equac¸˜ao de conservac¸˜ao do momento, ou equac¸˜ao de movimento:

(14)

14

ρ∂~v

t +~v ·~~v



= −~∇p +ρg + µ~∇2~v (3.5) onde g ´e um campo de forc¸a externo e µ a viscosidade do fluido.

3.2 Din ˆamica dos Fluidos Computacional

Os modelos matem´aticos obtidos por meio das equac¸˜oes de conservac¸˜ao descritas acima dificilmente possuem soluc¸˜ao anal´ıtica. Dessa forma, os modelos precisam ser discretizados para realizac¸˜ao de simulac¸˜oes num´ericas. O resultado desta discretizac¸˜ao ´e a substituic¸˜ao do meio continuum inicial do modelo por um conjunto discreto e finito de pontos no espac¸o e no tempo, nos quais as derivadas que aparecem nas equac¸˜oes ser˜ao aproximadas.

Duas abordagens podem ser adotadas para formular as vers˜oes discretas das equac¸˜oes do modelo: A Euleriana e a Lagrangeana.

A abordagem Euleriana pode ser exemplificada pelos m´etodos tradicionais de Elementos Finitos e Diferenc¸as Finitas, onde o conjunto de pontos ´e conectado seguindo uma topologia conveniente, dando origem a uma malha que pode ser de dois tipos:

1. Malha Estruturada: Cada ponto interno possui a mesma quantidade de pontos vizin-hos.

2. Malha N˜ao-Estruturada: Cada ponto interno possui quantidade vari´avel de pontos vizinhos.

Figura 3: Malha Estruturada.

A abordagem Lagrangeana ´e independente de malhas. Neste caso, no lugar das malhas, s˜ao utilizadas part´ıculas para formulac¸˜ao das vers˜oes discretas dos modelos. O m´etodo adotado

(15)

Figura 4: Malha N˜ao-Estruturada.

neste trabalho para animac¸˜ao de fluidos ´e baseado na abordagem Lagrangeana. A sec¸˜ao seguinte apresenta uma descric¸˜ao deste m´etodo e a sec¸˜ao 4.1 mostra como ele foi aplicado em simulac¸˜ao de fluidos.

3.3 Smoothed Particle Hydrodynamics (SPH)

Este m´etodo foi desenvolvido por Lucy [12] e por Gingold e Monaghan [7] para a simulac¸˜ao de problemas astrof´ısicos.

Ao contr´ario das abordagens baseadas em malha, a abordagem baseada em part´ıculas torna as equac¸˜oes de conservac¸˜ao de massa e termos de convecc¸˜ao dispens´aveis, o que reduz a complexidade da simulac¸˜ao. Outro aspecto interessante desta abordagem ´e que as part´ıculas podem ser diretamente usadas para “ renderizar” a superf´ıcie do fluido.

Os fundamentos do m´etodo SPH est˜ao na teoria de interpolac¸˜ao. Com o SPH, valores de campos que s˜ao definidos apenas em posic¸˜oes discretas das part´ıculas, podem ser avaliados em qualquer posic¸˜ao no espac¸o. Para este prop´osito, o SPH distribui as grandezas em uma vizinhanc¸a local a cada part´ıcula atrav´es do uso de uma func¸˜ao W , chamada de n´ucleo de suavizac¸˜ao (Smoothing Kernel). De acordo com o m´etodo SPH, uma grandeza escalar A ´e interpolada na posic¸˜ao r por uma soma ponderada das contribuic¸˜oes de todas as part´ıculas:

AS(r) =

j mj Aj ρj W (r − rj, h) (3.6)

onde j itera sobre todas as part´ıculas, mj ´e a massa da part´ıcula j, rj ´e a posic¸˜ao,ρja densidade

(16)

16

A func¸˜ao W (r, h) ´e o n´ucleo de suavizac¸˜ao e deve ser normalizada da seguinte forma:

Z

W (r)dr = 1 (3.7)

onde a constante h ´e usada para definir o suporte do n´ucleo de suavizac¸˜ao.

A massa e a densidade da part´ıcula aparecem na Equac¸˜ao (3.6), uma vez que cada part´ıcula i representa um determinado volume Vi= mii . Enquanto a massa mi ´e constante

para toda a simulac¸˜ao e, nesse caso espec´ıfico, a mesma para todas as part´ıculas, a densidadeρi

varia e deve ser calculada a cada instante de tempo. Substituindo diretamente na Equac¸˜ao 3.6 a grandeza escalar A pela densidade, temos a densidade na posic¸˜ao r como:

ρS(r) =

j mj ρj ρj W (r − rj, h) =

j mjW (r − rj, h) (3.8)

Em muitas equac¸˜oes de fluidos, derivadas de grandezas aparecem e precisam ser cal-culadas. Com o m´etodo SPH, tais derivadas possuem influˆencia somente sobre o n´ucleo de suavizac¸˜ao. O gradiente de A ´e simplesmente:

AS(r) =

j mj Aj ρjW (r − rj, h) (3.9)

Enquanto o Laplaciano de A ´e resolvido para:

∇2 AS(r) =

j mj Aj ρj ∇2 W (r − rj, h) (3.10) ´

E importante perceber que o m´etodo SPH apresenta alguns problemas. Quando ´e uti-lizado nas equac¸˜oes de fluidos, por exemplo, n˜ao ´e garantido que estas equac¸˜oes satisfac¸am certos princ´ıpios f´ısicos como a simetria de forc¸as e a conservac¸˜ao do momento. Na Sec¸˜ao 4.1 ´e apresentado o modelo proposto por M¨uller et al.[15] para animac¸˜ao de fluidos via SPH e a soluc¸˜ao adotada para esses problemas.

(17)

3.4 T ´ecnicas para Visualizac¸ ˜ao de Fluidos

Os dados gerados via m´etodos num´ericos precisam ser avaliados de alguma forma. Um recurso de particular importˆancia na an´alise desses dados s˜ao as T´ecnicas de Visualizac¸˜ao. T´ecnicas de Visualizac¸˜ao de campos escalares (rendering de volume, isosuperf´ıcies, splatting, etc.), campos vetoriais (linhas de corrente, superf´ıcies de corrente, trac¸ado de part´ıculas, tex-turas, etc.) e campos tensoriais vˆem sendo aplicadas para auxiliar a an´alise dos campos gerados nas simulac¸˜oes num´ericas.

O desenvolvimento das t´ecnicas de visualizac¸˜ao cient´ıfica em DFC, aliado aos pr´oprios m´etodos de modelagem e simulac¸˜ao de fluidos, propiciou as pesquisas em animac¸˜ao com-putacional de fluidos. Animac¸˜ao comcom-putacional ´e uma sub-´area da computac¸˜ao gr´afica com intensas pesquisas pelas suas aplicac¸˜oes na ind´ustria de entretenimento, interac¸˜ao homem-computador e educac¸˜ao. No caso espec´ıfico deste trabalho, o interesse na aplicac¸˜ao das t´ecnicas de visualizac¸˜ao ´e a animac¸˜ao computacional de fluidos. Por “ animac¸˜ao de fluidos” entendemos a gerac¸˜ao de uma seq¨uˆencia de imagens digitais contendo fluidos em movimento. Este movi-mento deve ser “ convincente”, ou seja, o fluido deve escoar com o grau de realismo necess´ario para o contexto do filme que est´a sendo gerado. Entretanto, t´ecnicas como o Trac¸ado de Part´ıculas e a utilizac¸˜ao de setas para visualizac¸˜ao dos campos vetoriais ser˜ao abordadas nesta sess˜ao, uma vez que s˜ao bastante populares em DFC.

3.4.1 Setas e Trac¸ado de Part´ıculas

Estas t´ecnicas s˜ao convenientes para visualizac¸˜ao de campos vetoriais que n˜ao possuem complexidade elevada. A utilizac¸˜ao de s´ımbolos (setas) ´e uma t´ecnica muito comum e tem a vantagem de compactar em um ´unico s´ımbolo a direc¸˜ao, o sentido e a magnitude do campo em um ponto. No entanto, sua grande limitac¸˜ao est´a na representac¸˜ao de campos vetoriais 3D devido a inevit´avel sobreposic¸˜ao de setas em regi˜oes de maior complexidade do campo e `a ambiguidade das noc¸˜oes de direc¸˜ao e magnitude do campo decorrentes da projec¸˜ao plana utilizada para o display na tela do computador. Um exemplo da utilizac¸˜ao de setas ´e observado na Figura (5).

(18)

18

Figura 5: Visualizac¸˜ao em 3D do campo vetorial no interior de uma art´eria, utilizando setas. A t´ecnica do “ Trac¸ado de part´ıculas” est´a baseada na liberac¸˜ao de part´ıculas de prova no interior do fluido as quais ficar˜ao sujeitas `a dinˆamica do mesmo. Ao acompanharmos o movimento destas part´ıculas, podemos obter uma boa noc¸˜ao do comportamento do campo. A Figura (6), mostra quatro instantes da visualizac¸˜ao do comportamento do fluxo sang¨u´ıneo no interior de uma art´eria, por meio desta t´ecnica.

3.4.2 Isosuperf´ıcies

No caso espec´ıfico da mecˆanica de flu´ıdos, tem-se basicamente dois campos escalares: o campo de press˜ao e a densidade volum´etrica de massaρ. Podemos juntar a estes os campos definidos pelo m´odulo da vorticidade e da velocidade. Os m´etodos mais comumente utiliza-dos para a visualizac¸˜ao destes campos s˜ao baseautiliza-dos em isosuperf´ıcies e rendering (direto) de volume.

(19)

Figura 6: Visualizac¸˜ao por meio de “ Trac¸ado de part´ıculas”, do comportamento do fluxo sang¨u´ıneo no interior de uma art´eria.

No caso das t´ecnicas usando isosuperf´ıcies a id´eia ´e gerar uma aproximac¸˜ao poligonal da superf´ıcie (isosuperf´ıcie) definida por uma equac¸˜ao do tipo:

F(x1, x2, x3) =λ (3.11)

onde F ´e o campo escalar F :∇→ℜ, com∇⊂ℜ3eλ´e uma constante.

Nas aplicac¸˜oes de nosso interesse, os campos escalares est˜ao discretizados e portanto, a soluc¸˜ao de 3.11 ser´a obtida via uma busca dos pontos da malha que aproximem suficiente-mente a superf´ıcie procurada. As soluc¸˜oes encontradas na literatura para este problema est˜ao vinculadas ao tipo de malha utilizado na discretizac¸˜ao.

Para malhas regulares de hexaedros, um algoritmo comumente usado na gerac¸˜ao de iso-superf´ıcies ´e o algoritmo dos cubos marchantes [11]. Vejamos uma descric¸˜ao deste algoritmo.

(20)

20

Inicialmente, consideremos um cubo da malha e fac¸amos uma enumerac¸˜ao bin´aria dos seus v´ertices, da seguinte forma: ´e dado o valor “ 1” para os v´ertices, cujos valores do campo forem maiores ou iguais ao valorλda isosuperf´ıcie procurada e “ 0” para os demais. Assim, as arestas dos hexaedros que tiverem um v´ertice com valor “ 1” e outro com valor “ 0” s˜ao aquelas cortadas pela superf´ıcie procurada.

Uma vez que um cubo tem 8 v´ertices, temos um total de 28= 256 configurac¸˜oes poss´ıveis. Diremos que duas configurac¸˜oes s˜ao equivalentes quando uma for idˆentica `a outra a menos de rotac¸˜oes simples. Se considerarmos apenas as classes de equivalˆencia correspondentes, obtere-mos um total de 22 configurac¸˜oes b´asicas, como obtere-mostra a figura a seguir.

Figura 7: Configurac¸˜oes b´asicas para a intersec¸˜ao entre um cubo e uma superf´ıcie. Cada uma destas configurac¸˜oes, ser´a representada por um ´ındice de 8 bits constru´ıdo atrav´es dos estados dos v´ertices correspondentes. Cada um destes ´ındices ser´a um ponteiro em uma tabela que fornece todas as arestas cortadas pela superf´ıcie para cada configurac¸˜ao b´asica.

(21)

Tal procedimento pressup˜oe uma enumerac¸˜ao dos v´ertices e das arestas do cubo, tal como a apresentada na figura seguir:

Figura 8: Enumerac¸˜ao das arestas e lados do cubo juntamente com o indice da configurac¸˜ao correspondente.

Para os casos 0, 1 e 2 da Figura 7, por exemplo, as linhas da tabela tˆem a seguinte forma: Procedendo analogamente, podemos montar a tabela para os 22 casos b´asicos da Figura 7. Esta

Indice Arestas Cortadas 0 0 0 0 0 0 0 0 Nenhuma aresta e cortada 0 0 0 0 0 0 0 1 e1, e4, e9

0 0 0 0 0 0 1 1 e2, e4, e9, e10

Tabela 1: ´Indice da configurac¸˜ao b´asica e arestas para os casos 0, 1 e 2 da Figura 7

(22)

22

Tomemos um cubo qualquer da malha. Uma vez analisados os valores de campo em seus v´ertices, teremos uma das 256 poss´ıveis configurac¸˜oes para o mesmo e poderemos identificar a configurac¸˜ao b´asica correspondente.

Feito isso, teremos o ´ındice correspondente na Tabela 1 e conseq¨uentemente as arestas cortadas. Basta ent˜ao tomar os valores de campo nos v´ertices destas arestas para, via interpolac¸˜ao, estimar os pontos de intersec¸˜ao sobre as mesmas. Estes pontos definir˜ao um pol´ıgono que aproximar´a a superf´ıcie no interior do cubo. Uma vez executado este procedimento para todos os cubos da malha, teremos uma aproximac¸˜ao poligonal da superf´ıcie em quest˜ao.

Para a visualizac¸˜ao da superf´ıcie poligonal, ser´a necess´ario calcular o vetor normal nos pol´ıgonos que a definem. Se quisermos uma suavizac¸˜ao da mesma, precisaremos estimar o vetor normal nos v´ertices, o que pode ser feito por diferenc¸as finitas. Outra possibilidade ´e ajustar uma superf´ıcie param´etrica (splines, por exemplo) aos v´ertices da superf´ıcie poligonal, o que pode trazer problemas de performance para grandes massas de dados.

O m´etodo de gerac¸˜ao de isosuperf´ıcies apresentado acima deixa aparente uma limitac¸˜ao desta t´ecnica para visualizac¸˜ao em grandes massas de dados: o n´umero de pol´ıgonos formando a superf´ıcie pode se tornar muito alto trazendo problemas de performance para a etapa de

ren-dering.

Quando isto acontece, podemos lanc¸ar m˜ao de t´ecnicas para simplificac¸˜ao de superf´ıcies poligonais [2] o que por sua vez implica em problemas referentes `a preservac¸˜ao da topologia das isosuperf´ıcies e poss´ıvel perda de detalhes importantes.

Por outro lado, t´ecnicas baseadas em isosuperf´ıcies tˆem a vantagem de serem robustas e apresentam boa performance para massas de dados de pequeno e m´edio porte. A Figura 11-(c), no Cap´ıtulo 6, apresenta alguns resultados obtidos por meio desta t´ecnica.

(23)

4.1 SPH na animac¸ ˜ao de fluidos

Esta sess˜ao apresenta o modelo baseado em SPH proposto por M¨uller et al.[15], adotado neste trabalho para a animac¸˜ao de fluidos.

Seguindo a metodologia apresentada na Sec¸˜ao 3.6, ser˜ao calculadas as forc¸as de press˜ao e viscosidade. Para permitir interatividade em tempo-real ser˜ao utilizados n´ucleos de suavizac¸˜ao espec´ıficos que procuram manter o realismo necess´ario sem comprometer o custo computa-cional.

Na formulac¸˜ao Euleriana, fluidos isot´ermicos s˜ao descritos por uma velocidade ~v, uma densidadeρe uma press˜ao p. A evoluc¸˜ao dessas grandezas atrav´es do tempo ´e dada por duas equac¸˜oes. Pela Equac¸˜ao de Continuidade (3.3), que garante a conservac¸˜ao de massa, e pela Equac¸˜ao de Navier-Stokes (3.5) que garante a conservac¸˜ao do momento. O uso de part´ıculas no lugar de uma malha simplifica a resoluc¸˜ao destas equac¸˜oes. Como o n´umero de part´ıculas ´e constante e cada part´ıcula possui massa constante, a equac¸˜ao de continuidade pode ser comple-tamente omitida. Al´em disso, a express˜ao ∂∂t~v+~v ·~v pode ser substitu´ıda pela derivada material

d~v

dt, uma vez que as part´ıculas se movem simulando o fluido e n˜ao temos uma malha para estimar

(24)

24

Existem trˆes campos de forc¸a no lado direito da Equac¸˜ao (3.5): aquelas que modelam a press˜ao (−~∇p), as forc¸as externas (ρg) e a viscosidade (µ~∇2~v) . A soma dessas forc¸as determina a alterac¸˜ao do momentoρD~vDt das part´ıculas. Como acelerac¸˜ao da part´ıcula i, temos:

ai= d~vi dt = ~fi ρi (4.1)

onde ~vi ´e a velocidade da part´ıcula i e ~fi e ρi s˜ao o campo de forc¸a da densidade e a

densi-dade, respectivamente. A seguir, ser˜ao abordadas as forc¸as de press˜ao e viscosidensi-dade, modeladas atrav´es da metodologia apresentada na Sec¸˜ao 3.6, al´em das forc¸as externas e de superf´ıcie.

4.1.1 Forc¸a de press ˜ao

A aplicac¸˜ao da regra descrita na Equac¸˜ao (3.6) sobre o termo da press˜ao (−~∇p) leva a

fipress= −~∇p(ri) = −

j mj pj ρj ~W (r i− rj, h) (4.2)

Infelizmente, esta forc¸a n˜ao ´e sim´etrica, como pode ser visto quando apenas duas part´ıculas interagem. Uma vez que o gradiente do kernel tem valor zero no centro, a part´ıcula i usa apenas a press˜ao da part´ıcula j para computar sua forc¸a de press˜ao e vice-versa. Geralmente, como a press˜ao ´e diferente em duas part´ıculas de posic¸˜oes diferentes, as forc¸as de press˜ao n˜ao ser˜ao sim´etricas. Diferentes modos de simetrizac¸˜ao da Equac¸˜ao (4.2) tˆem sido propostos na literatura. Neste trabalho, ser´a adotada a soluc¸˜ao proposta por M¨uller et al. [15].

fipress= −

j mj pi+ pjj ~W (r i− rj, h) (4.3)

Esta forma ´e sim´etrica, j´a que usa uma m´edia aritm´etica das press˜oes das part´ıculas que est˜ao interagindo.

Uma vez que as part´ıculas apenas carregam trˆes grandezas: massa, posic¸˜ao e velocidade; a press˜ao nas posic¸˜oes das part´ıculas deve ser avaliada primeiro. Isto ´e feito em duas etapas. A Equac¸˜ao (3.8) calcula a densidade da part´ıcula na posic¸˜ao r. Ent˜ao, a press˜ao pode ser calculada por uma equac¸˜ao de estado do tipo g´as ideal, dada por:

(25)

p = k(ρ−ρ0) (4.4) onde k ´e uma constante que depende da temperatura eρ0a densidade inicial.

4.1.2 Forc¸a de viscosidade

A aplicac¸˜ao da regra descrita na Equac¸˜ao (3.6), sobre o termo de viscosidade (µ~∇2~v) produz novamente forc¸as assim´etricas:

fivisc= µ~∇2~v(r) = µ

j mj ~vj ρj ~2W (r i− rj, h) (4.5)

uma vez que o campo de velocidade varia de part´ıcula para part´ıcula. Como a forc¸a de viscosidade depende apenas das diferenc¸as de velocidade e n˜ao da velocidade absoluta, existe uma maneira natural de simetrizar as forc¸as de viscosidade usando as diferenc¸as de velocidade.

fivisc= µ

j mj ~ vj−~vi ρi ~2 W (ri− rj, h) (4.6)

4.1.3 Forc¸as Externas

As forc¸as externas tais como a gravidade e as forc¸as de colis˜ao s˜ao diretamente aplicadas `as part´ıculas sem o uso de SPH. Por exemplo, quando uma part´ıcula colide com a parede de um objeto s´olido, a componente da velocidade, normal `a superf´ıcie r´ıgida, ´e refletida para o interior do fluido.

4.1.4 Forc¸as de Superf´ıcie

As forc¸as de superf´ıcie n˜ao est˜ao presentes na Equac¸˜ao (3.5), entretanto, foram mode-ladas em [15] explicitamente baseadas nas id´eias de Morris [16]. As mol´eculas de um fluido est˜ao sujeitas `as forc¸as atrativas de suas mol´eculas vizinhas. Dentro do fluido, essas forc¸as in-termoleculares s˜ao iguais em todas as direc¸˜oes e, portanto, balanceadas. Ao contr´ario, as forc¸as que atuam sobre as mol´eculas da superf´ıcie livre n˜ao s˜ao balanceadas. As forc¸as de tens˜ao de su-perf´ıcie atuam na direc¸˜ao normal `a susu-perf´ıcie do fluido. A susu-perf´ıcie do fluido pode ser obtida

(26)

26

usando-se uma quantidade adicional que assume valor unit´ario nas posic¸˜oes das part´ıculas e zero em qualquer outra parte. Este campo ´e denominado “ campo de cor” na literatura e sua vers˜ao suavizada ´e dada pela express˜ao:

cS(r) =

j mj 1 ρj W (r − rj, h) (4.7)

A normal e curvaturas da superf´ıcie livre podem ser obtidas por:

~n = ~cS,κ=

−~∇2c

S

|~n| (4.8)

Finalmente, as forc¸as na superf´ıcie livre s˜ao modeladas por:

tsup=σκ~n

|~n| (4.9)

ondeσ ´e um parˆametro que controla a influˆencia desta forc¸a. O objetivo final ´e reproduzir o efeito de minimizac¸˜ao da curvatura, observado para este tipo de forc¸a. De fato, se considerarmos uma superf´ıcie inicial S, que se movimenta de acordo com uma equac¸˜ao do tipo:

S

t =σκ

~n

|~n| (4.10)

observamos, exatamente, uma evoluc¸˜ao que suaviza pontos onde a curvatura ´e mais elevada [23].

4.1.5 N ´

ucleos de suavizac¸ ˜ao

A estabilidade, precis˜ao e velocidade do m´etodo SPH s˜ao influenciadas pela escolha dos n´ucleos de suavizac¸˜ao. Em M¨uller et al. [15], foram propostos os seguintes n´ucleos de suavizac¸˜ao: Wcor(r, h) = 315 64πh9        (h2− r2)3, 0 ≤ r ≤ h, 0, cc. (4.11)

(27)

Wpress(r, h) = 15 πh6        (h − r)3, 0 ≤ r ≤ h, 0, cc. (4.12) Wvisc(r, h) = 15 2πh3        − r3 2h3 + r2 h2+ h 2r− 1, 0 ≤ r ≤ h, 0, cc. (4.13)

A ´ultima express˜ao, 4.13, foi escolhida por possuir Laplaciano positivo em todo dom´ınio. Esse Laplaciano ´e dado pela seguinte express˜ao:

Wvisc(r, h) =        45 πh6(h − r), 0 ≤ r ≤ h 0, cc. (4.14)

4.2 Simulac¸ ˜ao

As equac¸˜oes de Navier-Stokes dadas pela Express˜ao (3.5) s˜ao discretizadas, substituindo-se cada termo do substituindo-segundo membro pela sua vers˜ao obtida via n´ucleo de suavizac¸˜ao; ou substituindo-seja, pelas Express˜oes (4.3) - (4.6), com a densidade ρ dada pela equac¸˜ao (3.8), e usando-se no primeiro membro a derivada material d~vdt. Desta forma, obt´em-se o seguinte esquema num´erico:

d~vi dt = Q t i (4.15) onde Qti= −∑jmj pt j+ptit j ~W (rt i− rtj, h) +ρtj~gj+∑jmj  ~ vjt−~vit ρt j  ∇2W 2(rti− rtj, h) ρt j (4.16) e, seguindo as equac¸˜oes (3.8)-(4.4): ρt j=

k mkW (rtj− rtk) (4.17)

(28)

28

ptj= k(ρtj−ρ0j) (4.18)

Uma vez resolvida a Equac¸˜ao (4.15), o campo de acelerac¸˜oes 

d~vi

dt



obtido ´e final-mente utilizado para atualizar a velocidade e posic¸˜ao das part´ıculas, de acordo com o seguinte esquema: ~vit+t = ~vitt 2Q t i (4.19) rt+it= rtit~vit+∆t (4.20)

Este esquema, denominado Leap-Frog, ´e um m´etodo iterativo de segunda ordem. Em [15], usou-se um intervalo de tempo constante deδt = 10−2segundos.

(29)

Este cap´ıtulo apresenta a implementac¸˜ao do m´etodo SPH descrita neste trabalho para a simulac¸˜ao de fluidos. A modelagem do sistema ´e apresentada na sec¸˜ao 5.1 atrav´es de um dia-grama de classes. Com base nesse diadia-grama as sec¸˜oes seguintes descrevem os principais t´opicos do sistema proposto. Entre eles, as propriedades das part´ıculas (Sec¸˜ao 5.3), a subdivis˜ao espa-cial (Sec¸˜ao 5.4), a atualizac¸˜ao das forc¸as (Sec¸˜ao 5.4.2) e o tratamento de colis˜oes (condic¸˜oes de contorno) (Sec¸˜ao 5.4.1).

5.1 Modelagem

O Diagrama de classes da Figura 9 representa, de forma estruturada, a implementac¸˜ao da metodologia proposta neste trabalho. Nesta sec¸˜ao descrevemos brevemente, a funcionalidade das principais classes presentes nesta modelagem.

A Classe Solver ´e respons´avel pela soluc¸˜ao das equac¸˜oes do modelo (Sec¸˜ao 4.1) e por determinar a posic¸˜ao das part´ıculas no instante t +δt, atrav´es do esquema Leap-Frog, descrito

na Sec¸˜ao 4.2. A Classe ParticleSystem representa o fluido por meio de um Sistema de part´ıculas. A Classe Particle define as part´ıculas do sistema. As Sec¸˜oes 5.2 e 5.3 descrevem mais detalhes a respeito das duas ´ultimas classes.

(30)

30

A Classe Boundary modela as fronteiras do fluido por meio de uma malha poligonal composta pelas Classes Vertice e Face. Os v´ertices comp˜oem as faces e s˜ao uma especializac¸˜ao da classe auxiliar 3DCoordinate. A Classe mathVector tamb´em ´e uma especializac¸˜ao da Classe

3DCoordinate e ´e utilizada na definic¸˜ao de grandezas vetoriais, bem como, algumas operac¸˜oes

entre tais grandezas que s˜ao necess´arias `a aplicac¸˜ao.

A Classe SpatialSubdivision modela uma subdivis˜ao espacial do dom´ınio. A Sec¸˜ao 5.4 exemplifica essa estrutura.

Figura 9: Diagrama de classes do Projeto

5.2 Sistema de Part´ıculas

O fluido ´e modelado como sendo um conjunto organizado de part´ıculas. As part´ıculas representam elementos de pequeno volume do fluido, que interagem de acordo com as leis da

(31)

Dinˆamica dos Fluidos. A viscosidade do fluido, bem como a forc¸a externa que atua sobre o mesmo, s˜ao atributos do sistema de part´ıculas.

5.3 Atributos da Part´ıcula

Os atributos das part´ıculas s˜ao os seguintes: 1. massa

2. cor 3. estado

Seu estado ´e composto por: 1. posic¸˜ao 2. normal 3. press˜ao 4. velocidade 5. densidade 6. condic¸˜ao

Massa, cor, press˜ao e densidade s˜ao valores em ℜ. Posic¸˜ao, normal e velocidade s˜ao grandezas vetoriais. A condic¸˜ao da part´ıcula est´a relacionada com a posic¸˜ao que ela pode assumir no dom´ınio, e ´e dividida em:

1. Part´ıcula de fronteira 2. Part´ıcula de superf´ıcie 3. Part´ıcula interna 4. Posic¸˜ao indefinida

Os atributos cor, normal e condic¸˜ao s˜ao utilizados na etapa de visualizac¸˜ao do fluido. Os demais s˜ao necess´arios `a simulac¸˜ao.

(32)

32

5.4 Subdivis ˜ao espacial

Com base no fato de que os n´ucleos de suavizac¸˜ao possuem suporte limitado, dado por

h, usamos uma subdivis˜ao espacial, com c´elulas (cubos) de lado h, onde o conjunto de part´ıculas

´e distribu´ıdo.

Figura 10: Subdivis˜ao espacial regular

A c´elula em que cada part´ıcula ser´a inserida ´e dada por um ´ındice n, obtido da seguinte forma: n = rx h + (exry h) + (ex∗ ey) ∗ rz h (5.1)

onde ex e ey s˜ao as dimens˜oes do volume em x e y, e rx, ry, rz representam as coordenadas das part´ıculas em x, y e z, e h o suporte dos n´ucleos de suavizac¸˜ao.

Dessa forma, dada uma part´ıcula i, as part´ıculas candidatas a participarem com a mesma durante o c´alculo das quantidades em quest˜ao, estar˜ao na mesma c´elula da part´ıcula i, ou nas c´elulas vizinhas a esta c´elula.

Inicialmente, optamos por uma subdivis˜ao espacial regular. Essa estrutura permite a reduc¸˜ao do custo computacional de O(n2) para O(nm) onde n ´e o total de part´ıculas e m o n´umero m´edio de part´ıculas na vizinhanc¸a h. Outra vantagem da utilizac¸˜ao dessa estrutura ´e a reduc¸˜ao do n´umero de verificac¸˜oes de colis˜ao de uma part´ıcula com a fronteira da geometria,

(33)

atrav´es da identificac¸˜ao das c´elulas que s˜ao “ cortadas” por esta fronteira. Uma vez identifi-cadas tais c´elulas, as verificac¸˜oes de colis˜ao s˜ao efetuadas apenas para as part´ıculas presentes nas mesmas. Uma subdivis˜ao espacial adaptativa est´a presente na modelagem como pode ser observado na Figura 9 e ser´a empregada futuramente para diminuir ainda mais o n´umero de verificac¸˜oes de colis˜ao.

5.4.1 Condic¸ ˜

oes de contorno

Inicialmente, utilizamos um cubo para delimitar as fronteiras do fluido. Entretanto, o algoritmo utilizado ´e gen´erico o bastante para que outras geometrias possam ser modeladas.

Essas condic¸˜oes de contorno s˜ao implementadas seguindo uma metodologia simples, inspirada na interpretac¸˜ao do fluido como um sistema de part´ıculas. Ou seja, quando uma part´ıcula colide com a parede de um objeto s´olido, a componente da velocidade, normal `a superf´ıcie r´ıgida, ´e refletida para o interior do fluido.

O primeiro passo para este prop´osito ´e verificar a posic¸˜ao da part´ıcula com relac¸˜ao `a geometria definida. Essa verificac¸˜ao foi implementada de modo que possa ser utilizada em qualquer poliedro convexo.

Se a part´ıcula avaliada for externa `a geometria, inicia-se a etapa de reflex˜ao.

5.4.2 Din ˆamica

Nesta sec¸˜ao, esquematizamos o c´alculo das forc¸as via equac¸˜oes da Sec¸˜ao 4.1, bem como a atualizac¸˜ao da densidade e press˜ao das part´ıculas, dadas respectivamente pelas equac¸˜oes 4.17 e 4.18, e, por ´ultimo, a atualizac¸˜ao da velocidade e posic¸˜ao das part´ıculas dadas respectivamente pelas Equac¸˜oes (4.19) e (4.20).

(34)

34

Algorithm 1 : Calculo das forc¸as de Press˜ao, Externa e de Viscosidade

CalculaForc¸as()

numP = Total de part´ıculas

for i = 1 to numP do

CalculaGradienteWpress(particula i); Calcula Forc¸a de Press˜ao;

Calcula Forc¸a Externa;

CalculaLaplacianoWvisc(particula i); Calcula Forc¸a de Viscosidade;

Algorithm 2 : Atualizac¸˜ao da Densidade e Press˜ao das part´ıculas

Atualiza Densidade e Press˜ao();

numP = Total de part´ıculas

for i = 1 to numP do

CalculaDensidade(part´ıcula i) CalculaPress˜ao(part´ıcula i)

Algorithm 3 : Atualizac¸˜ao da Velocidade e Posic¸˜ao das part´ıculas

Atualiza Velocidade e Posic¸˜ao();

numP = Total de part´ıculas

for i = 1 to numP do

Atualiza velocidade(part´ıcula i); Atualiza posic¸˜ao(part´ıcula i);

Algorithm 4 : Condic¸˜oes de Contorno

Condic¸˜oes de Contorno();

numPF = Part´ıculas de fronteira

for i = 1 to numPF do

VerificaColis˜ao(part´ıcula i); EfetuaReflex˜ao(part´ıcula i);

(35)

Em [15] s˜ao utilizadas t´ecnicas baseadas em superf´ıcies e t´ecnicas baseadas em nuvens de pontos para efetuar a visualizac¸˜ao. Em ambos os casos, a id´eia ´e fazer uso do campo de cor, dado pela Express˜ao (4.7), e de seu gradiente, para identificar part´ıculas da superf´ıcie livre do fluido e encontrar sua normal. Primeiramente, uma part´ıcula ser´a considerada na superf´ıcie se:

|~n| > l, (6.1)

onde l ´e o limiar a ser escolhido previamente. Assim, a normal a uma part´ıcula de superf´ıcie na posic¸˜ao ri ´e dada por:

−~n(ri), (6.2)

Desta forma, obtem-se um conjunto de pontos, com suas normais, entretanto, sem informac¸˜oes de conectividade. Estes s˜ao os elementos necess´arios para efetuar o rendering via point splatting. Contudo, devemos ficar atentos com relac¸˜ao `a quantidade de pontos de su-perf´ıcie. Usualmente, as t´ecnicas de splatting s˜ao aplicadas para nuvens de pontos obtidas via scanners, com tipicamente 10.000 a 100.000 pontos. Em M¨uller et al., usa-se apenas algumas centenas de part´ıculas para evitar um custo computacional que impossibilite a interatividade em

(36)

36

tempo-real. Considerando-se ainda que a quantidade de pontos de superf´ıcies ´e apenas uma frac¸˜ao deste montante, fica a d´uvida com relac¸`ao `a qualidade visual da cena.

Figura 11: Resultados da utilizac¸˜ao de splatting (b) e marching cubes (c) em Muller et al. [15].

Na Figura 11, temos um exemplo da utilizac¸˜ao de splatting nesta aplicac¸˜ao. A ´agua no copo foi amostrada com 2200 part´ıculas. A Figura 11-(a) mostra as part´ıculas individualmente. A Figura 11-(b) mostra um resultado obtido pela utilizac¸˜ao de splatting para a renderizac¸˜ao da superf´ıcie livre da ´agua. A Figura 11-(c) exibe um resultado mais realista, obtido com o algoritmo Marching-Cubes, descrito na Sec¸˜ao 3.4.2. Neste caso, a superf´ıcie alvo seria uma isosuperf´ıcie do campo de cor suavizado, dado pela Express˜ao (4.7). Escolheu-se uma malha regular, fixa, e usou-se Marching-Cubes para obter uma representac¸˜ao poligonal da superf´ıcie em quest˜ao. A implementac¸˜ao usada em [15] inicia a busca pelas c´elulas que cont´em part´ıculas de superf´ıcie, varrendo recursivamente as c´elulas pr´oximas a estas. Usa-se uma tabela hash para evitar que uma mesma c´elula seja visitada mais de uma vez. Contudo, o custo computacional torna-se mais elevado. Nestes exemplos, usou-se um Pentium IV com 1.8 GHz e placa gr´afica Gforce 4. Para o splatting, conseguiu-se uma taxa de 20 frames por segundo, enquanto que, com Marching-Cubes, a taxa diminuiu para 5 frames por segundo.

A Figura 12 mostra um outro exemplo, onde o usu´ario interage com o fluido, via mouse, gerando um campo externo que faz a ´agua se mover. Neste caso, a superf´ıcie livre foi ren-derizada via splatting. Usou-se 1300 part´ıculas, conseguindo-se uma taxa de 25 frames por segundo com a arquitetura descrita acima.

(37)
(38)

7 Conclus ˜ao

Neste Trabalho, foi apresentada uma metodologia para animac¸˜ao de fluidos baseada em um modelo f´ısico. A implementac¸˜ao do m´etodo foi conclu´ıda, entretanto a etapa de visualizac¸˜ao est´a sendo desenvolvida. Ainda com relac¸˜ao `a visualizac¸˜ao, optamos, inicialmente, por utilizar o algoritmo descrito na Sec¸˜ao 3.4.2. Essa escolha foi feita com base nos resultados encontrados na literatura, principalmente naqueles obtidos por M¨uller et al. [15] mostrados na Sec¸˜ao 6.

Esse trabalho faz parte de um sistema mais amplo que encontra-se em fase de desen-volvimento no LNCC. O sistema em quest˜ao dar´a suporte `a simulac¸˜oes de fluidos por meio de diversas metodologias al´em da apresentada aqui. Al´em disso, a visualizac¸˜ao dos resultados poder´a ser feita atrav´es de diferentes t´ecnicas. Essas caracter´ısticas do sistema o tornam flex´ıvel e pass´ıvel de ser empregado para o desenvolvimento de aplicac¸˜oes de visualizac¸˜ao de fluidos com prop´ositos espec´ıficos.

Os resultados obtidos em [15], apresentados na Sec¸˜ao 6, mostram que o modelo f´ısico baseado em SPH representou de forma satisfat´oria o movimento dos fluidos. Para implementac¸˜ao deste modelo, constru´ımos o diagrama apresentado na Figura 9. Como pode ser observado neste diagrama, a implementac¸˜ao apresenta uma boa modularizac¸˜ao do c´odigo, o que facilita alterac¸˜oes no mesmo. Tal caracter´ısca se faz bastante conveniente, uma vez que, conclu´ıda a etapa de visualizac¸˜ao, alterac¸˜oes no modelo podem ser sugeridas para otimizar a simulac¸˜ao.

(39)

Ap´os conclus˜ao da etapa de visualizac¸˜ao, resultados mais substanciais poder˜ao ser apre-sentados. At´e aqui, obtivemos boas perspectivas futuras a respeito deste trabalho. Dentre as quais, podemos citar:

• A explorac¸˜ao de t´ecnicas de visualizac¸˜ao com o intuito de aplic´a-las a sistemas que exijam interatividade em tempo real, aumentando o realismo visual da cena sem comprometer o realismo f´ısico da simulac¸˜ao.

• A explorac¸˜ao de t´ecnicas de processamento paralelo em ambientes distribu´ıdos (i.e., grade computacional), uma vez que, acredita-se que a adoc¸˜ao dessas t´ecnicas possa trazer ganhos substanciais no tempo de execuc¸˜ao dos algoritmos de simulac¸˜ao num´erica bem como no tempo de execuc¸˜ao dos algoritmos de visualizac¸˜ao.

• A explorac¸˜ao de novas metodologias para simulac¸˜ao do comportamento de fluidos, com o intuito de aumentar a gama de aplicac¸˜oes do sistema de Animac¸˜ao Computa-cional de Fluidos em desenvolvimento no LNCC.

(40)

Refer ˆencias Bibliogr ´aficas

[1] M. Carlson, P. J. Mucha, R. B. Van Horn, and G. Turk. Melting and flowing. In ACM Press, editor, Proceedings of the ACM SIGGRAPH symposium on Computer animation, pages 167–174, 2002.

[2] J. Cohen, A. Varshney, D. Manocha, G. Turk, H. Weber, F. Brooks, and W. Wright. Simpli-fication envelopes. Technical report, http://www.cs.unc.edu/ geom/envelope.html, 1996. [3] M. Desbrun and M. P. Cani. Smoothed particles: A new paradigm for animating highly

deformable bodies. In Proceedings of EG Workshop on Animation and Simulation, pages 61–76. Springer-Verlag, 1996.

[4] D. Enright, S. Marschner, and R. Fedkiw. Animation and rendering of complex water sur-faces. In Proceedings of the 29th annual conference on Computer graphics and interactive

techniques, pages 736–744. ACM Press, 2002.

[5] V. Fontes, B. Schulze, M. Dutra, F. Porto, and A. Barbosa. Codims-g: a data and program integration service for the grid. In Proceedings of the 2nd workshop on Middleware for

grid computing, pages 29–34, Toronto, Ontario, Canada, October 2004.

[6] N. Foster and R. Fedkiw. In Proceedings of the 28th annual conference on Computer

(41)

[7] R. A. Gingold and J. J. Monaghan. Smoothed particle hydrodynamics: theory and applica-tion to non-spherical stars. Monthly Notices of the Royal Astronomical Society, (181):375– 398, 1977.

[8] M.E. Goss. A real time particle system for display of ship wakes. IEEE Computer

Graph-ics and Applications, 10(3):30–35, May 1990.

[9] D. Hinsinger, F. Neyret, and M. P. Cani. Interactive animation of ocean waves. In

Pro-ceedings of the ACM SIGGRAPH symposium on Computer animation, pages 161–166.

ACM Press, 2002.

[10] J. C. Lombardo and C. Puech. Oriented particles: A tool for shape memory objects mod-elling. Graphics Interface, pages 255–262, May 1995.

[11] W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3d surface construc-tion algorithm. Computer Graphics, 21(4), July 1987.

[12] L. B. Lucy. A numerical approach to the testing of the fission hypothesis. The

Astronomi-cal Journal, (82):1013–1024, 1977.

[13] G. Mastin, P. Watterberg, and J.Mareda. Fourier synthesis of ocean scenes. IEEE

Com-puter Graphics and Applications, 7(3):16–23, March 1987.

[14] N. Max. Vectorized procedural models for natural terrain: Waves and islands in the sunset. In Computer Graphics (SIGGRAPH ’81 Proceedings), volume 15, pages 317–324, August 1981.

[15] M. M¨uller, D. Charypar, and M. Gross. Particle-based fluid simulation for interactive applications. In Proceedings of ACM SIGGRAPH symposium on Computer animation, 2003.

[16] J. P. Morris. Simulating surface tension with smoothed particles hydrodynamics.

(42)

42

[17] A. Neto, G. Giraldi, R. Silva, and V. Fontes. Particles tracing in grid environment. In

Eletronical Proceedings of SIBGRAPI Symposium on Computer Graphics and Image Pro-cessing, October 2004.

[18] D. Nixon and R. Lobb. A fluid-based soft-object model. IEEE Computer Graphics and

Applications, pages 68–75, July/August 2002.

[19] D. R. Peachy. Modeling waves and surf. In Computer Graphics (SIGGRAPH’86

Proceed-ings), volume 20, pages 65–74, August 1986.

[20] K. Perlin. An image synthesizer. volume 19, pages 287–296, July 1985.

[21] W. T. Reeves. Particle systems - a technique for modeling a class of fuzzy objects. ACM

Transactions on Graphics, 2(2):91–108, 1983.

[22] T. M. Roy. Physically-based fluid modeling using smoothed particle hydrodynamics. Mas-ter’s thesis, University of Illinois, 1995.

[23] J. A. Sethian. Level Set Methods: Evolving Interfaces in Geometry, Fluid Mechanics,

Computer Vision and Materials Sciences. Cambridge University Press, 1996.

[24] K. Sims. Particle animation and rendering using data parallel computation. In Computer

Graphics (SIGGRAPH ’90 Proceedings), volume 24, pages 405–413, August 1990.

[25] J. Stam. Stable fluids. In Proceedings of the 26th annual conference on Computer graphics

and interactive techniques, pages 121–128. ACM Press/Addison-Wesley Publishing Co.,

1999.

[26] D. Stora, P. O. Agliati, M. P. Cani, F. Neyret, and J. D. Gascuel. Animating lava flows.

Graphics Interface, pages 203–210, 1999.

[27] T. Takahashi, U. Heihachi, A. Kunimatsu, and H. Fujii. The simulation of fluid-rigid body interaction. ACM Siggraph Sketches & Applications, July 2002.

[28] D. Tonnesen. Dynamically Coupled Particle Systems for Geometric Modeling,

(43)

[29] P. Y. Ts’o and B. A. Barsky. Modeling and rendering waves:wave-tracing using beta-spline and reflective and refractive texture mapping. ACM Transactions on Graphics, 6(3):191– 214, July 1987.

[30] P. Wesseling. Principles of Computational Fluid Dynamics. Springer, 2000.

[31] G. D. Yngve, J. F. O’Brien, and J. K. Hodgins. Animating explosions. In Proceedings of

Referências

Documentos relacionados

Sabendo da dificuldade na fase de escolhas das melhores técnicas ou metodologias, este trabalho tem por objetivo realizar um levantamento e análise, em trabalhos

Para GOLDRATT (1990), os direcionadores de custos e o custeio baseado em atividades são esforços infrutíferos, pois conseguem apenas ratear algumas despesas a nível

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

No prazo de 10 dias contada da deliberação, para os condóminos presentes, ou contada da sua comunicação, para os condómino ausentes, pode ser exigida ao administrador a convocação

As outras classes gramaticais desse grupo (ARTIGO, ADJETIVO, NUMERAL e PRONO­ ME) são subordinados ao substantivo.. Há algo que une as quatro subordinadas ao núcleo: A

Além disso, as covariáveis contínuas foram centradas em seus respectivos valores médios e dois pacientes foram excluídos devido à presença de dados faltantes

O item 6.7 Orientação aos moradores não se aplica a edificação escolar de forma integral, pois inexiste a confecção de manual de funcionamento e manutenção

Diferentemente da não abrangência de todas as regiões pelos GPAFEs, os grupos de pesquisa que discutem a temática Atividade Física e Saúde estão presentes em todas as regiões