Animação por Computador Capítulo 8 Fluidos: Líquidos e Gases CRAb – Grupo de Computação...

Post on 21-Apr-2015

119 views 2 download

Transcript of Animação por Computador Capítulo 8 Fluidos: Líquidos e Gases CRAb – Grupo de Computação...

Animação por Computador

Capítulo 8Fluidos: Líquidos e Gases

CRAb – Grupo de Computação Gráfica

Departamento de ComputaçãoUFC

2

Sumário do Capítulo 8

8. Introdução8.1 Modelos específicos de fluidos8.2 Dinâmica de fluido

computacional

3

8. Introdução

• Objetos que não possuem uma estrutura topológica simples, rígida e estática são os mias difíceis a serem modelados– Existem muito na natureza– É um desafio controlar seu movimento

•Existem modelos específicos para certos fenômenos que são suficientes

•Para um modelo mais robusto é necessário uma abordagem mais rigorosa cientificamente

• Somente alguns modelos básicos serão abordados

8.1 Modelos específicos de fluidos

5

8.1 Modelos específicos de fluidos

• Fenômenos gasosos– Exemplos

•Fogo•Fumaça•Nuvens

– Não possuem uma superfície definida•Algumas técnicas baseadas em superfície

já foram aplicadas com um sucesso limitado

– Água

6

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água– Seu movimento tem várias formas– Pode ser modelado como

•Superfície rígida– Ondulações são adicionadas como atributos de

visualização» Perturbação na normal da superfície como

em Bump Mapping– Mapa de altura rolando suavemente

» As ondas que variam no tempo são incorporadas na superfície

– Nas ondas marítimas, assumi-se que não há transporte de água

•Quebra da onda, espuma e salpicos– Pós-processamento

7

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Modelo mais simples:

•Atribuir a cor azul a tudo abaixo de uma certa altura nas coordenadas de mundo

– Suficiente para » Lagos calmos» Poças de água parada

•Também pode-se colocar um plano azul paralelo ao eixo Y a uma certa altura

•Porem esses modelos não produzem animação

8

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Perturbação da normal

•Usado para fazer parecer que existe uma onda de pequena amplitude

•Funções senoidais são usadas– Funções parametrizadas em uma única variável

» Distancia ao ponto de origem

9

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Perturbação da normal

• Não precisa começar com amplitude zero na origem

• As cristas das ondas – Lineares:

» Viajam de maneira uniforme» Padrão de auto-replicação quando visto a

distância– Disseminado de um único ponto dado pelo

usuário– Disseminado de um ponto aleatório

10

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Perturbação da normal

•Funções simétricas radialmente podem ser usadas para quebrar o padrão

– Podem ser usadas para simular efeitos de pedra ou gota caindo na água

•Função de altura e comprimento de onda– Usadas para variar a altura em função do

tempo de um ponto

11

8.1 Modelos específicos de fluidos

Onda estática simétrica radialmente

12

8.1 Modelos específicos de fluidos

Altura em função do tempo de um ponto fixo

13

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Combinando os dois:

Função variando no tempo do ponto P

14

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Perturbação da normal

•Combinando os dois:– Função é zero no tempo zero– Pode ser rotacionada e transladada

» Posição e orientação apropriadas em coordenadas de mundo

•Tendo a função de altura, a normal pode ser calculada

– Calculo do vetor tangente e vetor perpendicular» Plano definido indica para onde a onda está

viajando

15

8.1 Modelos específicos de fluidos

16

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Perturbação da normal

•Sobrepondo múltiplas funções senoidais com diferentes amplitudes e vários pontos de origem (ou direções)

– Quanto maior a frequência menor a amplitude

17

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– O mesmo método de calcular as

normais pode ser usado para modificar os pontos de uma grade•Opções de uso:

– Uma superfície facetada com smooth shading– Também podem ser usado como pontos de

controle de uma superfície B-spline

18

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Quando há somente a distorção da

normal é notável ao encontro com uma rocha

Modificando a normal Mapa de altura

19

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (Água parada e ondas de baixa amplitude)– Reduzir densidade da malha

•Usar funções de baixa frequência e ala amplitude para controlar os pontos

• Incluir funções de alta frequência e baixa amplitude para calcular as normais

20

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (anatomia das ondas)– Maior realismo precisa de um modelo

mais sofisticado• Incorporar mais efeitos físicos

– Ondas têm várias frequências•Maremoto•Onda capilar

21

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (anatomia das ondas)– Amplitude de uma onda

Onde é a distancia ao ponto de origem, é um instante no tempo, é a amplitude máxima é a velocidade de propagação é o comprimento de onda

Existe a relação , onde é o período

L

CtsAtsf

))((cos),(

2

stACL

TTLC

22

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (anatomia das ondas)– O movimento da onde é diferente do

movimento da água

– Declividade• Ondas com baixa declividade têm basicamente o

formato senoidal• Ao passo que a declividade aumenta,

gradualmente, a onda muda para um formato de crista pontuda com vale achatado

– Matematicamente, parece um ciclóide

LHS

23

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (anatomia das ondas)– Em uma onda ideal, não á transporte

de água– Uma partícula de água completa uma

órbita quando há um ciclo completo da onda•Média da velocidade orbital

SCL

HC

T

HQmédia

24

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (anatomia das ondas)– Se a velocidade orbital exceder a

velocidade da onde é uma onda quebrando•A velocidade orbital cresce de acordo com

a declividade– A declividade tem um limite para que a onda

não quebre» Observações de declividade feitas por

Peachey[30] ].,.[ 0150S

25

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (anatomia das ondas)– Modelo Airy é uma simplificação do CFD

(Computational Fluid Dynamics) para ondas do mar

Onde é a profundidade da água, a velocidade de propagação,

é com comprimento de onda, é a gravidade ao nível do mar,

é equivalência espacial da frequência de onda

• Fundo

• Raso

CTL

L

dgLd

gC

2

2tanhtanh

d CL g

L 2

4

Ld

20

Ld

26

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (anatomia das ondas)– Ao passo que a onda se aproxima do margem

• A parte que se aproxima primeiro, diminui a velocidade

• A onda vai diminuindo a velocidade ao longo do comprimento

– Isso fará com que a onda se acomode» Refração de onda

• O período continua o mesmo• Há a diminuição da velocidade e do comprimento

de onda• A amplitude permanece a mesma ou aumenta• A velocidade orbital se mantém• Por isso a onda tende a quebrar quando se

aproxima da margem

27

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (modelando ondas marítimas)– Mapa de alturas

Onde define o plano do chão, o tempo, a altura

– Função de onda•Composição de duas funções

Onde é a função perfil de onda e é a função fase da onda

n

iii tzxWAtzxfy

1

),,(),,(

),( zx t y

)]),,([(),,( tzxfraçãowtzxW iii

iw i

28

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (modelando ondas marítimas)– Função fase da onda

•Linear•Orientar a onda perpendicular ao eixo X•Começa no ponto de origem•Assim pode ser rotacionado e transladado

no mundo

29

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (modelando ondas marítimas)– Função fase da onda

• Se a profundidade for constante– Comprimento de onda e velocidade também são

constantes

• Se não– Comprimento de onda é em função da profundidade

– Soluções» Integração numérica» Interpolação bilinear (Peacey[30])

x

ii dutzutzx0

),,(),,( '

iii T

tttzxtzx 00

),,(),,(

i

ii L

xtzx ),,( 0

30

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (modelando ondas marítimas)– Função perfil da onda

•É definido que– – –

•A declividade pode ser usado para combinar

– Função senoidal

– Função crista

)(uwi

0100 .. u

010100 .).().( ii ww

11 iw

)cos()( uuw 2

12

18

2

uuw )(

31

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (modelando ondas marítimas)– Assimetria

Onde é o comprimento de onda em águas profundas

•Para grande: – Aplica-se as funções normalmente

•Para pequeno: – eleva-se a fase a

profundoi

iprofundoi

L

dk

gTL

2

2

profundoiL

k

k

k

32

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (modelando ondas marítimas)– Ondas quebrando

• Condição:• Observação:

– Foi constado que algumas ondas se quebram com » Indica que a água provavelmente não viaja em

uma velocidade orbital uniforme» Velocidade no topo é mais alta

• O usuário entra com um valor limite de declividade• Pode ser simulado com um sistema de partícula

estocástico mas controlado– Distribuição gaussiana– Número de partículas gerada é baseado na diferença

da declividade com o limite

01.

S

10.S

33

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (modelando ondas marítimas)– Obstáculo

•Sistema de partículas é usado para espirrar água na reflexão da direção da onda com a normal da superfície

•Passos– Um pequeno grupo de partículas é criado logo

antes do impacto– No impacto é aumentado ao numero máximo

de partículas– A quantidade vai diminuindo a medida que a

onda passa pelo obstáculo– Uma perturbação estocástica deve ser usada

no calculo da velocidade e direção

34

8.1 Modelos específicos de fluidos

35

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Modelo em que a água viaja de um

lugar para outro– Equações diferenciais podem ser

usadas para a simulação•Equações de fluxo de fluido de Navier-

Stokes– Usa-se versão simplificada para animações

» Simples de implementar» Computacionalmente mais leve» Resultado bonito» Inadequado para simulações de alta precisão

36

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– O usuário parametriza as funções em

relação a distância •Altura da água•Altura do solo•Altura da coluna de água

x

)(xhz

)()()( xbxhxd )(xbz

37

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Suposição

•Movimento uniforme através de uma coluna vertical de água

•Velocidade da coluna de água: )(xv

38

8.1 Modelos específicos de fluidos

Representação bidimensional discreta da um mapa de altura

39

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Equações de água rasa

• Considera:– A mudança de velocidade e relaciona com sua

aceleração– A diferença em velocidades adjacentes– A aceleração de colinas adjacentes em alturas

diferentes

0

x

hg

x

vv

t

v

40

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Equações de água rasa

• Considera o transporte de água– Relaciona a mudança temporal da altura com a

mudança espacial na quantidade de água se movendo

0

vdxt

d

41

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Simplificando equações

•Supondo – Velocidade baixa– Variação de profundidade lenta

0

0

x

vd

t

dx

hg

t

v

42

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Equação unidimensional

•Derivando a primeira equação em relação a

•Derivando a segunda em relação a •Derivada cruzada:

2

2

2

2

x

hgd

t

h

xt

43

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Equação unidimensional

•Resolvendo por diferenças finitas

iiii

iiiii

iii

iii

iiii

hhx

ddghh

x

ddg

t

h

x

hhg

t

v

vx

ddv

x

dd

t

h

121

121

2

2

1

11

1

22

22

44

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Resolução com técnica de integração numérica

implícita de primeira ordem• Vantagem de poder usar passos de tempo maiores

t

nhnhnh

t

nhnhnh

)()()(

)()()(

1

1

)()(

)()(

)()()(

nhnhx

ddtg

nhnhx

ddtg

nhnhnh

iiii

iiii

iii

1212

1212

2

2

212

45

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Assumindo que é constante durante a

iteração• O próximo valor de é calculado:)()()( 112 nhnhnAh iii

d

h

12

223

33

21

110

00

00000

0000

0000

0000

0000

0000

00000

nn

nnn

nn

ef

fef

fe

ef

fef

fe

A

46

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)

• Onde:

212

2122

1

2112

2102

0

2

21

102

21

21

x

dditgf

x

ddtge

nix

dddtge

x

ddtge

ii

nnn

iiii )(

47

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Acrescentando viscosidade

•Altera a influencia das iterações anteriores

)())()()(()()( 102111 nhnhnhnAh iiii

48

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– A preservação do volume pode ser

comprometida quando•Para compensar:

– Procurar as áreas conectas de água em cada iteração à frente e calcule o volume

– Se o volume mudar, distribuir a diferença nos elementos conectados

ii bh

49

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Algoritmo para o problema

bidimensionalEspecificar h(0), h(1) e bPara j de 2 até n, faça Se existe perda ou fonte de água Adicione ou subtraia a quantidade respectiva em h(j) e h(j-1) Calcule d a partir de h(j-1) e b. Se h < b então d = 0. Calcule o novo valor de h(j) a partir de h(j-1) e h(j-2) Para toda coluna de água v vizinha Se h(v) < b(v), então h(v)(j) e h(v)(j-1) = b(v) - e

50

8.1 Modelos específicos de fluidos

• 8.1.1 Modelos para água (caminho na descida)– Estender o algoritmo para o problema

tridimensional•Considere um mapa de altura

bidimensional– Os cálculos são feitos desacoplando as duas

dimensões

•Cada iteração é decomposta em duas subiterações

– Uma para cada direção

51

8.1 Modelos específicos de fluidos

52

8.1 Modelos específicos de fluidos

53

8.1 Modelos específicos de fluidos

• 8.1.2 Modelos para nuvens