La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Dinamica di corpi deformabili basata sulle posizioni Candidato: Andrea Bracciale Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli.

Presentazioni simili


Presentazione sul tema: "Dinamica di corpi deformabili basata sulle posizioni Candidato: Andrea Bracciale Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli."— Transcript della presentazione:

1 Dinamica di corpi deformabili basata sulle posizioni Candidato: Andrea Bracciale Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli

2 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Obbiettivo simulazione fisicamente plausibile un numero di frame per secondo superiore ai 20 trovare un compromesso tra velocità e qualità velocitàqualità giusto compromesso scarsa interattività simulazione non reale Framework che simula il comportamento di corpi deformabili

3 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Struttura dei corpi corpo deformabile oggetto complesso da simulare Particelle opportunamente disposte nel volume occupato dal corpo Vincoli limitano il movimento e le posizioni delle particelle viene suddiviso in elementi più piccoli ognuno in relazione con gli altri sistema mass-spring

4 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Struttura dei corpi tessutostruttura nascosta particellevincoli

5 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Struttura dei corpi Esempio corpo complesso

6 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Simulazione spostare le particelle applicando la legge di Newton F = ma applicare i vincoli per muovere le particelle in una posizione corretta

7 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Algoritmo Per ogni time step Applicare le forze e aggiornare le posizioni Testare le collisioni Risolvere i vincoli

8 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Per ogni time step Testare le collisioni Algoritmo Per ogni oggetto Applica le forze agenti sul corpo Aggiorna la posizione delle particelle Applicare le forze e aggiornare le posizioni Risolvere i vincoli

9 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Aggiornamento delle posizioni Equazione della dinamica di una particella Esistono diversi metodi per risolverla, in questo caso serve uno che garantisce stabilità e prestazioni Metodo di integrazione di Verlet

10 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Metodo Verlet nuova posizioneposizione corrente a = f/mtime step velocità implicitamente memorizzata allinterno della differenza tra posizione corrente e quella al passo precedente sistema stabile e molto veloce anche se non estremamente accurato (dissipazione di energia)

11 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Aggiornamento delle posizioni Simulazione con dinamica basata sulle posizioni Metodo utilizzato: Controllo diretto sulla posizione delloggetto modificando direttamente le coordinate spaziali delle particelle Rimozione dei problemi di instabilità Possibilità di modificare la posizione delle particelle durante la simulazione Semplicità di applicazione dei vincoli Algoritmo rapido e semplice

12 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Per ogni time step Applicare le forze e aggiornare le posizioni Testare le collisioni Risolvere i vincoli Algoritmo Per ogni oggetto Il numero di iterazioni è pari a N? Aggiorna la posizione delle particelle per far rispettare tutti i vincoli delloggetto Aumenta il numero di iterazioni di uno Cancella i vincoli di collisione si no

13 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli Strutturali – generati al momento di creazione delloggetto Stretching Bending Overpressure Collisione – generati durante la simulazione e cancellati alla fine di ogni time-step

14 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli - Stretching Determinano la distanza tra le particelle C dist (p 1,p 2 ) = |p 1 – p 2 | – d e costante di rigidità k stretch = [0..1] conservazione della quantità di moto conservazione del momento angolare

15 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli - Distance k stretch = 1 k stretch = 0,05 k stretch = 0,001

16 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli - Bending e costante di rigidità k bend = [0..1] Vincolano gli angoli diedri tra le facce di una mesh conservazione della quantità di moto conservazione del momento angolare

17 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli - Bending Costante di bending pari a 1 Costante di bending pari a 0

18 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli - Overpressure Fanno si che il volume di unoggetto rimanga invariato K pressure determina quanto il volume può variare da quello iniziale Volume attuale Volume iniziale

19 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli - Overpressure K pressure = 1 K pressure = 0

20 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Vincoli - Collisione Generati in caso di collisione e cancellati dopo ogni time-step n p1 p2 p3 n q p p2 p1 p3q p n In effetti il calcolo effettuato è più complesso perché viene considerato anche lo spostamento della faccia dopo lurto

21 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Per ogni time step Algoritmo Per ogni oggetto Aggiungi un vincolo di collisione Risolvere i vincoli Applicare le forze e aggiornare le posizioni Testare le collisioni Cè una collisione con altri oggetti? si no Continua

22 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Collisioni Verifica delle collisioni delle Bounding Box Individuazione dei vertici che collidono Aggiunta di un vincolo di collisione Calcolo molto semplice e veloce per testare le collisioni A fronte di un leggero calcolo in più in caso di collisione, cè un grande risparmio di calcolo in caso di mancata collisione

23 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Collisioni Verifica delle collisioni delle Bounding Box Individuazione dei vertici che collidono Aggiunta di un vincolo di collisione Spatial Hashing Le facce che compongono la mesh di uno degli oggetti vengono mappate secondo in una griglia di dimensioni definite dallutente Vengono calcolati gli indici di hash per ogni cella che contiene le facce delloggetto Si calcolano gli indici di hash per ogni vertice appartenente allaltro oggetto Se un vertice ha un indice uguale a uno di quelli calcolati in precedenza si verifica una collisione tra la particella e la faccia

24 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Collisioni Verifica delle collisioni delle Bounding Box Individuazione dei vertici che collidono Aggiunta di un vincolo di collisione Una volta verificata la collisione, viene generato un vincolo contenente la particella e la faccia che hanno colliso

25 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale

26 Risultati ottenuti framework simula contemporaneamente corpi deformabili con diverse strutture gestisce le collisioni senza subire rallentamenti significativi ha un algoritmo stabile, leggero e visibilmente valido utilizzabile anche in applicazioni interattive (videogiochi o animazioni in tempo reale) semplice estensione a nuove caratteristiche

27 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Risultati ottenuti 75 iterazioni

28 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale Lavori futuri collisione con corpi rigidi attrito dinamico e statico aggiunta del self-collision


Scaricare ppt "Dinamica di corpi deformabili basata sulle posizioni Candidato: Andrea Bracciale Relatore: Prof. Marco Schaerf Correlatore: Ing. Marco Fratarcangeli."

Presentazioni simili


Annunci Google