Dinamica di corpi deformabili basata sulle posizioni

Slides:



Advertisements
Presentazioni simili
Fisica dei biliardi e caos
Advertisements

Meccanica aprile 2011 Urti Conservazione della quantita` di moto e teorema dell’impulso Energia cinetica Urti elastici e anelastici Urto con corpi.
Meccanica 8 31 marzo 2011 Teorema del momento angolare. 2° eq. Cardinale Conservazione del momento angolare Sistema del centro di massa. Teoremi di Koenig.
Esercizi di dinamica.
Marina Cobal - Dipt.di Fisica - Universita' di Udine
Quantità di moto quantità di moto di una particella di massa m che si muove con velocità v: è un vettore la cui direzione e il cui verso sono quelli del.
Urti e forze impulsive “Urto”: interazione che avviene in un tempo t molto breve (al limite infinitesimo) tra corpi che esercitano mutuamente forze molto.
“Centro di massa” “Centro di massa” G
“Corpo rigido” Distribuzione estesa di massa i cui punti mantengono invariate le distanze reciproche ( Þ non ci sono deformazioni) Possibili moti di un.
Cinematica: moto dei corpi Dinamica: cause del moto
Interrigi Denise Sonia
TEORIA CINETICA DEI GAS
Applicazione h Si consideri un punto materiale
Lavoro ed energia cinetica: introduzione
Le forze conservative g P2 P1 U= energia potenziale
Il lavoro [L]=[F][L]=[ML-2T -2] S.I.: 1 Joule = 1 m2 kg s-2
Dinamica del punto materiale
Un corpo di massa m= 0.5 kg, che si muove su di un piano orizzontale liscio con velocità v=0.5 m/s verso sinistra, colpisce una molla di costante elastica.
Lavoro di una forza costante
La forza di gravitazione universale è conservativa
La quantità di moto La quantità di moto di un sistema di punti materiali si ottiene sommando le quantità di moto di ciascun punto materiale Ricordando.
Il corpo rigido È un particolare sistema di punti materiali in cui le distanze, tra due qualunque dei suoi punti, non variano nel tempo un corpo rigido.
Misura della costante elastica di una molla per via statica
Rotazione di un corpo rigido attorno ad un asse fisso
Urto in una dimensione -Urto centrale
Dinamica dei sistemi di punti
Urti Si parla di urti quando due punti materiali interagiscono per un intervallo di tempo estremamente breve. si possono sviluppare forze di intensità.
I diagramma del corpo libero con le forze agenti
Consigli per la risoluzione dei problemi
Università degli Studi di Roma
Università degli Studi di Roma La Sapienza
Physically-based Animations of 3D Biped Characters with Genetic Algorithms Università di Roma La Sapienza Relatore: Prof. Marco Schaerf Correlatore: Ing.
Animazione Interattiva di Esplosioni
Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali - a.a. 2009/10 Prof. Paolo Pasteris Tutor: Stefano Baldan Bouncing Balls Obiettivo:
ELEMENTI DI DINAMICA DELLE STRUTTURE
Il lavoro oppure [L]=[F][L]=[ML2T -2] S.I.: 1 Joule = 1 m2 kg s-2
Dinamica dei sistemi di punti
Urti Si parla di urti quando due punti materiali (o due sistemi di punti materiali) interagiscono per un intervallo di tempo estremamente breve. si possono.
G.M. - Edile A 2002/03 Appli cazio ne Si consideri un punto materiale –posto ad un altezza h dal suolo, –posto su un piano inclinato liscio di altezza.
G.M. - Informatica B-Automazione 2002/03 Estensione della conservazione dellenergia ai sistemi di punti materiali Se tutte le forze interne ed esterne.
Lezione 8 Dinamica del corpo rigido
G. Braschi, S. Falappi, M. Gallati
UNIVERSITÀ DEGLI STUDI DI PERUGIA Dipartimento di Ingegneria Industriale Prof. Francesco Castellani Corso di Meccanica Applicata A.
Conservazione della quantità di moto
Stefano CERONI Sara TOIA
I.T.C. e per Geometri Enrico Mattei
I PRINCIPI FONDAMENTALI DELLA DINAMICA (Leggi di Newton)
Complementi di dinamica
Simulazione Anatomica di Muscoli Facciali per Volti Virtuali Generici
Un pendolo composto e’ costituito da un asticella rigida
Testi e dispense consigliati
Una piccola sfera di massa m è vincolata da una cordicella leggera ed inestensibile a muoversi su una traiettoria circolare di raggio R su un piano orizzontale.
un sistema rigido di punti materiali
LE FORZE E IL MOVIMENTO.
LEZIONE 3 Istituto d’Istruzione Superiore
MECCANICA DEI LIQUIDI.
ANIMAZIONE IN 3D DI FLUIDI INCOMPRIMIBILI
Statica e dinamica dei processi di peeling
Esercizi (attrito trascurabile)
Metodi numerici per lo studio di sistemi multicorpo
Quantità di moto Si definisce quantità di moto di un corpo di massa m e velocità v, il prodotto : Per un sistema costituito da n corpi la quantità di.
Simulazione Interattiva di Capelli Marta De Cinti Anno accademico 2005/2006 Università di Roma “La Sapienza” Relatore Prof. Marco Schaerf Correlatore Ing.
MOTO circolare uniforme
Transcript della presentazione:

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

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

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

Struttura dei corpi tessuto struttura nascosta particelle vincoli Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale

Esempio corpo complesso Struttura dei corpi Esempio corpo complesso 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 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale

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

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

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

Aggiornamento delle posizioni Metodo utilizzato: Simulazione con dinamica basata sulle posizioni Controllo diretto sulla posizione dell’oggetto 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 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale

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

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

Determinano la distanza tra le particelle Vincoli - Stretching Determinano la distanza tra le particelle Cdist(p1,p2) = |p1 – p2| – d e costante di rigidità kstretch = [0..1] conservazione della quantità di moto conservazione del momento angolare Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale

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

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

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

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

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

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

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

Collisioni Spatial Hashing 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 dall’utente Vengono calcolati gli indici di hash per ogni cella che contiene le facce dell’oggetto Si calcolano gli indici di hash per ogni vertice appartenente all’altro 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 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 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale

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

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 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale

Risultati ottenuti 75 iterazioni 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 Dipartimento di Informatica e Sistemistica -Università di Roma "La Sapienza" - Andrea Bracciale