View
119
Download
2
Category
Preview:
Citation preview
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
Recommended