ppt - Dipartimento di Informatica e Sistemistica

Università degli Studi di Roma La Sapienza
Facoltà di Ingegneria
Tesi di Laurea in Ingegneria Informatica
Simulazione Interattiva di
Fluidi in 3D Vincolati da
Potenziale Geometrico
Relatore
Candidato
Prof. Marco Shaerf
Luca Mancini
Correlatore
Ing. Marco Fratarcangeli
Il Problema del Controllo
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Sommario
•
•
•
•
•
Il Simulatore
Il Potenziale Geometrico
Ottimizzazioni
Rendering
Conclusioni
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Il Simulatore 0
Il Simulatore
• Il Potenziale Geometrico
• Ottimizzazioni
• Rendering
• Conclusioni
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Il Simulatore 1
du
1
  (u  u ) u  p   2u  F
dt

L’equazione ammette soluzioni analitiche
solo in pochi casi di scarso interesse
• Utilizzo di tecniche di integrazione
numerica
• Discretizzazione dello spazio di
simulazione
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Discretizzazione
Divisione dello spazio in
celle di forma cubica
Ad ogni cella sono
associati densità e
velocità del fluido
contenuto
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Algoritmo Simulatore
du
1
  (u  u ) u  p   2u  F
dt

ut
Avvezione
Diffusione
F. Esterne
Proiezione
ut+Dt
Le componenti dell’equazione del moto sono
applicati in sequenza per ottenere la velocità
all’istante t+Dt
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Il Potenziale Geometrico 0
• Il Simulatore
Il Potenziale Geometrico
• Ottimizzazioni
• Rendering
• Conclusioni
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Potenziale Geometrico 1
Tecnica del Potenziale Geometrico
• Modifica delle proprietà dello spazio di
simulazione
• Il fluido segue in modo naturale le
specifiche di controllo senza nessun
intervento esterno
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Potenziale Geometrico 2
• Caso monodimensionale di problema di
controllo
• A deve spostarsi da X0 a Xtarget
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Potenziale Geometrico 3
• Si applica il potenziale U(x) al sistema
• A si sposta naturalmente verso Xtarget
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Calcolo Potenziale Geometrico
1
ptarget
mesh di controllo
pconfine
confini dello
spazio di
simulazione
pstart
zona che contiene
il fluido
inizialmente
Si individuano le zone pstart, pconfine e ptarget
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Calcolo Potenziale Geometrico
2
 2U(p)  0
U ( ptarget )  0

, 0  k start  kconfine
U ( pstart )  k start
U ( p
confine)  k confine

U(ptarget) = 0
U(pstart) = 0,5
U(pconfine) = 1
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Calcolo Potenziale Geometrico
3
Il contributo dato dal potenziale alla velocità
del fluido si ottiene calcolando il gradiente:
Fpotenziale  U
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Implementazione
ut
Avvezione
Diffusione
F. Esterne
Proiezione
Potenziale
ut+Dt
vt+Dt

Il calcolo è effettato in una fase iniziale,
non durante la simulazione
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Ottimizzazioni
• Il Simulatore
• Il Potenziale Geometrico
Ottimizzazioni
• Rendering
• Conclusioni
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Migliorare l’efficienza 1
Problema:
La simulazione fisica richiede una quantità
di calcoli eccessiva per una esecuzione in
tempo reale
Soluzione:
Effettuare i calcoli per ottenere la velocità
del fluido su una griglia di dimensioni
minori
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Migliorare l’efficienza 2
griglia interna
u’t
griglia esterna
u’t+Dt
Simulatore
Interpolazione
ut+Dt
I calcoli sono effettuati in una griglia
di dimensioni minori e poi si effettua
una interpolazione per ottenere la
velocità da applicare alla densità
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Migliorare l’efficienza 3
Il grafico mostra i risultati ottenuti utilizzando
il sistema a due griglie
25,000
20,000
15,000
8x8x8
16x16x16
32x32x32
10,000
5,000
0,000
box
sedia
teschio
testa
I test sono stati effettuati calcolando i fps
mantenendo costanti le dimensioni della griglia
esterna e variando quelle della griglia interna
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Migliorare l’efficienza 4
Utilizzo di una griglia esterna di dimensioni
32x32x32
– Senza il sistema a due griglie la
simulazione è eseguita a 8 fps
– Con il sistema a due griglie ed una griglia
interna 16x16x16 si ottengono 20 fps
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Rendering 0
• Il Simulatore
• Il Potenziale Geometrico
• Ottimizzazioni
Rendering
• Conclusioni
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Rendering 1
• Esistono varie modalità per renderizzare il
fluido
velocità
• Rappresentazione delle celle come cubi
• Marching cubes
• Raytracing e Photon Mapping
qualità
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Billboarding
senza
billboarding
camera
con
billboarding
camera
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Calcolo Billboarding
Vettori della camera:
•camPos
•camUp
•camRight
Posizione elemento da disegnare:
•Pos
look = camPos – pos
right = camUp x look
up = look x right
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Simulazione 1
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Simulazione 2
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Conclusioni 0
• Il Simulatore
• Il Potenziale Geometrico
• Ottimizzazioni
• Rendering
Conclusioni
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Conclusioni 1
• Realizzazione di un simulatore di fluidi in
uno spazio tridimensionale
• Controllo mediante Potenziale Geometrico
– Calcoli per il controllo in una fase di
preprocessamento
– Simulazione indipendente dalla complessità
della mesh di controllo
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Conclusioni 2
– Interfaccia semplificata: non è necessario
che l’animatore conosca le leggi fisiche del
moto del fluido
• Ottimizzazioni per eseguire la simulazione
in real-time
– Fps triplicati con la doppia griglia
• Rendering con billboarding
– Buona qualtà per rendering in real-time
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Fine
Simulazione Interattiva di
Fluidi in 3D Vincolati da
Potenziale Geometrico
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Migliorare il controllo 1
• Il fluido controllato assume una forma
troppo arrotondata
• I dettagli della mesh di controllo non sono
visualizzati
E’ necessario un maggior controllo nella
generazione della funzione potenziale
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Migliorare il controllo 2
Introduzione di una funzione di mapping
La funzione mappa il potenziale in modo
da migliorare la rappresentazione della
mesh di controllo
La funzione è parametrica e può essere
controllata dall’esterno
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
Migliorare il controllo 3
ut+Dt
Potenziale
U(x)
Mapping
Umap(x)
vt+Dt

La funzione di mapping viene applicata al
potenziale U(x) prima di calcolarne il
gradiente
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
La Funzione di mapping 1
Parametri:
• dens: valore di U(x) per il quale
la U mappata vale 0,5
• max: valore di U(x) per il quale la
U mappata vale 1 (il valore
massimo)
• fine: il valore che assume la U
mappara quando U(x) è pari a 1
(sui bordi)
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini
La Funzione di mapping 2
funzione
dens
= 0,10
0,5 identità
0,25
max
max==0,75
0,60
0,50
Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Luca Mancini