Resumo

Neste trabalho, apresentamos um método para a geração de animações de fluidos em aplicações de computação gráfica, realistas tanto do ponto de vista físico quanto de renderização. Para isso, nos focamos nas diversas etapas da criação de uma animação desse tipo, que são a modelagem de fluidos, as técnicas de renderização e o desenvolvimento de um software que permita a experimentação dos métodos e modelos utilizados. Para alcançar o nível de realismo desejado, utilizamos o SPH para tratarmos das superfícies livres do fluido e da interação fluido-sólido. Além disso, através da biblioteca PBRT, foram usadas técnicas de ray tracing na renderização.

Introdução

Técnicas e modelos em dinâmica de fluidos computacional (DFC) vêm sendo aplicados com sucesso em computação gráfica e geração de efeitos visuais. Por exemplo, técnicas de simulação de fluidos baseadas em métodos lagrangianos vêm sendo utilizadas na geração de animações para a indústria cinematográfica e de jogos para computador [1]. Um grande desafio dessa área, que é uma sub-área da Modelagem Baseada em Física (Physics Based Modeling), vem de sua multidisciplinaridade e da complexidade do comportamento do fluido, que é regido a partir da intrincada interação de vários fenômenos como a convecção, difusão, turbulência e tensão superficial [2]. As pesquisas em animação de fluidos se dividem basicamente em três etapas: encontrar modelos em DFC que sejam mais eficientes do ponto de vista da computação gráfica, aplicar técnicas de renderização sobre os resultados gerados por esses modelos para criação de efeitos visuais (como transparência, imagens refletidas na superfície de um líquido, deformação de paisagens, incêndios, etc) e incorporar as técnicas adotadas a um software que ofereça uma interface gráfica conveniente que permita o uso desses recursos por artistas gráficos e animadores [1]. O foco desse trabalho é a geração de animações de fluidos realistas tanto do ponto de vista físico quanto de renderização, o que envolve superfícies livres e técnicas de ray tracing. Assim, optamos pelo SPH para a etapa de simulação do fluido e a renderização foi implementada usando técnicas de ray tracing disponíveis na biblioteca PBRT [3].

Método de Simulação

Os fundamentos do método SPH (Smoothed Particle Hydrodynamics) estão na teoria de interpolação. O SPH permite que quantidades de um campo definidas apenas em posições discretas possam ser avaliadas em qualquer posição do espaço. Para isso, o SPH distribui essas quantidades numa vizinhança local usando núcleos de suavização, enquanto as equações de Navier-Stokes são usadas para descrever o comportamento do fluido:
Equação 1
onde v é a velocidade, rho é a densidade, p é a pressão e g é a gravidade.

Para calcular a densidade é utilizada a seguinte equação:
Equação 2
onde N é o número de partículas, mj é a massa da partícula j e W é o núcleo de suavização utilizado pelo SPH para a interpolação. A pressão e a viscosidade são calculadas de forma análoga a densidade.

Resultados

Em cada simulação utilizamos 4393 partículas distribuídas uniformemente em uma porção de um domínio em forma de paralelepípedo. A Figura 1 mostra uma seqüência de imagens obtida pelo nosso método. Neste caso, usou-se uma viscosidade alta, o que resultou em comportamento similar ao de “gelatina”. Uma vez que o fluido é totalmente opaco neste caso, não há efeitos de transparência. Contudo, há efeitos de reflexão, particularmente, pode-se perceber o reflexo da esfera no fluido. Efeitos de sombra também podem ser observados, tanto do fluido sobre ele mesmo quanto da esfera sobre o fluido.

t = 0s

t = 0s

t = 2.5s

t = 2.5s

t = 5s

t = 5s


t = 8s

t = 8s

t = 16.5s

t = 16.5s

t = 32s

t = 32s


Figura 1. Seqüência de imagens do primeiro exemplo de animação. Os tempos estão marcados em segundos.

A Figura 2 mostra outra seqüência de quadros gerada pela aplicação que foi desenvolvida. Neste caso, o fluido é transparente e o fundo tem cor amarela. O fluido continua viscoso e as fontes de luz estão na mesma posição do caso anterior, observando-se novamente efeitos de sombra. Os reflexos são bem menos perceptíveis neste exemplo em função da transparência.

t = 0s

t = 0s

t = 2.5s

t = 2.5s

t = 5s

t = 5s


t = 8s

t = 8s

t = 16.5s

t = 16.5s

t = 32s

t = 32s


Figura 2. Seqüência de imagens do segundo exemplo de animação. Os tempos estão marcados em segundos.

Na Figura 3 podemos ver mais uma seqüência de quadros gerada, onde o fundo continua tendo cor amarela e o fluido sendo transparente. No entanto, o fluido tem a sua viscosidade reduzida. Além disso, foram usadas duas fontes extensas de iluminação, ou seja, fontes não-pontuais. Nesta seqüência, nota-se claramente maior riqueza de detalhes, como efeitos de penumbra, que são decorrentes desse tipo de iluminação.

t = 0s

t = 0s

t = 2.5s

t = 2.5s

t = 5s

t = 5s


t = 8s

t = 8s

t = 16.5s

t = 16.5s

t = 32s

t = 32s


Figura 3. Seqüência de imagens do terceiro exemplo de animação. Os tempos estão marcados em segundos.

Conclusão e Trabalhos Futuros

Descrevemos um modelo para animação de fluidos usando o SPH para a simulação e a biblioteca PBRT para a renderização e demonstramos a sua potencialidade de realismo tanto visual quanto físico. O método ainda é computacionalmente caro, particularmente em função da biblioteca PBRT.

Nos trabalhos futuros, vamos otimizar tanto a etapa de renderização quanto a de simulação, com a implementação de métodos customizados para geração de efeitos visuais ainda melhores.

Referências

[1] Giraldi, G. A., Apolinário, A. L., Oliveira, A. A. F., and Feijóo, R. A. (2005). Animação de fluidos via técnicas de visualização científica e mecânica computacional. Technical report, http://virtual01.lncc.br/~giraldi/TechReport/Fluid-Animation2005.pdf.

[2] Müller, M., Charypar, D., and Gross, M. (2003). Particle-based fluid simulation for interactive applications. In SCA ’03: Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation, pages 154–159, Aire-la-Ville, Switzerland. Eurographics Association.

[3] Pharr, M. and Humphreys, G. (2004). Physically Based Rendering: From Theory to Implementation. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.


Valid XHTML 1.0 Strict Valid CSS!