Animazione Interattiva di Esplosioni Sapienza Università di Roma Facoltà di Ingegneria Tesi di Laurea in Ingegneria Informatica Animazione Interattiva di Esplosioni Candidato: Claudio Ponziani Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli Anno Accademico 2006/2007
Dinamica di una esplosione Una esplosione è un improvviso e violento aumento di volume e rilascio di energia, generalmente accompagnata da alte temperature e diffusione di gas. Può coinvolgere diversi materiali Effetti visivi differenti Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Sommario Particles System Fluid Solver Based Teoria sulla dinamica dei fluidi Tecniche di simulazione Visualizzazione Particles System Fluid Solver Based (cfr. Fieldman et al. 2003) (cfr. Rasmussen et al. 2003) Dipartimento di Informatica e Sistemistica - di Roma "La Sapienza" – Claudio Ponziani
Equazioni di Navier-Stokes 1/3 Un fluido, con densità e temperatura costanti, è determinato da: un campo di velocità un campo di pressione Questi campi variano nel tempo secondo le equazioni di Navier-Stokes: Viscosità del fluido Insieme delle forze esterne Densità del fluido Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Equazioni di Navier-Stokes 2/3 Imponiamo: Conservazione massa Conservazione quantità di moto Boundary Conditions: Periodic Boundaries Fixed Boundaries Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Equazioni di Navier-Stokes 3/3 Combiniamo le due equazioni di Navier- Stokes Decomposizione di Helmoltz-Hodge Operatore che proietta qualsiasi vettore w sulla sua parte di divergenza u=Pw Dipartimento di Informatica e Sistemistica - di Roma "La Sapienza" – Claudio Ponziani
Metodo di risoluzione Risolviamo l’equazione partendo da uno stato iniziale e procedendo con time step Quattro passi di risoluzione ad ogni iterazione Add Force w1 w2 Advect w3 Diffuse w4 Project Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Aggiungiamo forze esterne Passo semplice da risolvere Se assumiamo che la forza applicata non varia nel tempo abbiamo che il suo risultato sul fluido è dato da Campo di velocità iniziale Forza esterna Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Effetto del fenomeno di convezione Rende l’equazione non lineare Metodo delle caratteristiche Linea di flusso del campo di velocità Dipartimento di Informatica e Sistemistica - di Roma "La Sapienza" – Claudio Ponziani
Metodo delle caratteristiche Conoscere la velocità in un punto x al tempo Linea di flusso p(x,s) Dipartimento di Informatica e Sistemistica - di Roma "La Sapienza" – Claudio Ponziani
Esplosione – Spazio virtuale Spazio rappresentato con griglia tridimensionale Singolo Voxel di coordinate (i,j,k) i j k Densità[i,j,k] Due array tridimensionali Velocità[i,j,k] Dipartimento di Informatica e Sistemistica - di Roma "La Sapienza" – Claudio Ponziani
Esplosione - Simulazione Aumentiamo la densità di alcuni voxels Inseriamo delle forze violenti che modificano il campo di velocità Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Fase di Rendering Due tecniche provate Cubes Rendering Visualizziamo ogni singolo voxels in funzione del suo valore di densità. Textures Planes Volume Rendering Tecnica più complessa che utilizza textures planes Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Textures Planes Volume Rendering Sezioniamo la griglia in piani perpendicolari al punto di vista dell’osservatore, prelevando le immagini Alpha Blending attivo Depth Testing disattivo Disegniamo i piani dal più vicino al più lontano Dipartimento di Informatica e Sistemistica - di Roma "La Sapienza" – Claudio Ponziani
Analisi dei risultati Costo computazione Dimensione Valore N 30 TPVR attivo Si Diff Rate 0.0002 Visc Rate Dimensione Valore N 40 TPVR attivo Si Diff Rate 0.0002 Visc Rate Frame Rate Max 16.59 fps Frame Rate Avg 13.30 fps Draw Density 21.88 % Density Step 16.62 % Velocity Step 63.30% Frame Rate Max 7.12 fps Frame Rate Avg 6.72 fps Draw Density 25.65% Density Step 16.60% Velocity Step 71.22% Costo computazione Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio
Obiettivi Raggiunti Realizzazione di un’animazione plausibile Minimizzazione del costo computazionale Simulazione guidata dalle leggi fisiche dei fluidi Dipartimento di Informatica e Sistemistica – Sapienza Università di Roma – Ponziani Claudio
Possibili miglioramenti Gestione del colore in funzione della temperatura. Interazioni con oggetti virtuali. Riduzione della complessità computazionale. Dipartimento di Informatica e Sistemistica - Sapienza Università di Roma – Ponziani Claudio