Uma abordagem baseada em SPH para animação interativa de...

40
Algemiro Augusto da Silva Neto Uma abordagem baseada em SPH para animação interativa de águas rasas em jogos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pós– graduação em Informática do Departamento de Informática da PUC-Rio Orientador: Prof. Waldemar Celes Rio de Janeiro Dezembro de 2008

Transcript of Uma abordagem baseada em SPH para animação interativa de...

Page 1: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Algemiro Augusto da Silva Neto

Uma abordagem baseada em SPH paraanimação interativa de águas rasas em jogos

Dissertação de Mestrado

Dissertação apresentada como requisito parcial paraobtenção do grau de Mestre pelo Programa de Pós–graduação em Informática do Departamento de Informáticada PUC-Rio

Orientador: Prof. Waldemar Celes

Rio de JaneiroDezembro de 2008

Page 2: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Algemiro Augusto da Silva Neto

Uma abordagem baseada em SPH paraanimação interativa de águas rasas em jogos

Dissertação apresentada como requisito parcial paraobtenção do grau de Mestre pelo Programa de Pós–graduação em Informática do Departamento de Informáticado Centro Técnico Científico da PUC-Rio. Aprovada pelaComissão Examinadora abaixo assinada.

Prof. Waldemar CelesOrientador

Departamento de Informática — PUC-Rio

Prof. Marcelo GattassDepartamento de Informática — PUC-Rio

Prof. Luiz Henrique de FigueiredoIMPA

Prof. Ivan MenezesPUC-Rio

Prof. José Eugênio LealCoordenador Setorial do Centro Técnico Científico -

PUC-Rio

Rio de Janeiro, 5 de Dezembro de 2008

Page 3: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para animação

interativa de águas rasas em jogos / Algemiro Augusto da

Silva Neto ; orientador: Waldemar Celes. – 2008.

40 f. : il.(color.) ; 30 cm

Dissertação (Mestrado em Informática)–Pontifícia

Universidade Católica do Rio de Janeiro, Rio de Janeiro,

2008.

Inclui bibliografia

1. Informática – Teses. 2. SPH. 3. Animação. 4.

Simulação de Fluidos. 5. Águas rasas. 6. DFC. I. Celes,

Waldemar. II. Pontifícia Universidade Católica do Rio de

Janeiro. Departamento de Informática. III. Título.

Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, do autor e do orientador.

Algemiro Augusto da Silva Neto

Graduou-se em Informática pelo Instituto Superior de Tecnologia de Petrópolis em 2004. Foi bolsista de Iniciação Científica do CNPq no Laboratório Nacional de Computação Científica onde desenvolveu um sistema de visualização em Hemodinâmica e atuou em pesquisas na área de animação de fluidos. Durante o mestrado foi bolsista CAPES.

Ficha Catalográfica

CDD: 004

Page 4: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Agradecimentos

Agradeço a todos os professores com os quais aprendi ao longo dos anos.Ao meu orientador Waldemar Celes, pela paciência e disponibilidade com a qualme orientou durante o Mestrado. Ao professor Marcelo Gattass, pelo apoio com oqual sempre pude contar. Aos amigos Alexandre Gazola, Fábio Guerra, Silvan Luís,Isabelle Desbois e a todos os amigos que fiz no Mestrado. Aos meus grandes amigosDiego Mazala e Bruno Correia, com os quais percorri o mesmo caminho acadêmicodesde a Iniciação Científica. Aos companheiros de república pela companhia e,em especial, à Luciana Correia pelas conversas sobre cálculo e modelagem. Aoprofessor Antônio Lopes pelas dicas técnicas. Um agradecimento especial aosprofessores Paulo Sérgio Rodrigues e Gilson Giraldi por todo o apoio, paciência,disponibilidade e conselhos acadêmicos desde a orientação na iniciação científica epor contribuírem de maneira fundamental em minha carreira acadêmica. Aos meuspais pelo apoio e confiança. A Deus, pois sem ele nada teria sido possível. À CAPESe à PUC-Rio, pelos auxílios concedidos.

Page 5: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Resumo

Silva Neto, Algemiro Augusto da; Celes, Waldemar. Uma abordagembaseada em SPH para animação interativa de águas rasas em jogos.Rio de Janeiro, 2008. 40p. Dissertação de Mestrado — Departamentode Informática, Pontifícia Universidade Católica do Rio do Janeiro.

Neste trabalho, é apresentada uma abordagem para animação de águas rasas emaplicações interativas baseada em um modelo físico. Para a simulação, foi em-pregado o método Lagrangeano conhecido como Smoothed Particle Hydrody-

namics (SPH). Com base no trabalho de Muller et al. (Muller et al., 2003), queutilizou SPH em Computação Gráfica, e no trabalho de Rodriguez-Paz e Bonet(Rodriguez-Paz; Bonet, 2005) que propõe uma variação deste método para a si-mulação de águas rasas em aplicações de engenharia, propomos uma abordagemsimples e eficiente para a simulação de águas rasas em jogos sob a influência deterrenos acidentados.

Palavras–chaveSPH. Animação. Simulação de Fluidos. Águas rasas. DFC.

Page 6: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Abstract

Silva Neto, Algemiro Augusto da; Celes, Waldemar. A SPH basedapproach to interactive animation of shallow-water on games .Rio de Janeiro, 2008. 40p. MSc. Dissertation — Departamento deInformática, Pontifícia Universidade Católica do Rio do Janeiro.

In this work is presented an approach to shallow-water animation on interactiveapplications based on a physic model. For the simulation, was employed aLagrangian method known as Smoothed Particle Hydrodynamics (SPH). Basedon the work of Muller et al. (Muller et al., 2003), which applied SPH inComputer Graphics, and on the work of Rodriguez-Paz (Rodriguez-Paz; Bonet,2005), which proposes a variation of this method to shallow-water simulation onengineering applications, we have proposed a simple and efficient approach forshallow-water simulation on games under the influence of irregular terrains.

KeywordsSPH. Animation. Fluid Simulation. Shallow-waters. CFD.

Page 7: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Sumário

1 Introdução 91.1 Motivação 91.2 Objetivo 111.3 Organização da dissertação 11

2 Trabalhos relacionados 122.1 Métodos para animação de fluidos 12

3 Animação de fluidos com SPH 173.1 Navier-Stokes em animação de fluidos 173.2 Navier-Stokes e SPH 183.3 Simulação 22

4 Abordagem proposta 234.1 Domínio do problema 234.2 Combinação dos modelos 244.3 Funções de suavização 264.4 Implementação 27

5 Resultados e discussão 295.1 Rompimento de barragem em canal retangular 295.2 Barragem cilíndrica 315.3 Influência do terreno 31

6 Conclusões e trabalhos futuros 35

Page 8: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Lista de figuras

4.1 Domínio de simulação de águas rasas. 244.2 Visão geral do processo. 28

5.1 Dimensões do problema (Visão Superior). 295.2 Variação da altura ht em x = 2m para o caso de rompimento

de barragem. Dimensões do fluido: 2 × 1 × 0.5 m, Raio doKernel: 0.1 30

5.3 Comparação entre o resultado de (Rodriguez-Paz; Bonet,2005) e a solução analítica para altura do fluido em x = 2m.(Figura extraída de (Rodriguez-Paz; Bonet, 2005)) 30

5.4 Quebra de barragem vertical. Dimensões do fluido: 2 x 1 x 0.5m. A coloração varia de acordo com a altura do fluido durantesua evolução. 31

5.5 Quebra de barragem vertical. 3 instantes de uma simulaçãocom 1500 partículas a 15Fps. 32

5.6 Vista superior de um rompimento de barragem cilíndrica com600 partículas. 32

5.7 Fluido confinado em uma calha (2000 partículas - 13Fps).A cor das partículas de fluido varia em função da altura dacoluna de água. 33

5.8 Avaliação do comportamento do fluido em terreno plano.(1000 partículas - 30Fps) 34

5.9 Visualização da superfície do fluido. Simulação com 2Kpartículas. 34

Page 9: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

1Introdução

1.1Motivação

Animação Computacional é um segmento da computação gráfica de intensaspesquisas pelas suas aplicações em áreas como, educação, interação humano-computador e, principalmente, na indústria de entretenimento. Nesse contexto, alémda produção de efeitos especiais, há um interesse em reproduzir elementos presentesna natureza. Dentre tais elementos, destacamos os fluidos. Considerando que osfluidos são sistemas com um número elevado de graus de liberdade, animá-los comrealismo satisfatório por meio de métodos puramente geométricos torna-se umatarefa difícil (Giraldi et al., 2005). Dessa forma, animações onde elementos de umacena obedecem a princípios físicos têm despertado grande interesse da comunidadepelo grau de realismo que podem obter. Esta área, também denominada ModelagemBaseada em Física (Physics Based Modeling), envolve conhecimentos, tanto demodelagem computacional quanto de computação gráfica.

Seguindo este princípio, métodos em Dinâmica de Fluidos Computacional(CFD - Computational Fluid Dynamics) vêm sendo empregados para gerar ani-mações envolvendo fluidos. Tais métodos são aplicados na solução numérica dasequações diferenciais que regem o comportamento do fluido. Essas equações des-crevem as leis de conservação da mecânica do contínuo (conservação de massa,de energia e da quantidade de movimento) e muitas vezes não apresentam soluçãoanalítica. Daí a necessidade de métodos numéricos para discretizar o problema eobter uma solução com um nível de aproximação aceitável.

O nível de precisão da solução deve variar de acordo com a aplicação. Asimulação computacional para fins de análise ou estudo de fenômenos físicosenvolvendo fluidos exige modelos físicos e numéricos complexos e alto grau deprecisão. No entanto, para fins de animação em aplicações de realidade virtual,filmes, jogos e simuladores, podem ser empregados modelos mais simples e ummenor grau de precisão, desde que isso não comprometa o realismo visual daanimação, visando simulações em tempo real.

Page 10: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 1. Introdução 10

Dentre os fenômenos físicos envolvendo fluidos, um dos que despertam maiorinteresse, tanto em engenharia quanto em animação, é o escoamento de fluidossobre terrenos. Na engenharia, a simulação desse fenômeno é interessante para oestudo do transporte de sedimentos, risco de inundações ou de fluxo de detritos, porexemplo. Em animação, há um interesse em representar, de maneira convincente,os efeitos gerados pelo escoamento, tais como a formação de rios, lagos e quedasd’água. A busca por métodos que executem essas tarefas de maneira satisfatóriatem motivado intensas pesquisas nesta área (Kipfer; Westermann, 2006) (Maes etal., 2006).

Este tipo de animação exige métodos de simulação com tratamento espacialadequado. Segundo Maes et al. (2006), abordagens tradicionais, baseadas em malha,não são espacialmente eficentes na simulação de escoamentos sobre terrenos. Umavez que terrenos podem ser altamente irregulares, a malha que discretiza o fluidopode gastar espaço de armazenamento para regiões do domínio que nunca contêmágua. Métodos alternativos, utilizando malhas adaptativas (Losasso et al., 2004),colunas d’água (Maes et al., 2006) ou partículas (Kipfer; Westermann, 2006), têmsido propostos com o intuito de amenizar ou eliminar tal problema.

Com relação ao modelo físico, boa parte dos métodos propostos para simula-ção de escoamento utiliza as equações de águas rasas (Kass; Miller, 1990; Hagen etal., 2005) para gerar um campo de altura que represente a superfície do fluido.

Em (Rodriguez-Paz; Bonet, 2005) é apresentado um método baseado empartículas para simulação de escoamentos sobre terrenos. Este método consisteem uma variação do método SPH (Smoothed Particle Hydrodynamics) para lidarcom as equações de águas rasas. Esta variação incorpora propriedades do terrenocomo gradiente e curvatura na formulação. Neste trabalho, nos referimos a estavariação específica do SPH como SW-SPH (Shallow Water - SPH). O SPH é ummétodo Lagrangeano bastante difundido na comunidade de computação gráfica,principalmente, após o trabalho de Muller et al. (Muller et al., 2003), que propôsuma abordagem para animação interativa de fluidos utilizando este método.

O SW-SPH foi proposto com o objetivo de representar com precisão fenô-menos de fluxo sobre terrenos não uniformes e com altos gradientes em aplicaçõesde engenharia. Uma vez que o SW-SPH foi desenvolvido visando a precisão dos re-sultados, sua utilização em aplicações gráficas interativas constitui um desafio sob oponto de vista computacional. Isso se deve ao fato de que algumas características dométodo o tornam mais custoso do que métodos menos precisos como o proposto porMuller et al. (2003). A principal delas é a utilização de núcleos de interpolação comsuporte variável (h variável). Por outro lado, é grande a demanda por realismo visualem Computação Gráfica. Sendo assim, a utilização de métodos precisos torna-se in-

Page 11: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 1. Introdução 11

teressante, principalmente em aplicações que não exigem interatividade como naprodução de efeitos visuais para a indústria do cinema.

1.2Objetivo

O objetivo deste trabalho é desenvolver um sistema capaz de produzir ani-mações interativas de águas rasas para jogos utilizando o método SPH. Para isso,combinaremos o modelo de animação interativa apresentado em (Muller et al.,2003) com as idéias propostas por Rodriguez-Paz e Bonet (2005) que incorporamo terreno na formulação do SPH. Com isso, espera-se obter uma abordagem ade-quada à animação de escoamentos sobre terrenos e também à animação de pequenosvolumes de fluido, como poças d’água.

1.3Organização da dissertação

O restante deste trabalho está organizado da seguinte maneira: No Capítulo2 apresentamos alguns trabalhos relacionados à simulação de fluidos. No Capítulo3, damos uma breve descrição dos fundamentos do método SPH e apresentamoscomo este método foi utilizado em (Muller et al., 2003) para animação de fluidosem aplicações interativas. Em seguida, no Capítulo 4, descrevemos a abordagemproposta para simulação de águas rasas com SPH e a implementação do sistema.Nos capítulos 5 e 6 são apresentados os resultados, conclusões e trabalhos futuros.

Page 12: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

2Trabalhos relacionados

Este capítulo introduz alguns trabalhos importantes na área de animação defluidos, destacando a simulação de escoamentos sobre terrenos e a utilização desistemas de partículas.

2.1Métodos para animação de fluidos

Os métodos para animação computacional de fluidos encontrados na literaturaadotam técnicas de discretização baseadas em formulações Eulerianas, bem comoem formulações Lagrangeanas. Nas formulações Eulerianas o domínio do problemaé discretizado por um conjunto de pontos fixos no espaço. As propriedades do fluidosão avaliadas a cada instante de tempo através do fluxo que passa por esses pontos.Por sua vez, nas formulações Lagrangeanas, o fluido é discretizado por um conjuntode partículas que acompanham o fluxo. A seguir, alguns dos trabalhos de maiorrelevância em animação de fluidos.

Foster e Metaxas (1997) apresentaram um modelo Euleriano para animaçãode gases turbulentos e aquecidos. Eles utilizaram um conjunto simplificado deequações para a modelagem do gás, que exigiu menos esforço computacional parasimulação do que a modelagem tradicional. Esta modelagem, mostrou-se adequadapara a representação dos efeitos desejados. A discretização das equações foi feitavia Diferenças Finitas. As fronteiras e os elementos que compõem a cena forammodelados via voxels. A visualização foi feita via Volume Rendering e partículasde prova no interior do fluido. Este método apresenta a desvantagem de ser nu-mericamente instável para grandes passos de tempo. Sendo assim, mesmo com amodelagem simplificada do gás, este método não é capaz de gerar animações emtempo real. Stam (1999) apresentou uma estratégia para solucionar o problema deinstabilidade numérica apresentado no trabalho de Foster e Metaxas (1997). Foramutilizados métodos Lagrangeanos e esquemas implícitos para solução numérica dasequações de Navier-Stokes, resultando em simulações mais estáveis mesmo compassos de tempo grandes, o que viabilizou a produção de animações em tempo real.

Witting (1999) apresentou um modelo para simulação de fluidos bem mais

Page 13: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 2. Trabalhos relacionados 13

completo. Ao contrário de Foster e Metaxas (1997) e Stam (1999), Witting mantéma modelagem do gás como um fluido compressível. Este método foi utilizado paragerar efeitos visuais no filme “ O Príncipe do Egito”.

Premoze e Ashikhmin (2000) apresentaram um método para geração desuperfícies de água sob diferentes condições de vento e iluminação. Tal métodoé adequado à visualização tanto de águas profundas quanto de águas rasas, uma vezque é capaz de reproduzir a opacidade e coloração específicas em cada caso, poismodela o transporte de luz na água.

Em (Carlson et al., 2004) é apresentado um método para animação da inte-ração entre sólidos e fluidos de superfície livre. Os objetos sólidos são modeladoscomo se fossem feitos de fluido. A rigidez de um objeto é reproduzida restringindo-se o campo de velocidade da região do fluido que representa determinado ob-jeto. Objetos de diferentes densidades podem ser modelados, tais como chumbo oumadeira. A influência entre os elementos do sistema se dá tanto no sentido fluido-sólido quanto no sentido sólido-fluido.

Kass e Miller (1990) propuseram um método para animação de fluidos noqual a superfície do fluido é representada por um campo de altura. A evolução dofluido é controlada por uma versão simplificada das equações de águas rasas. Talmétodo é adequado à simulação de grandes superfícies de água, como oceanos eescoamentos sobre terrenos.

Dentre os métodos Lagrangeanos baseados em partículas, destacam-se ométodo SPH (Smoothed Particle Hydrodynamics) e o MPS (Moving Particle Semi-

Implicit).O método SPH foi desenvolvido por Gingold e Monaghan (1977) e por Lucy

(1977) para simulação de problemas astrofísicos. Em (Desbrun; Gascuel, 1996), oSPH foi empregado pela primeira vez em computação gráfica, tendo sido utilizadopara animação de objetos deformáveis.

Em (Muller et al., 2003) o método SPH foi utilizado na simulação de flui-dos para aplicações interativas. A visualização do fluido foi feita por dois métodosdistintos para geração de superfícies: O Surface Splatting (Zwicker et al., 2001)e o Marching Cubes (Lorensen; Cline, 1987). O primeiro apresentou melhor per-formance. No entanto, este último apresentou resultados mais convincentes. Em(Muller et al., ), foi apresentada uma extensão do modelo proposto em (Muller etal., 2003), para animação da interação entre fluidos de diferentes tipos e fases, uti-lizando SPH.

(Nakamura, 2007) apresentou um estudo, sobre animação de fluidos via SPH.Com base nas técnicas descritas por (Muller et al., 2003) e (Muller et al., ),foram gerados diferentes efeitos com fluidos, tais como poças d’água, fluidos sob

Page 14: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 2. Trabalhos relacionados 14

confinamento e interação entre fluidos diferentes. Além disso, foram identificadosos gargalos do método e os recursos computacionais necessários para produção deanimações interativas utilizando tal abordagem.

O MPS foi apresentado inicialmente por (Koshizuka; Oka, 1996) e é umavariante do SPH. Dentre os trabalhos de animação de fluidos para computaçãográfica utilizando este método, destaca-se o de (Premoze et al., 2003). Nestetrabalho, não foram produzidas animações interativas. O cálculo da pressão viagradientes conjugados e a geração da superfície do fluido via Level Set pararenderização foram identificados como gargalos da aplicação. Por outro lado, assimulações produzidas possuem alta resolução (80 × 103 - 150 × 103 partículas) eo fluido apresentou um comportamento bastante convincente.

Sistemas de partículas foram introduzidos na computação gráfica por (Reeves,1983) como uma técnica para representação de objetos fuzzy tais como fogo,fumaça ou nuvens. Desde então, sistemas de partículas vêm sendo amplamenteutilizados em simulação de fluidos. Para representar o comportamento do fluidode maneira realista, além de modelos matemáticos adequados, é necessária umagrande quantidade de partículas. Para isso, são necessários sistemas de partículassofisticados, com algoritmos de detecção de interferência e colisão eficientes. Aseguir, são apresentados alguns trabalhos que propõem implementações eficientesde sistemas de partículas.

Em (Celes; Calomeni, 2003) são apresentados alguns métodos para simulaçãoe visulização de sistemas de partículas. Para aumento de desempenho, é propostauma estratégia para distribuição eficiente do processamento entre CPU e GPU. Noentanto, com o recente avanço do hardware gráfico, algumas implementações desistemas de partículas foram concebidas explorando totalmente as GPU’s. Devidoao alto grau de paralelismo nas GPU’s, observa-se um aumento de performanceconsiderável com relação às implementações tradicionais com simulação em CPU.Além disso, tal estratégia elimina a transferência de dados das partículas, em tempode execução, entre CPU (para simulação) e GPU (para renderização).

Latta (2004) apresentou uma implementação totalmente em GPU de um sis-tema de partículas capaz de simular um milhão de partículas em tempo real. Kolb etal. (2004) apresentaram uma extensão deste trabalho, incluindo detecção de colisãode partículas com objetos de formas arbitrárias e um algoritmo de ordenação daspartículas em GPU para renderização correta com alpha blending (Shreiner, 2004).Para detecção de colisão, foram utilizados mapas de profundidade, armazenados emtexturas de 8 bits, contendo a forma externa do objeto e seus vetores normais. Paraordenar as partículas, foi utilizada uma textura adicional armazenando a distânciadas partículas para o observador, e o algoritmo de ordenação “ odd-even merge sort”

Page 15: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 2. Trabalhos relacionados 15

proposto em (Batcher, 1968) é utilizado para ordenar as partículas em função dessadistância.

Kipfer et al. (2004) apresentaram outra implementação inteiramente em GPU,para animação e renderização, em tempo real, de grandes conjuntos de partículas.Kipfer utilizou, nessa implementação, Memory Objects OpenGL como render

targets e para armazenar dados de geometria na placa gráfica. Assim como em(Kolb et al., 2004), Kipfer et al. também inclui uma ordenação das partículasem GPU para renderização correta com alpha blending, e adicionalmente trataintercolisões (colisões entre as partículas do sistema), o que também requer umaordenação. A ordenação, em ambos os casos, foi realizada por uma variação doalgoritmo “ Bitonic sort”, proposto em (Purcell et al., 2003), alterando-se apenas achave de ordenação em cada caso. No caso de detecção de intercolisões, a chave deordenação utilizada é o índice da célula associado a cada partícula, já para o casoda renderização com transparência através de alpha blending, a chave de ordenaçãoé a distância da partícula para o observador.

Mais recentemente, Venetillo e Celes (2007) apresentaram um sistema departículas baseado em GPU que lida com intercolisões e é capaz de simular ummilhão de partículas a taxas interativas. Esse desempenho é obtido nas placasgráficas mais recentes (GeForce 8 Series em diante) e além de intercolisões osistema trata a colisão contra objetos em cena e simulação de materiais granulares.

Vale destacar que, recentemente, diversos trabalhos vêm explorando recur-sos de GPUs para aceleração da simulação numérica na animação de fluidos. Oresultado da exploração de GPUs para este tipo de processamento é, geralmente,um aumento considerável de performance na simulação frente às implementaçõesem CPU. Sendo assim, apesar de não empregarmos este recurso, citamos a seguiralguns trabalhos nesta linha pelos benefícios que podem ser obtidos.

Em (Harris, 2004), é detalhada uma versão para GPU do método baseado emgrid “ Stable Fluids” proposto em (Stam, 1999).

Amada et al. (2004) propuseram uma implementação do método SPH emGPU. No entanto, a detecção da vizinhança de cada partícula, necessária ao cálculodas grandezas em questão, é executada em CPU. Um mapa com as informações devizinhança é montado e transferido para GPU em uma textura a cada iteração. Amontagem e a transferência do mapa de vizinhança para GPU foram identificadascomo o gargalo da aplicação, mas ainda assim foi obtido um ganho de desempenhocom relação à implementação em CPU apresentada para fins de comparação.

Kolb e Cuntz (2005) e, mais recentemente, Harada et al. (2007) propuseramimplementações do SPH completamente em GPU, eliminando assim, a transferên-cia de dados entre CPU e GPU.

Page 16: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 2. Trabalhos relacionados 16

Karsten e Trier (2004) apresentaram um versão em GPU do método propostoem (Kass; Miller, 1990).

Kipfer e Westermann (2006) utilizaram SPH em uma simulação, baseada emGPU, de rios e escoamentos em terrenos para aplicações interativas em computaçãográfica. Para determinar as partículas vizinhas e detectar colisão, foi proposta umaestrutura baseada em três listas encadeadas. Além disso, foi apresentado um métodopara extração e visualização da superfície livre do fluido, que utiliza um campo dealtura sobre as partículas. Tal método mostrou-se mais eficiente que os métodosMarching Cubes e Surface Splatting para aplicações que demandam tempo real.

Maes et al. (2006) propuseram uma outra abordagem baseada em GPU parasimulação de escoamentos em terrenos para aplicações interativas. A proposta foiuma otimização do método baseado em colunas de água e variação de pressãohidrostática apresentado por Holmberg e Wunsche (2004). Além disso, um sistemade partículas foi utilizado nesse modelo, para adicionar mais detalhes à superfíciedo fluido.

Page 17: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

3Animação de fluidos com SPH

O SPH (Smoothed Particle Hydrodynamics) é um método Lagrangeanobaseado em partículas, proposto originalmente para simulação de problemas as-trofísicos por Gingold e Monaghan (1977) e por Lucy (1977). No entanto, o métodoé geral o bastante para ser aplicado em vários tipos de problemas em mecânica, tantode fluidos quanto de sólidos. A independência de malhas que o método SPH pro-porciona o tornou atraente para simulações envolvendo fluidos. Este método per-mite evitar custos adicionais com a geração/adaptação da malha que discretiza odomínio do fluido quando a fronteira deste é modificada. Além disso, o métodoapresenta uma formulação simples. Estas características o colocam como uma al-ternativa interessante para aplicações que demandam taxas interativas como jogos esimuladores.

A formulação do SPH se baseia no método de representação integral defunções e posterior aproximação por partículas. Detalhes à respeito da formulaçãoe fundamentos do método SPH são apresentados em (Liu; Liu, 2003), (Nakamura,2007) e (Giraldi et al., 2005).

Neste capítulo, descrevemos a metodologia introduzida por Muller et al.(Muller et al., 2003) que utilizou SPH para animação interativa de fluidos emcomputação gráfica. Na Seção 3.1, o comportamento do fluido é modelado porum sistema de equações diferenciais parciais (equações de Navier-Stokes) sujeitoa certas condições iniciais e de contorno. Em seguida (Seção 3.2), o métodoSPH é aplicado na discretização dessas equações para simulação computacionaldo movimento do fluido. O resultado é uma representação através de um sistemade partículas que se movem sob a influência de forças decorrentes da gravidade,pressão e viscosidade.

3.1Navier-Stokes em animação de fluidos

O fluido descrito no trabalho de (Muller et al., 2003) corresponde a um fluidoincompressível e isotérmico. Em um fluido isotérmico a conservação de energia égarantida e portanto não precisa ser modelada. Sendo assim, a evolução do fluido

Page 18: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 3. Animação de fluidos com SPH 18

no tempo é dada por duas equações. A primeira delas (Equação (3-1)) é conhecidacomo equação de continuidade e assegura a conservação de massa.

∂ρ

∂t+ ~∇ · (ρ~v) = 0, (3-1)

A Equação de Navier-Stokes é a equação de conservação do momento, ou equaçãode movimento, a qual, para este trabalho, será escrita na forma simplificada abaixo:

ρ

(∂~v

∂t+ ~v · ~∇~v

)= −~∇p + ρ~g + µ∇2~v, (3-2)

onde ~g é um campo de força externo, µ a viscosidade do fluido e ∇2 representa oLaplaciano do campo de velocidade ~v.

A utilização de um sistema de partículas em vez de uma malha estacionáriapara resolver numericamente estas equações simplifica o problema. Primeiramente,mantendo o número de partículas constante durante a simulação e supondo todasas partículas com massa constante, temos como conseqüência a conservação damassa e portanto a equação (3-1) pode ser omitida. Além disto, vamos substituir aexpressão ∂~v

∂t+~v · ~∇~v pela derivada material d~v

dt, uma vez que as partículas movem-se

junto com o fluido.Existem três forças no lado direito da Equação (3-2): modelando a pressão

(−~∇p), as forças externas (ρ~g) e a viscosidade (µ∇2~v). A soma dessas forçasdetermina a alteração do momento ρd~v

dtdas partículas. Como aceleração da partícula

i, temos:ai =

d~vi

dt=

~fi

ρi

, (3-3)

onde ~vi é a velocidade da partícula i e ~fi representa a força (na verdade, força porunidade de volume) resultante sobre esta partícula. Na seção seguinte será descritoo método SPH e como ele foi aplicado para obtenção da versão discreta da equação(3-2).

3.2Navier-Stokes e SPH

Os fundamentos do método SPH estão na teoria de interpolação. Com o SPH,valores de campos, que são definidos apenas nas posições (discretas) das partículas,podem ser avaliados em qualquer posição no espaço via interpolação. Para estepropósito, o SPH distribui as grandezas em uma vizinhança local a cada partículaatravés do uso de uma função W , chamada de núcleo de suavização (smoothing

kernel). De acordo com o método SPH, uma grandeza (escalar ou vetorial) A éinterpolada na posição ~r por uma soma ponderada das contribuições de todas aspartículas em sua vizinhança. Essa interpolação é dada por:

Page 19: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 3. Animação de fluidos com SPH 19

A(~r) =∑

j

mjAj

ρj

W (~r − ~rj, h), (3-4)

onde j itera sobre todas as partículas, mj é a massa de cada partícula j, ~rj é aposição, ρj a massa específica e Aj o valor da grandeza na posição ~rj .

A função W (~r, h) é o núcleo de suavização e deve ser normalizada:∫

W (~r, h)d~r = 1, (3-5)

onde a constante h é usada para definir o domínio do suporte do núcleo desuavização.

A massa e a massa específica da partícula aparecem na Equação (3-4) umavez que cada partícula i representa um determinado volume Vi = mi/ρi . Enquantoa massa mi é constante para toda a simulação e, nesse caso específico, a mesma paratodas as partículas, a massa específica ρi varia e deve ser calculada a cada instante detempo. Particularizando a Equação (3-4) para o caso da massa específica obtemos:

ρS(~r) =∑

j

mjρj

ρj

W (~r − ~rj, h) =∑

j

mjW (~r − ~rj, h). (3-6)

Nas equações de fluidos apresentadas na Seção 3.1, aparecem derivadas dasgrandezas envolvidas. No método SPH, pode-se demonstrar que tais derivadas sãocalculadas a partir de derivadas do núcleo de suavização ((Liu; Liu, 2003)). Emparticular, o gradiente de A é simplesmente:

~∇AS(~r) =∑

j

mjAj

ρj

~∇W (~r − ~rj, h). (3-7)

Enquanto o Laplaciano de A é dado por:

∇2AS(~r) =∑

j

mjAj

ρj

∇2W (~r − ~rj, h). (3-8)

É importante perceber que o método SPH apresenta alguns problemas.Quando é utilizado nas equações de fluidos, por exemplo, não é garantido que estasequações satisfaçam certos princípios físicos como simetria de forças e conservaçãodo momento. A seguir apresentamos como o método SPH foi aplicado na discretiza-ção da equação de Navier-Stokes.

A aplicação da Equação (3-4) sobre o termo da pressão (−~∇p) leva a:

~fpressi = −~∇p(~ri) = −

∑j

mjpj

ρj

~∇W (~ri − ~rj, h). (3-9)

Entretanto, esta força não é simétrica, como pode ser visto quando apenasduas partículas interagem. Neste caso, uma vez que o núcleo de suavização temgradiente nulo no centro e a partícula i usa apenas a pressão na posição dapartícula j para computar a força de pressão, e vice-versa, as forças de pressão

Page 20: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 3. Animação de fluidos com SPH 20

não serão simétricas caso a pressão seja diferente nas posições das partículas. Parasimetrização da Equação (3-9) será adotada neste trabalho a solução proposta emMuller et al. (2003).

~fpressi = −

∑j

mjpi + pj

2ρj

~∇W (~ri − ~rj, h). (3-10)

Esta forma é simétrica, já que usa uma média aritmética das pressões daspartículas que estão interagindo.

Uma vez que as partículas apenas carregam três grandezas: massa, posição evelocidade; a pressão nas posições das partículas deve ser avaliada primeiro. Isto éfeito em duas etapas. A Equação (3-6) calcula a massa específica da partícula naposição r. Então, a pressão pode ser calculada por uma equação de estado do tipogás ideal, dada por:

p = k(ρ− ρ0), (3-11)

onde k é um parâmetro (dependente da temperatura no gás ideal) e ρ0 a massaespecífica inicial.

A aplicação da regra descrita na Equação (3-4) sobre o termo de viscosidade(µ∇2~v) leva a:

~f visci = µ∇2~v(~r) = µ

∑j

mj~vj

ρj

∇2W (~ri − ~rj, h). (3-12)

Mais uma vez, foram produzidas forças assimétricas. Como a força de vis-cosidade depende apenas das diferenças de velocidade e não da velocidade abso-luta, existe uma maneira natural de simetrizar as forças de viscosidade usando asdiferenças de velocidades:

~f visci = µ

∑j

mj~vj − ~vi

ρj

∇2W (~ri − ~rj, h). (3-13)

A força gravitacional na posição da partícula j é dada por:

~f gravj = ρj~gj, (3-14)

a massa específica ρj é dada pela expressão (3-6).Além da força gravitacional, presente na equação (3-2), a colisão do fluido

com a fronteira do domínio e forças inseridas através da interação com o usuáriopodem ser modeladas. Em (Muller et al., 2003) e (Silva Neto et al., 2005), a colisãoé modelada de forma simples: Quando uma partícula colide com a parede de umobjeto sólido, a componente da velocidade, normal à superfície rígida, é refletidapara o interior do fluido.

As forças de superfície não estão presentes na Equação (3-2), entretanto,foram modeladas em (Muller et al., 2003) explicitamente baseadas nas idéias de

Page 21: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 3. Animação de fluidos com SPH 21

Morris (Morris, 2000). As moléculas de um fluido estão sujeitas às forças atrativasde suas moléculas vizinhas. Dentro do fluido, essas forças intermoleculares sãoiguais em todas as direções e, portanto, balanceadas. Ao contrário, as forças queatuam sobre as moléculas da superfície livre (fronteira entre o fluido e o meioexterno) não são balanceadas. As forças de tensão de superfície livre atuam nadireção normal à superfície do fluido. A superfície do fluido pode ser obtida usando-se um campo adicional que assume valor unitário nas posições das partículas e zeroem qualquer outra parte. Este campo é denominado “ campo de cor” na literatura esua versão suavizada é dada pela expressão:

cS(~r) =∑

j

mj1

ρj

W (~r − ~rj, h). (3-15)

A normal ~n e curvatura κ da superfície livre podem ser obtidas por:

~n = ~∇cS, κ =−∇2cS

|~n| . (3-16)

Finalmente, as forças na superfície livre são modeladas por:

~tsup = σκ~n

|~n| , (3-17)

onde σ é um parâmetro que controla a influência desta força. O objetivo final éreproduzir o efeito de minimização da curvatura observado para este tipo de força.De fato, se considerarmos uma superfície inicial S, que se movimenta de acordocom uma equação do tipo:

∂S

∂t= σκ

~n

|~n| , (3-18)

observamos, exatamente, uma evolução que suaviza pontos onde a curvatura é maiselevada (Sethian, 1996).

Os núcleos de suavização para o caso 3D são dados pelas seguintes ex-pressões:

Wcor(~r, h) =315

64πh9

(h2 − r2)3, 0 ≤ r ≤ h,

0, cc.(3-19)

Wpress(~r, h) =15

πh6

(h− r)3, 0 ≤ r ≤ h,

0, cc.(3-20)

Wvisc(~r, h) =15

2πh3

− r3

2h3 + r2

h2 + h2r− 1, 0 ≤ r ≤ h,

0, cc.(3-21)

A Equação 3-21 foi escolhida por possuir Laplaciano positivo em todo domínio.

Page 22: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 3. Animação de fluidos com SPH 22

Esse Laplaciano é dado pela seguinte expressão:

∇2Wvisc(~r, h) =

45πh6 (h− r), 0 ≤ r ≤ h,

0, cc.(3-22)

3.3Simulação

As equações de Navier-Stokes dadas pela Expressão (3-2) são discretizadas,substituindo-se cada termo do segundo membro pela sua versão obtida via núcleode suavização; ou seja, pelas Expressões (3-10), (3-13) e (3-14), com a massaespecífica ρ dada pela equação (3-6), e usando-se no primeiro membro a derivadamaterial d~v

dt. Desta forma, obtém-se o seguinte esquema numérico:

d~vi

dt= ~Qt

i, (3-23)

onde

~Qti =

(1

ρtj

)[−

∑j

mj

ptj + pt

i

2ρtj

~∇Wpress(~rti − ~rt

j, h)+ρtj~gj+µ

∑j

mj

(~vt

j − ~vti

ρtj

)∇2Wvisc(~r

ti−~rt

j, h)

]

(3-24)e, usando-se as equações (3-6)-(3-11), reproduzidas abaixo:

ρtj =

k

mkW (~rtj − ~rt

k), (3-25)

ptj = k(ρt

j − ρ0j). (3-26)

Uma vez resolvida a Equação (3-23), o campo de acelerações(

d~vi

dt

)obtido é

finalmente utilizado para atualizar a velocidade e posição das partículas, de acordocom o seguinte esquema:

~vt+∆ti = ~vt

i +δt

2~Qt

i, (3-27)

~rt+∆ti = ~rt

i + δt~vt+∆ti . (3-28)

Este esquema, denominado Leap-Frog, é um método iterativo de segunda ordem.Em (Muller et al., 2003), usou-se um intervalo de tempo constante de δt = 10−2

segundos.

Page 23: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

4Abordagem proposta

A abordagem proposta consiste na combinação do modelo de animaçãointerativa de fluidos baseado em SPH apresentado por Muller et al. (2003), como modelo para simulação de águas rasas, também baseado em SPH, apresentadoem Rodriguez-Paz e Bonet (2005) para simulações em engenharia. A idéia éincorporar características do terreno à formulação descrita em (Muller et al., 2003),reproduzida no Capítulo 3, para produzir animações de fluidos sobre terrenos emtempo real. A seguir descrevemos como esses dois modelos baseados em SPH foramcombinados.

Na Seção 4.1, é definido o domínio de simulação com base no modelo deáguas rasas. Na Seção 4.2, descrevemos como os dois modelos foram combinadose na Seção 4.3 são descritas as funções de suavização utilizadas na simulação.

4.1Domínio do problema

Na hipótese de águas rasas apresentada em (Rodriguez-Paz; Bonet, 2005)o domínio do problema é constituído pela superfície de um terreno e pelo fluidosobre essa superfície. A solução é baseada em uma projeção 2D deste domínio. Asuperfície do terreno é representada por uma função do tipo H(x, y) que fornece aaltura da superfície em cada ponto. O fluido é discretizado através de um sistema departículas e projetado sobre um plano. Cada partícula no plano projetado representauma coluna de fluido com altura ht e massa constante m sobre a superfície doterreno. Essas partículas se movem de acordo com a topografia do terreno, semprena direção tangente à superfície (Fig. (4.1)).

A componente z da posição da base de cada coluna de água (Fig.4.1) é dadapor

z = H(x, y). (4-1)

Derivando no tempo, a componente vertical da velocidade pode ser calculada daseguinte maneira:

vz = ∇H · ~v, (4-2)

Page 24: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 4. Abordagem proposta 24

Figura 4.1: Domínio de simulação de águas rasas.

onde ∇H é o gradiente do terreno na posição ocupada pela coluna e ~v = (vx, vy) éo vetor velocidade contendo as componentes x e y da velocidade da coluna. Sendoassim, as incógnitas do problema são as coordenadas x e y das partículas a cadainstante de tempo e a altura da coluna de água ht.

As alturas das colunas de água relacionam-se com a massa específica proje-tada do fluido ρ, que é a quantidade de massa por unidade de área. Dado que o fluidoem movimento será assumido incompressível, essa relação é definida pela equação

ρ = htρw, (4-3)

onde ρw é a massa específica por unidade de volume do fluido.

4.2Combinação dos modelos

Nesta seção descrevemos como os modelos foram combinados considerandoas particularidades no cálculo da massa específica e das forças que influenciam omovimento do fluido.

4.2.1Avaliação da massa específica

Conforme dito anteriormente, o fluido acompanha a superfície do terrenoe sua massa específica projetada 2D se expande ou contrai de acordo com aaltura da coluna segundo a equação (4-3). Para manter a precisão da solução,em (Rodriguez-Paz; Bonet, 2005) foi utilizado raio de interpolação (h) variável.Isto leva à necessidade de utilização de um método iterativo para resolver umanão linearidade que surge da solução com h variável, o que aumenta o custo dasimulação. A utilização de um h variável também aumenta a complexidade nadeterminação de quais partículas estão dentro do raio de interpolação. Como nonosso caso estamos interessados em animação e podemos abrir mão de precisão,desde que isso não comprometa o realismo visual, utilizaremos, na abordagem

Page 25: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 4. Abordagem proposta 25

proposta, a avaliação da massa específica com h fixo, conforme na equação 3-6apresentada por (Muller et al., 2003).

4.2.2Equações governantes

A partir do domínio descrito na Seção 4.1, são derivadas as equações go-vernantes no modelo para simulação de águas rasas proposto em (Rodriguez-Paz;Bonet, 2005). Com tais equações, obtém-se uma expressão para aceleração de umapartícula de fluido que considera as propriedades do terreno. Tal expressão é dadapor:

~ai = −~g + ~vi · ki~vi − ~ti · ~∇Hi

1 + ~∇Hi · ∇Hi

~∇ ~Hi − ~ti (4-4)

onde ~ti = ~Ti/mi (Força interna sobre massa), ki é a curvatura do terreno na posiçãoda partícula i e ~∇Hi o gradiente.

Para definição do modelo proposto nesta dissertação, anulamos o termo ti,correspondente à força interna na Equação (4-4), obtendo-se a seguinte expressão:

~Fext = − ~g + ~vi · ki~vi

1 + ~∇Hi · ~∇Hi

~∇Hi (4-5)

Isso é feito porque nesta dissertação as forças internas serão calculadas se-gundo (Muller et al., 2003). A Equação (4-5) é utilizada para substituir a forçaexterna no modelo de Muller et al. que considera apenas a gravidade. Assim, temosuma expressão para aceleração que combina força externa decorrente da gravidadee propriedades do terreno, com forças internas de um modelo de simulação simplifi-cado e menos custoso, que apresenta bons resultados para animação. Essa expressãoé dada a seguir:

ρ

(d~v

dt

)= −~∇p + ρ~Fext + µ∇2~v, (4-6)

onde p é a pressão e µ a viscosidade do fluido.Procedemos a discretização seguindo o esquema da Seção 3.3. No entanto,

no modelo de águas rasas a pressão é dada pela pressão hidrostática considerando aaltura da coluna de água que cada partícula representa sobre o terreno. Deste modo,substituímos a Equação (3-11) para o cálculo da pressão, pela expressão a seguir:

p =1

2~gρwh2

t (4-7)

onde g é a aceleração da gravidade, ρw a massa específica por unidade de volume eht a altura da coluna de água.

Page 26: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 4. Abordagem proposta 26

4.3Funções de suavização

As funções de suavização estão diretamente ligadas à performance e estabili-dade do método SPH e devem satisfazer certas propriedades para serem aplicadasem problemas hidrodinâmicos (Liu; Liu, 2003).

1. Uma das propriedades das funções de suavização é que elas devem sernormalizadas dentro do domínio de suporte; ou seja:

∫W (~x− ~x′, h)d~x′ = 1, (4-8)

A integral deve ser unitária dentro do domínio de suporte para garantir quea interpolação seja correta. Como a simulação ocorre em uma projeção 2Ddo domínio, as funções de suavização utilizadas precisam ser normalizadasneste espaço. Neste trabalho, obtivemos versões 2D (Equações (4-11), (4-12)e (4-13)) das funções de suavização propostas por Muller et al. (2003).

2. As funções de suavização devem possuir um domínio de suporte compacto;ou seja:

W (~x− ~x′) = 0, para|~x− ~x′| > κh, (4-9)

onde κ é uma constante e h o raio de interpolação. Estes fatores definem odomínio de suporte da função de suavização.

3. O valor da função de suavização W (~x− ~x′) deve ser maior ou igual a 0 paraqualquer ponto ~x′ dentro do domínio de suporte de ~x.

4. O valor da função de suavização W (~x − ~x′) deve decrescer com o aumentoda distância entre ~x e ~x′.

5. A função de suavização deve satisfazer a condição de uma função do tipodelta de Dirac a medida que o raio de interpolação h se aproximar de 0, ouseja:

limh→0

W (~x− ~x′, h) = δ(~x− ~x′) (4-10)

6. A função de suavização deve ser uma função par (condição de simetria).Partículas à mesma distância do ponto ~x devem contribuir da mesma formaindependente da posição.

7. A função de suavização deve ser suficientemente suave. Para garantir uma boaaproximação a função de suavização e suas derivadas devem ser contínuas.

Page 27: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 4. Abordagem proposta 27

As Equações (4-11), (4-12) e (4-13) representam as funções de suavização 2Dpara massa específica, força de pressão e força de viscosidade respectivamente.

Wcor(r, h) =4

πh8

(h2 − r2)3, 0 ≤ r ≤ h,

0, cc.(4-11)

Wpress(r, h) =10

πh5

(h− r)3, 0 ≤ r ≤ h,

0, cc.(4-12)

Wvisc(r, h) =5

3πh2

− r3

2h3 + r2

h2 + h2r− 1, 0 ≤ r ≤ h,

0, cc.(4-13)

4.4Implementação

Na implementação do SPH (Muller et al., 2003; Silva Neto et al., 2005), énecessária uma identificação das partículas dentro de uma vizinhança definida pelosuporte h da função de suavização. Uma abordagem muito comum para tratar esteproblema é a subdivisão do espaço em um grid regular cujo tamanho das células édefinido por h. Cada célula possui uma lista com as partículas localizadas naquelaregião do espaço. Dessa forma, dada uma partícula i, a busca pelas partículas navizinhança definida por h é feita apenas na célula onde a partícula i se encontra eem suas células vizinhas. Essa estratégia, reduz o custo computacional de O(n2),para O(nm), onde n é o número total de partículas e m é o número médio departículas nas células vizinhas. Outra vantagem na utilização dessa estrutura é queela pode ser empregada na redução do número de verificações de colisão de umapartícula com a geometria que delimita as fronteiras do fluido e com outros objetosna cena. Isto é feito através da identificação das células que são cortadas por algumtipo de fronteira.

Em posse das vizinhas da partícula i, calcula-se sua massa específica ρ, alturada coluna de água ht e pressão p através das equações (3-6), (4-3) e (4-7). Emseguida, calcula-se as forças decorrentes da pressão e viscosidade, conforme asequações (3-10) e (3-13). Essas forças constituem as forças internas utilizadasna nossa abordagem. Em seguida, é feita a integração no tempo. Cada partículamanterá informações sobre seu estado atual (instante t) e seu próximo estado(instante t + δt) até que todas as partículas do domínio tenham sido integradasno tempo. Após terminada esta etapa, inicia-se uma nova iteração sobre o sistema

Page 28: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 4. Abordagem proposta 28

de partículas. Nessa iteração, o estado da partícula, calculado na iteração anterioré avaliado. Com base nesse estado, as partículas são reorganizadas pelas células dasubdivisão em função de suas posições.

Se a nova célula onde a partícula deve ser inserida for uma célula de fronteira,um módulo de detecção e tratamento de colisão é executado. O esquema na Figura4.2, a seguir, exemplifica o algoritmo.

Figura 4.2: Visão geral do processo.

4.4.1Visualização

Uma estratégia simples foi adotada para visualização neste trabalho. Umamalha virtual fixa é estabelecida no domínio do problema. À medida que aspartículas de fluido evoluem sobre o terreno, calculamos a altura que os vérticesda malha devem assumir para representar a superfície do fluido. Com SPH, valoresdefinidos apenas nas posições das partículas podem ser avaliados em qualquerposição do espaço via interpolação. Sendo assim, para estabelecer a altura dosvértices da malha, procedemos aplicando SPH na posição de cada vértice. Umabusca por partículas vizinhas ao vértice é efetuada e a Equação (3-6) (Seção 3.2) éaplicada para calcular a massa específica naquele ponto. Com a relação entre massaespecífica e altura da coluna de fluido, estabelecida pela Equação 4-3 (Seção 4.1),obtém-se a altura do fluido na posição do vértice.

Page 29: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

5Resultados e discussão

O resultado da abordagem proposta é um sistema de partículas que se moveno plano de projeção sob a influência de forças decorrentes da gravidade, topologiado terreno, pressão e viscosidade. Os resultados são visualizados sobre a superfíciedo terreno com a altura da coluna d’água variando em função da massa específica(ρ) no plano de projeção. Foram realizados alguns experimentos para avaliaçãodo comportamento do fluido sob influência do terreno. As figuras (5.7), (5.8)e (5.9) ilustram alguns desses experimentos. Para validação do modelo, foramreproduzidos dois experimentos de (Rodriguez-Paz; Bonet, 2005)(Seções5.1 e 5.2).Os resultados são discutidos a seguir.

5.1Rompimento de barragem em canal retangular

Neste experimento, confinamos o fluido em um canal retangular. A geometriainicial do fluido é 2m × 1m × 0.5m. A profundidade do canal é constante e não háatrito. Foram utilizadas 3K partículas nesta simulação.

Figura 5.1: Dimensões do problema (Visão Superior).

No instante t = 0.0s, a barragem é removida e o fluido evolui. O gráfico naFigura (5.2) exibe a variação da altura do fluido na posição x = 2. De acordo com asolução analítica, a profundidade da água deve permanecer constante e igual a 4/9

da altura ht inicial, até o momento em que a onda que atravessa o fluido no sentidocontrário ao fluxo atinge a fronteira no ponto x=0.

Os resultados obtidos em (Rodriguez-Paz; Bonet, 2005) são mais próximos dasolução analítica, como pode ser observado na Figura (5.3). Essa diferença pode seratribuída à utilização de raio de interpolação fixo. Considerando que a análise foi

Page 30: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 5. Resultados e discussão 30

Figura 5.2: Variação da altura ht em x = 2m para o caso de rompimento de barragem.Dimensões do fluido: 2 × 1 × 0.5 m, Raio do Kernel: 0.1

feita em uma região de fronteira e sobre um atributo dependente da massa específica,esse resultado pode ser considerado satisfatório. A diferença ao longo do tempo nointervalo analisado, foi de 4% em média. É válido lembrar que em (Rodriguez-Paz;Bonet, 2005) o foco são as aplicações de engenharia, portanto a precisão é um fatordeterminante. Já o nosso método é uma adaptação com propósitos de animação emjogos. As Figuras (5.4) e (5.5) ilustram os resultados obtidos com a abordagemproposta aqui.

Figura 5.3: Comparação entre o resultado de (Rodriguez-Paz; Bonet, 2005) e asolução analítica para altura do fluido em x = 2m. (Figura extraída de (Rodriguez-Paz; Bonet, 2005))

Page 31: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 5. Resultados e discussão 31

Figura 5.4: Quebra de barragem vertical. Dimensões do fluido: 2 x 1 x 0.5 m. Acoloração varia de acordo com a altura do fluido durante sua evolução.

5.2Barragem cilíndrica

Neste exemplo, avaliamos visualmente o experimento de quebra de barragemcilíndrica. Uma coluna cilíndrica de água, com 5 metros de diâmetro e 0.5 metrode altura, é disposta sobre um terreno plano. Casos como este, onde as fronteirasdo fluido se expandem por grandes dimensões, são de difícil simulação com raio deinterpolação fixo. Isto porque as partículas, principalmente na região de fronteira,passam a ter menor quantidade de vizinhas provocando problemas de precisãona interpolação via SPH. Apesar deste inconveniente, o resultado visual com aestratégia proposta foi satisfatório. A fronteira do fluido evolui mantendo sua formacircular inicial conforme mostra a Figura (5.6).

5.3Influência do terreno

Para avaliação da influência do terreno no movimento do fluido, simulamossua evolução sobre superfícies com gradiente e curvatura controladas. O resultadofoi coerente nas situações testadas. As Figuras (5.7), (5.8) e (5.9) ilustram algunsresultados.

Page 32: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 5. Resultados e discussão 32

Figura 5.5: Quebra de barragem vertical. 3 instantes de uma simulação com 1500partículas a 15Fps.

Figura 5.6: Vista superior de um rompimento de barragem cilíndrica com 600partículas.

5.3.1Superfície ondulada

Neste experimento, utilizamos uma superfície ondulada para simular o escoa-mento do fluido. Dispomos uma lâmina d’água de dimensões 3.5 x 3.5 x 0.1m sobreum dos vales da superfície ondulada. Foram utilizadas 2000 partículas nesta simu-lação. As partículas se mantém confinadas e ocupam todo o vale conforme ilustra aFigura (5.7).

5.3.2Superfície plana

Neste caso, dispomos uma lâmina d’água de dimensões 2 x 2 x 0.1 sobreuma superfície plana. O fluido se espalha e seu volume ocupa toda a superfície.Confinado pelos limites da superfície, o fluido varia a altura que oscila formandoum efeito visual interessante (Figura (5.8)). Foram utilizadas 1000 partículas paraesta simulação e alcançou-se uma taxa de 30 Fps.

Page 33: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 5. Resultados e discussão 33

Figura 5.7: Fluido confinado em uma calha (2000 partículas - 13Fps). A cor daspartículas de fluido varia em função da altura da coluna de água.

Na Figura 5.9, é ilustrado o resultado do algoritmo de visualização descritona Seção 4.4.1. A simulação foi efetuada com 2000 partículas. Uma malha virtualfixa é disposta por todo o domínio de simulação. A altura dos vértices dessa malha éobtida via SPH para representação da superfície do fluido à medida que as partículasevoluem.

Page 34: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 5. Resultados e discussão 34

Figura 5.8: Avaliação do comportamento do fluido em terreno plano. (1000 partícu-las - 30Fps)

Figura 5.9: Visualização da superfície do fluido. Simulação com 2K partículas.

Page 35: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

6Conclusões e trabalhos futuros

O objetivo deste trabalho foi desenvolver um sistema capaz de produziranimações interativas de águas rasas para jogos utilizando o método SPH. Para isso,desenvolvemos uma abordagem combinando os modelos de simulação propostosem (Muller et al., 2003) e (Rodriguez-Paz; Bonet, 2005). Mais especificamente,extraímos de (Rodriguez-Paz; Bonet, 2005) os termos necessários para consideraro terreno na simulação e utilizamos os termos de força interna da formulação de(Muller et al., 2003). Dessa forma, foi produzida uma abordagem simples e eficientepara a simulação de águas rasas em jogos sob a influência de terrenos acidentados.

Os experimentos realizados mostram que a metodologia proposta é capaz desimular o escoamento do fluido sobre o terreno com realismo visual satisfatório.Apesar da imprecisão do modelo quando comparado com modelos que utilizam h

variável, o comportamento do fluido no experimento ” Rompimento de barragemem canal retangular” foi próximo ao comportamento apresentado em (Rodriguez-Paz; Bonet, 2005). As diferenças apresentadas podem ser atribuídas à ausência deum tratamento de fronteira adequado, tanto nas laterais quanto na parte posterior docanal. Além disso, na análise da altura do fluido na posição onde se dá o rompimentoda barragem, o método apresenta um erro de apenas 4% quando comparado àsolução analítica.

A principal vantagem da abordagem proposta é que, por basear-se em ummodelo de águas rasas, obtém-se uma representação 3D do fluido através de umasimulação 2D. Isso contribui para a diminuição do custo da simulação, diminuindoos requisitos computacionais necessários à produção de uma aplicação interativa.

Essa abordagem também pode ser aplicada na eliminação de testes de colisãodo fluido contra objetos em cena. Por exemplo, se há uma poça d’água no chãoe alguém pisa nessa água, o movimento da água sob a influência dessa pisadapode ser representado alterando-se as propriedades do terreno nessa região. Umponto negativo é que essa abordagem não gera respingos. No entanto, ela pode serestendida com a inserção de um sistema de partículas adicional sobre a superfícielivre do fluido para representar esse tipo de efeito (Maes et al., 2006).

Com relação a trabalhos futuros, podemos citar a investigação de outras estru-

Page 36: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Capítulo 6. Conclusões e trabalhos futuros 36

turas para subdivisão espacial do domínio que promovam aumento de performance.Com o uso de h fixo, como proposto, é fácil mapear a simulação para a GPU, eassim ter um sistema muito eficiente, e que permita a utilização de maior quanti-dade de partículas na representação do fluido. Além da exploração de recursos deGPU para simulação e de novas estruturas espaciais, podemos citar a implemen-tação de técnicas de visualização de águas rasas (Premoze; Ashikhmin, 2000), aimplementação da interação entre ar e água para simulação dos efeitos do ventosobre a superfície do fluido e a utilização de sistemas de partículas adicionais paragerar respingos. Por último, citamos a investigação de técnicas que minimizem oproblema de precisão decorrente da utilização do h fixo em alguns casos (Figura(5.6)), sem comprometer o desempenho da simulação.

Page 37: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Referências Bibliográficas

AMADA, T.; IMURA, M.; YASUMURO, Y.; MANABE, Y.; CHIHARA, K.Particle-based fluid simulation on gpu. In: Proceedings of the ACM Workshopon General-Purpose Computing on Graphics Processors. New York, NY, USA:ACM Press, 2004. p. 123–131. ISBN 3-905673-15-0.

BATCHER, K. E. Sorting networks and their applications. In: AFIPS Spring JointComputing Conference. [S.l.: s.n.], 1968. p. 307–314.

CARLSON, M.; MUCHA, P. J.; TURK, G. Rigid fluid: Animating the interplaybetween rigid bodies and fluids. In: Proceedings of the ACM SIGGRAPH. [S.l.:s.n.], 2004. p. 377–384.

CELES, W.; CALOMENI, A. Simulating and rendering particle systems. In:LANDER, J. (Ed.). Graphics programming methods. Rockland, MA, USA:Charles River Media, Inc., 2003. cap. 1, p. 5–16.

DESBRUN, M.; GASCUEL, M.-P. Smoothed particles: A new paradigm foranimating highly deformable bodies. In: Proceedings of EG Workshop onAnimation and Simulation. [S.l.: s.n.], 1996. p. 61–76.

FOSTER, N.; METAXAS, D. Modeling the motion of a hot, turbulent gas. In:Proceedings of the ACM SIGGRAPH. [S.l.: s.n.], 1997. p. 181–188.

GINGOLD, R.; MONAGHAN, J. Smoothed particle hydrodynamics: theory andapplication to non-spherical stars. Monthly Notices of the Royal AstronomicalSociety, v. 181, p. 375–389, 1977.

GIRALDI, G. A.; APOLINARIO-JR., A. L.; OLIVEIRA, A.; FEIJOO, R. A.Animação de fluidos via técnicas de visualização científica e mecânicacomputacional. http://virtual01.lncc.br/ giraldi/TechReport/sph-anim2005.pdf,2005.

HAGEN, T. R.; HJELMERVIK, J. M.; LIE, K. A.; NATVIG, J. R. Visualsimulation of shallow-water waves. Simulation Modelling Practice and Theory,v. 13, n. 8, p. 716 – 726, 2005.

Page 38: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Referências Bibliográficas 38

HARADA, T.; KOSHIZUKA, S.; KAWAGUSHI, Y. Smoothed particlehydrodynamics on gpus. In: Proceedings of the Computer GraphicsInternational Conference. [S.l.: s.n.], 2007. p. 63–70.

HARRIS, M. J. Fast fluid dynamics simulation on the gpu. In: FERNANDO, R.(Ed.). GPU Gems. [S.l.]: Addison-Wesley, 2004. v. 1, cap. 38, p. 637–665.

HOLMBERG, N.; WUNSCHE, B. C. Efficient modeling and rendering ofturbulent water over natural terrain. In: GRAPHITE ’04: Proceedings of the 2ndinternational conference on Computer graphics and interactive techniques inAustralasia and South East Asia. New York, NY, USA: ACM Press, 2004. p.15–22. ISBN 1-58113-883-0.

KARSTEN, N.; TRIER, P. Implementing Rapid, Stable Fluid Dynamics on theGPU. [S.l.], 2004. Http://projects.n-o-e.dk/GPU_water_simulation/gpu-water.pdf(visitado em 28/11/2007).

KASS, M.; MILLER, G. Rapid, stable fluid dynamics for computer graphics. In:Proceedings of the ACM SIGGRAPH. [S.l.: s.n.], 1990. v. 24, p. 49–57.

KIPFER, P.; SEGAL, M.; WESTERMANN, R. Uberflow: a gpu-based particle engine. In: HWWS ’04: Proceedings of the ACMSIGGRAPH/EUROGRAPHICS conference on Graphics hardware.New York, NY, USA: ACM Press, 2004. p. 115–122. ISBN 3-905673-15-0.

KIPFER, P.; WESTERMANN, R. Realistic and interactive simulation of rivers. In:GI ’06: Proceedings of the 2006 conference on Graphics interface. Toronto,Ont., Canada, Canada: Canadian Information Processing Society, 2006. p. 41–48.ISBN 1-56881-308-2.

KOLB, A.; CUNTZ, N. Dynamic particle coupling for gpu-based fluid simulation.Proceedings of 18th Symposium on Simulation Technique, p. 722–727, 2005.

KOLB, A.; LATTA, L.; REZK-SALAMA, C. Hardware-based simulation andcollision detection for large particle systems. In: HWWS ’04: Proceedings ofthe ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware.New York, NY, USA: ACM Press, 2004. p. 123–131. ISBN 3-905673-15-0.

KOSHIZUKA, S.; OKA, Y. Moving particle semi-implicit method forfragmentation of incompressible fluid. Nuclear Science Engineering, v. 123, p.421–434, 1996.

LATTA, L. Building a Million Particle System. 2004. Disponível em:<citeseer.ist.psu.edu/latta04building.html>.

Page 39: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Referências Bibliográficas 39

LIU, G. R.; LIU, M. B. Smoothed Particle Hydrodynamics, a meshfree particlemethod. [S.l.]: World Scientific Publishing, 2003.

LORENSEN, W. E.; CLINE, H. E. Marching cubes: A high resolution 3d surfaceconstruction algorithm. Computer Graphics, v. 21, n. 4, p. 163–169, 1987.

LOSASSO, F.; GIBOU, F.; FEDKIW, R. Simulating water and smoke with anoctree data structure. ACM Transactions on Graphics, v. 23, n. 3, p. 457–462,2004.

LUCY, L. B. A numerical approach to testing the fission hypothesis. TheAstronomical Journal, v. 82, n. 12, p. 1013–1024, 1977.

MAES, M. M.; FUJIMOTO, T.; CHIBA, N. Efficient animation of water flow onirregular terrains. In: GRAPHITE ’06: Proceedings of the 4th internationalconference on Computer graphics and interactive techniques in Australasiaand Southeast Asia. New York, NY, USA: ACM Press, 2006. p. 107–115. ISBN1-59593-564-9.

MORRIS, J. P. Simulating surface tension with smoothed particle hydrodynamics.International Journal for Numerical Methods in Fluids, v. 33, n. 3, p. 333–353,2000.

MULLER, M.; CHARYPAR, D.; GROSS, M. Particle-based fluid simulationfor interactive applications. In: SCA ’03: Proceedings of the 2003 ACMSIGGRAPH/Eurographics symposium on Computer animation. Aire-la-Ville,Switzerland, Switzerland: Eurographics Association, 2003. p. 154–159. ISBN1-58113-659-5.

MULLER, M.; SOLENTHALER, B.; KEISER, R.; GROSS, M. In: Proceedingsof the Eurographics ACM Symphosium on Computer Animation. [S.l.: s.n.]. p.237 – 244.

NAKAMURA, F. I. Animação Interativa de Fluidos baseada em Partículaspelo método SPH. Dissertação (Mestrado) — Pontifícia Universidade Católica doRio de Janeiro, Março 2007.

PREMOZE, S.; ASHIKHMIN, M. Rendering natural waters. In: Proceedings ofPacific Graphics. [S.l.: s.n.], 2000. p. 23–30.

PREMOZE, S.; TASDIZEN, T.; BIGLER, J.; LEFOHN, A.; WHITAKER, R. T.Particle-based simulation of fluids. In: Proceedings of ACM Eurographics. [S.l.:s.n.], 2003. v. 22, p. 401–410.

Page 40: Uma abordagem baseada em SPH para animação interativa de ...psergio/CG_arquivos/dissertacao_algemiro_final.pdf · Silva Neto, Algemiro Augusto da Uma abordagem baseada em SPH para

Referências Bibliográficas 40

PURCELL, T. J.; DONNER, C.; CAMMARANO, M.; JENSEN, H. W.;HANRAHAN, P. Photon mapping on programmable graphics hardware. In:HWWS ’03: Proceedings of the ACM SIGGRAPH/EUROGRAPHICSconference on Graphics hardware. Aire-la-Ville, Switzerland, Switzerland:Eurographics Association, 2003. p. 41–50. ISBN 1-58113-739-7.

REEVES, W. T. Particle systems - a technique for modelling a class of fuzzyobjects. ACM Transactions on Graphics, v. 2, n. 2, p. 91–108, 1983.

RODRIGUEZ-PAZ, M.; BONET, J. A corrected smooth particle hydrodynamicsformulation of the shallow-water equations. Computer and Structures, v. 83, n.17-18, p. 1396–1410, 2005.

SETHIAN, J. A. Level Set Methods:Evolving Interfaces in Geometry, FluidMechanics, Computer Vision and Materials Sciences. [S.l.]: CambridgeUniversity Press, 1996.

SHREINER, D. The Official Reference Document to OpenGL. 4. ed.http://www.opengl.org/, 2004.

SILVA NETO, A. A.; GIRALDI, G. A.; RODRIGUES, P. S.; APOLINáRIO-JR,A. L.; XAVIER, A. Animação computacional de fluidos via smoothed particlehydrodynamics. In: SIBGRAPI ’05: Digital Proceedings of the BrazilianSymposium on Computer Graphics and Image Processing. [S.l.: s.n.], 2005.

STAM, J. Stable fluids. In: ROCKWOOD, A. (Ed.). Siggraph 1999, ComputerGraphics Proceedings. Los Angeles: Addison Wesley Longman, 1999. p.121–128. Disponível em: <citeseer.ist.psu.edu/stam99stable.html>.

VENETILLO, J. S.; CELES, W. Gpu-based particle simulation with inter-collisions. The Visual Computer: International Journal of ComputerGraphics, Springer-Verlag New York, Inc., Secaucus, NJ, USA, v. 23, n. 9, p.851–860, 2007.

WITTING, P. Computational fluid dynamics in a traditional animationenvironment. In: Proceedings of the ACM SIGGRAPH. [S.l.: s.n.], 1999. p.129–136.

ZWICKER, M.; PFISTER, H.; BAAR, J. V.; GROSS, M. Surface splatting. In:Proceedings of the ACM SIGGRAPH. [S.l.: s.n.], 2001. p. 371–378.