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