+ All Categories
Home > Documents > Modellazione fisica per ambienti...

Modellazione fisica per ambienti...

Date post: 28-Sep-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
58
1 Realt Realt à à Virtuale: il presente, il passato, il futuro Virtuale: il presente, il passato, il futuro Modellazione basata sulla Fisica Modellazione basata sulla Fisica Modellazione fisica Modellazione fisica per ambienti virtuali per ambienti virtuali Ing. Davide Vercelli Ing. Davide Vercelli [email protected] [email protected] Emanuele Emanuele Ruffaldi Ruffaldi [email protected] [email protected]
Transcript
Page 1: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

1

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Modellazione fisicaModellazione fisica

per ambienti virtualiper ambienti virtuali

Ing. Davide VercelliIng. Davide Vercelli

[email protected] [email protected]

Emanuele Emanuele RuffaldiRuffaldi

[email protected]@sssup.it

Page 2: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

2

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Argomenti di oggiArgomenti di oggi

CosCos’è’è la simulazione la simulazione dimamicadimamica??

Richiami di dinamicaRichiami di dinamica

Soluzioni numericheSoluzioni numericheper le equazioni differenzialiper le equazioni differenziali

Struttura di un motore fisicoStruttura di un motore fisico

Utilizzo di un motore fisicoUtilizzo di un motore fisico

Page 3: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

3

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Introduzione:

Cos’è la simulazione dinamica?

Page 4: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

4

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Simulazione dinamica in breveSimulazione dinamica in breve

Dinamica:Dinamica:applicazione delle leggi di Newtonapplicazione delle leggi di Newtonsul moto dei corpisul moto dei corpi

Simulazione dinamica:Simulazione dinamica:ottenere lottenere l’’evoluzione del sistemaevoluzione del sistemaa partire dalla descrizione dia partire dalla descrizione di–– OggettiOggetti

–– Interazioni fra oggettiInterazioni fra oggetti

–– Forze che agiscono sugli oggettiForze che agiscono sugli oggetti

Page 5: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

5

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Tipologie di simulazioneTipologie di simulazione

Offline:Offline:velocitvelocitàà scorrelatascorrelatada quella dei processi simulatida quella dei processi simulati

Online:Online:stessa velocitstessa velocitàà dei processi simulatidei processi simulati–– RealtimeRealtime

–– Interattiva: Interattiva: èè possibile modificarepossibile modificarelo stato della simulazionelo stato della simulazionementre mentre èè in corsoin corso

Page 6: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

6

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Applicazioni industrialiApplicazioni industriali

PrototipizzazionePrototipizzazione, studi ingegneristici, studi ingegneristici

Formazione del personaleFormazione del personale

Page 7: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

7

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Applicazioni: animazione 3DApplicazioni: animazione 3D

TessutiTessuti VentoVento Moto inerzialeMoto inerziale ecc. ecc. ecc.ecc.

Page 8: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

8

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Applicazioni: giochi e VRApplicazioni: giochi e VR

Incrementare la credibilitIncrementare la credibilitàà–– veicoli, sport, balistica, veicoli, sport, balistica, ““ragrag--dolldoll””, ecc., ecc.

Compromesso accuratezza/prestazioniCompromesso accuratezza/prestazioni

... e divertimento!... e divertimento!

Page 9: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

9

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

ProblemiProblemi

AccuratezzaAccuratezza

PrestazioniPrestazioni

StabilitStabilitàà

ParameterParameter tuningtuning

Page 10: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

10

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Cinematica e dinamica

Page 11: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

11

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

CinematicaCinematica

DescriviamoDescriviamoil movimentoil movimentodi un corpodi un corpoignorandone le causeignorandone le cause

ControlliamoControlliamodirettamentedirettamentela variabile la variabile posizioneposizione

P(t) = P(t) = mvmv

a(t) = a(t) = dvdv//dtdt

v(t) = v(t) = dxdx//dtdt

x(t)x(t)

Page 12: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

12

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

DinamicaDinamica

F(t)F(t)

a(t) = F/ma(t) = F/m

v(t) = v(t) = ∫∫aa

x(t) = x(t) = ∫∫vv

dPdP(t)/(t)/dtdt = F= F

DescriviamoDescriviamole le causecause del moto, del moto, ovvero le forzeovvero le forze

ControlliamoControlliamodirettamentedirettamentele forze che agisconole forze che agisconosui corpi stessisui corpi stessi

Page 13: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

13

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Cinematica vs. DinamicaCinematica vs. Dinamica

CinematicaCinematica

Dinamica!Dinamica!

Page 14: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

14

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Richiami di dinamicaRichiami di dinamica

Page 15: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

15

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Dinamica delle particelleDinamica delle particelle

Particella (o punto)Particella (o punto) Non ha estensioneNon ha estensione La sua posizione nello spazio La sua posizione nello spazio èèdescritta solo dalla sua traslazione descritta solo dalla sua traslazione rispetto allrispetto all’’origine: (x, y, z)origine: (x, y, z)

Stato di una particellaStato di una particella PosizionePosizione VelocitVelocitàà

Page 16: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

16

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Sistema di particelle (1/2)Sistema di particelle (1/2)

QuantitQuantitàà di moto totaledi moto totale

P = P = ΣΣiippii = = ΣΣiimmiivvii

Centro di massaCentro di massa

xxcmcm = (= (ΣΣiimmiixxii)/M)/M

Page 17: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

17

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Sistema di particelle (2/2)Sistema di particelle (2/2)

In assenza di forze esterne:In assenza di forze esterne:

la quantitla quantitàà di moto (o di moto (o momento linearemomento lineare) ) del sistema si conservadel sistema si conserva

il centro di massa resta in quieteil centro di massa resta in quiete

In presenza di forze esterne:In presenza di forze esterne:

il moto del centro di massa il moto del centro di massa èè equivalente equivalente a quello di una quello di un’’unica particellaunica particellacon massa con massa M=M=ΣΣmmii

Page 18: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

18

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Applicazioni dei sistemi particellari in CGApplicazioni dei sistemi particellari in CG

Molto usati!Molto usati!

Effetti (fuoco, nebbia, nuvole...)Effetti (fuoco, nebbia, nuvole...)

Anche capelli!Anche capelli!

Page 19: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

19

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Dinamica del corpo rigidoDinamica del corpo rigido

Il corpo rigidoIl corpo rigido

Ha unHa un’’estensione spazialeestensione spaziale–– ÈÈ quindi soggetto anche al moto rotatorioquindi soggetto anche al moto rotatorio

ÈÈ indeformabileindeformabile

Stato di un corpo rigidoStato di un corpo rigido

Posizione e velocitPosizione e velocitàà (del baricentro)(del baricentro)

Rotazione e velocitRotazione e velocitàà angolareangolare

Page 20: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

20

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Moto rotatorioMoto rotatorio

Rotazione attorno ad un asse fissoRotazione attorno ad un asse fisso

LL’’angolo angolo θθ varia nel tempovaria nel tempo

Tracciando unTracciando un’’analogiaanalogiafra angolo fra angolo θθ(t) e posizione x(t)(t) e posizione x(t)possiamo definire:possiamo definire:–– VelocitVelocitàà angolareangolare

–– Accelerazione angolareAccelerazione angolare

–– Momento angolareMomento angolare

–– Momento di una forzaMomento di una forza

–– Momento dMomento d’’inerziainerzia

Page 21: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

21

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Parallelismo fra moto lineare e angolareParallelismo fra moto lineare e angolare

ττ = = IIαα = = dLdL//dtdt

= F x r= F x rF = ma = F = ma = dPdP//dtdtforzaforza

L = IL = IΩΩP = P = mvmvmomento (si conserva)momento (si conserva)

II((momento dmomento d’’inerzia)inerzia)

mm((massa inerzialemassa inerziale))

resistenza al motoresistenza al moto

αα = = ddΩΩ//dtdt= d= d22ΘΘ/dt/dt22

a = a = vxvx//dtdt= d= d22x/dtx/dt22

accelerazioneaccelerazione

ΩΩ = = ddΘΘ//dtdtv = v = dxdx//dtdtvelocitvelocitàà

ΘΘ (angolo)(angolo)xxposizioneposizione

AngolareAngolareLineareLineare

Page 22: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

22

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Moto del corpo rigidoMoto del corpo rigido

Moto di un singolo corpo rigidoMoto di un singolo corpo rigido

Tutte le forze influenzanoTutte le forze influenzanoil moto del baricentroil moto del baricentro

Alcune forze influenzanoAlcune forze influenzanoanche il moto rotatorioanche il moto rotatorio–– Forze che non agiscono uniformemente su Forze che non agiscono uniformemente su tutto il corpotutto il corpo

–– Forze non in linea col baricentroForze non in linea col baricentro

Page 23: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

23

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Momento (o tensore) dMomento (o tensore) d’’inerziainerzia

ÈÈ una matrice 3x3 che rappresentauna matrice 3x3 che rappresentala resistenza di un corpo alla rotazionela resistenza di un corpo alla rotazionerispetto ai vari assirispetto ai vari assi

I = mrI = mr22(per un punto, rispetto ad un asse noto)(per un punto, rispetto ad un asse noto)

Nota: Nota: èè diverso per ogni orientazionediverso per ogni orientazionedi un corpo, ma di un corpo, ma èè possibile esprimerlopossibile esprimerlocomecome

I(t) = R(t)I(t) = R(t)IIbodybodyRR(t)(t)TT

Page 24: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

24

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

ConstrainedConstrained dynamicsdynamics

Le cose si complicano quando piLe cose si complicano quando piùùcorpi rigidi interagiscono:corpi rigidi interagiscono:

CollisioniCollisioni

VincoliVincoli(sottrazione di gradi di libert(sottrazione di gradi di libertàà))

Page 25: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

25

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

CollisioniCollisioni

Argomento molto vastoArgomento molto vasto

In breve:In breve:

CollisionCollision detectiondetection–– Banale particelle/pianoBanale particelle/piano

–– Poco banale fra superfici qualsiasi!Poco banale fra superfici qualsiasi!

CollisionCollision responseresponse–– Cruciale Cruciale dovedove applichiamo la rispostaapplichiamo la rispostain un corpo rigidoin un corpo rigido

Page 26: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

26

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Soluzioni numericheSoluzioni numericheper le equazioni differenzialiper le equazioni differenziali

Page 27: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

27

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Equazioni differenziali ordinarieEquazioni differenziali ordinarie

Una ODE (Una ODE (OrdinaryOrdinary DifferentialDifferential EquationEquation))di ordine di ordine ““nn”” èè

““unun’’equazione in cui lequazione in cui l’’incognitaincognita

èè una funzione in una variabile indipendente,una funzione in una variabile indipendente,

e che contiene derivate delle che contiene derivate dell’’incognitaincognita

in quella variabile fino allin quella variabile fino all’’ordine nordine n””

Esempio:Esempio:

F = ma F = ma ovveroovvero dd22x/dtx/dt22=F/m=F/m(ODE di ordine 2)(ODE di ordine 2)

Page 28: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

28

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Soluzioni numericheSoluzioni numeriche

Calcoliamo la variazione di x(t)Calcoliamo la variazione di x(t)in un intervallo temporale in un intervallo temporale ∆∆TT

Metodi famosiMetodi famosi–– EuleroEulero

–– Punto di mezzoPunto di mezzo

–– RungeRunge KuttaKutta

–– ecc.ecc.

Page 29: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

29

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Metodo di EuleroMetodo di Eulero

dxdx//dtdt = f(t)= f(t)

x(tx(t00 + h) = x+ h) = x00 + + hfhf(t(t00))

Page 30: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

30

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Problemi (1/2)Problemi (1/2)

AccuratezzaAccuratezza–– La soluzione non La soluzione non èè esatta, ma esatta, ma quantoquanto

si discosta da un risultato corretto?si discosta da un risultato corretto? Ordine dellOrdine dell’’erroreerrore

–– Che prezzo siamo disposti a pagareChe prezzo siamo disposti a pagarein cambio di una maggiore accuratezza?in cambio di una maggiore accuratezza? Funzioni di costoFunzioni di costo(numero di valutazioni di F e F(numero di valutazioni di F e F’’))

Page 31: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

31

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Problemi (2/2)Problemi (2/2)

StabilitStabilitàà–– Alcuni metodi rischiano di divergere Alcuni metodi rischiano di divergere completamentecompletamente

–– Equazioni Equazioni ““stiffstiff”” Metodi implicitiMetodi impliciti

–– Diminuire il passo di integrazione può Diminuire il passo di integrazione può servire, ma può costare molto e a volte servire, ma può costare molto e a volte può essere addirittura controproducente!può essere addirittura controproducente!

Page 32: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

32

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Deriva numerica di R: problemaDeriva numerica di R: problema

R R èè la matrice 3x3 che esprimela matrice 3x3 che esprimela rotazione di un corpo nello spaziola rotazione di un corpo nello spazio

Dopo molte elaborazioni successiveDopo molte elaborazioni successivesi accumulano gli errori numericisi accumulano gli errori numerici

Tuttavia non tutte le matrici 3x3Tuttavia non tutte le matrici 3x3sono matrici di rotazione!sono matrici di rotazione!–– R tende ad allontanarsi dallR tende ad allontanarsi dall’’ortogonalitortogonalitàà

Effetto grafico e fisico non realisticoEffetto grafico e fisico non realistico

–– Difficile ripristinare RDifficile ripristinare R

Page 33: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

33

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Deriva numerica di R: soluzione (1/2)Deriva numerica di R: soluzione (1/2)

I quaternioniI quaternioni

Estensione dei numeri complessiEstensione dei numeri complessi

Un valore reale e tre immaginariUn valore reale e tre immaginari

Q = a + Q = a + ibib + + jcjc +kd+kd

concon ii22 = j= j22 = k= k22 = = ijkijk = = --11

Un quaternione Un quaternione èè unitario seunitario se

aa22 + b+ b22 + c+ c22 + d+ d22 = 1= 1

Ogni quaternione unitario Ogni quaternione unitario èè interpretabile come una rotazione interpretabile come una rotazione in 3D e viceversain 3D e viceversa

Page 34: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

34

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Deriva numerica di R: soluzione (2/2)Deriva numerica di R: soluzione (2/2)

Risolvono il problema perchRisolvono il problema perchéé::

Hanno solo 4 elementiHanno solo 4 elementi–– Si accumula meno erroreSi accumula meno errore

Sono facili da correggereSono facili da correggere–– Hanno norma unitariaHanno norma unitaria

–– Tutti i 4v con norma unitariaTutti i 4v con norma unitariasono quaternioni!sono quaternioni!

Inoltre:Inoltre:–– Meno memoriaMeno memoria

–– Facile interpolare rotazioniFacile interpolare rotazioni

Page 35: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

35

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Struttura di un motore fisico

Page 36: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

36

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Strutture datiStrutture dati

structstruct ParticleParticle

floatfloat m;m; /* massa *//* massa */

floatfloat x[3];x[3]; /* posizione *//* posizione */

floatfloat v[3];v[3]; /* /* velocitavelocita’’ */*/

floatfloat f[3];f[3]; /* risultante *//* risultante */

;;

structstruct ParticleSystemParticleSystem

intint n;n; /* numero di particelle *//* numero di particelle */

ParticleParticle **p;**p;

floatfloat t;t; /* orologio di sistema *//* orologio di sistema */

;;

Page 37: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

37

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Metodo Metodo GetDerivativeGetDerivative

voidvoid GetDerivativeGetDerivative((ParticleSystemParticleSystem *ps*ps, , floatfloat *dst*dst) )

forfor ((intint i = 0; i < i = 0; i < psps-->n; i++) >n; i++)

ParticleParticle *p*p = = psps-->p[i];>p[i];

*(dst++) = p*(dst++) = p-->v[0];>v[0]; /* /* xdotxdot = v */= v */

*(dst++) = p*(dst++) = p-->v[1];>v[1];

*(dst++) = p*(dst++) = p-->v[2];>v[2];

*(dst++) = p*(dst++) = p-->f[0] / p>f[0] / p-->m;>m; /* /* vdotvdot = f / m */= f / m */

*(dst++) = p*(dst++) = p-->f[1] / p>f[1] / p-->m;>m;

*(dst++) = p*(dst++) = p-->f[2] / p>f[2] / p-->m;>m;

Page 38: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

38

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Metodo Metodo SetStateSetState

voidvoid SetStateSetState((ParticleSystemParticleSystem *ps*ps, , floatfloat *src*src) )

forfor ((intint i = 0; i < i = 0; i < psps-->n; i++) >n; i++)

ParticleParticle *p*p = = psps-->p[i];>p[i];

pp-->x[0] = *(src++);>x[0] = *(src++);

pp-->x[1] = *(src++);>x[1] = *(src++);

pp-->x[2] = *(src++);>x[2] = *(src++);

pp-->v[0] = *(src++);>v[0] = *(src++);

pp-->v[1] = *(src++);>v[1] = *(src++);

pp-->v[2] = *(src++);>v[2] = *(src++);

/* analogamente abbiamo /* analogamente abbiamo GetStateGetState */*/

Page 39: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

39

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Esempio col metodo di Eulero (2/2)Esempio col metodo di Eulero (2/2)

ParticleSystemParticleSystem *ps*ps = = Init_SystemInit_System(NPARTICLES);(NPARTICLES);

floatfloat *aux*aux = = newnew floatfloat[[psps-->n * 6]; >n * 6];

floatfloat *aux2 = *aux2 = newnew floatfloat[[psps-->n * 6]; >n * 6];

forfor ((psps-->t = t_0; >t = t_0; psps-->t < >t < t_endt_end; ; psps-->t += >t += delta_tdelta_t) )

ClearForcesClearForces(ps);(ps); /* p[i]/* p[i]-->f = 0 */>f = 0 */

ComputeForcesComputeForces(ps);(ps); /* p[i]/* p[i]-->f = (...) */>f = (...) */

GetDerivativeGetDerivative(ps, (ps, auxaux);); /* F(t) *//* F(t) */

_vector_scale(_vector_scale(auxaux, , delta_tdelta_t);); /* /* hFhF(t) */(t) */

GetStateGetState(ps, aux2);(ps, aux2); /* x0 *//* x0 */

_vector_add(aux2, _vector_add(aux2, auxaux, aux2);, aux2); /* x0 + /* x0 + hFhF(t) */(t) */

SetStateSetState(ps, aux2);(ps, aux2);

Page 40: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

40

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Struttura generaleStruttura generale

voidvoid ComputeForcesComputeForces((ParticleSystemParticleSystem *p*p, , floatfloat t);t);

Init_SystemInit_System();();

whilewhile (1) (1)

/* qui prendiamo il vecchio stato *//* qui prendiamo il vecchio stato */

ODE_SolverODE_Solver(t0, (t0, t0t0 + h, state, + h, state, ComputeForcesComputeForces););

/* qui settiamo il nuovo stato *//* qui settiamo il nuovo stato */

In generale In generale ODE_SolverODE_Solver può chiamare può chiamare ComputeForcesComputeForcespipiùù volte durante un singolo volte durante un singolo stepstep

Page 41: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

41

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Caso del corpo rigidoCaso del corpo rigido

La struttura si arricchisceLa struttura si arricchisce–– Rotazione R (o q!)Rotazione R (o q!)

–– Tensore dTensore d’’inerzia inerzia IbodyIbody

–– VelocitVelocitàà angolare (o momento)angolare (o momento)

–– Momento della forza TMomento della forza T

Vanno calcolate forze e momentiVanno calcolate forze e momenti

Page 42: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

42

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Utilizzo di un motore fisicoUtilizzo di un motore fisico

(esempio di ODE)(esempio di ODE)

Page 43: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

43

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Il software ODEIl software ODE

Da non confondere:Da non confondere:–– ODE, la libreria di simulazione dinamicaODE, la libreria di simulazione dinamica

–– ODE, equazioni differenziali ordinarieODE, equazioni differenziali ordinarie

ODE sta per ODE sta per ““Open Dynamics Open Dynamics EngineEngine””

ÈÈ open sourceopen source–– LGPLLGPL

–– BSDBSD

C / C++C / C++ www.ode.orgwww.ode.org

Page 44: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

44

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Inizializzazione di ODEInizializzazione di ODE

Per prima cosa si crea un mondoPer prima cosa si crea un mondo(contenitore di oggetti(contenitore di oggettiin grado di interagire fra loro)in grado di interagire fra loro)

dWorldIDdWorldID world = world = dWorldCreatedWorldCreate();();

Successivamente possiamoSuccessivamente possiamoaggiungere i corpi rigidiaggiungere i corpi rigididBodyIDdBodyID body = body = dBodyCreatedBodyCreate(world);(world);

Page 45: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

45

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

I corpi rigidi (I corpi rigidi (dBodydBody))

Metodi per settare lo statoMetodi per settare lo statodBodySetPositiondBodySetPosition(body, x, y, z);(body, x, y, z);

dBodySetRotationdBodySetRotation(body, R);(body, R);

dBodySetQuaterniondBodySetQuaternion(body, q);(body, q);

dBodySetLinearVeldBodySetLinearVel(body, x, y, z);(body, x, y, z);

dBodySetAngularVeldBodySetAngularVel(body, x, y, z);(body, x, y, z);

... e relativi metodi di ... e relativi metodi di GetGet

Metodi per aggiungere forzeMetodi per aggiungere forzedBodyAddForcedBodyAddForce(body, x, y, z);(body, x, y, z);

dBodyAddTorquedBodyAddTorque(body, R);(body, R);

/* ... E molte altre varianti *//* ... E molte altre varianti */

/* vengono azzerate dopo ogni /* vengono azzerate dopo ogni timetime stepstep */*/

Page 46: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

46

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

La massa (La massa (dMassdMass) (1/2)) (1/2)

Struttura che contieneStruttura che contiene–– MassaMassa

–– Posizione del centro di gravitPosizione del centro di gravitàà

–– Momento dMomento d’’inerziainerzia

ÈÈ possibile inizializzarlapossibile inizializzarlamediante composizione di massemediante composizione di massedi solidi elementaridi solidi elementari–– CosCosìì non cnon c’è’è bisogno di calcolare Ibisogno di calcolare I

Page 47: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

47

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

La massa (La massa (dMassdMass) (2/2)) (2/2)

Esempio:Esempio:dMassdMass m1, m2;m1, m2;

dMassSetSpheredMassSetSphere((&m&m, density1, 5.0);, density1, 5.0);

dMassSetBoxdMassSetBox((&m&m, density2, 1.0, 2.0, 3.0);, density2, 1.0, 2.0, 3.0);

dMassAdddMassAdd(&m1, &m2);(&m1, &m2);

dBodySetMassdBodySetMass(body, &m1);(body, &m1);

Altre operazioni:Altre operazioni:–– TraslazioneTraslazione

–– RotazioneRotazione

–– AdjustAdjust (per settare la massa totale)(per settare la massa totale)

Page 48: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

48

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

CollisionCollision detectiondetection

CollisionCollision detectiondetection–– EsternaEsterna

–– Integrata in ODEIntegrata in ODE

LL’’esito esito èè una serie di una serie di ““contactcontact pointspoints””

Per usare la Per usare la CDCD integrataintegrata–– Ogni corpo deve avereOgni corpo deve avereuna sua descrizione una sua descrizione ““spazialespaziale””

Page 49: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

49

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

GeometryGeometry ObjectsObjects (1/2)(1/2)

Descrivono figure rigide fondamentaliDescrivono figure rigide fondamentali

Ogni body può averne piOgni body può averne piùù di unadi una

Vari tipi:Vari tipi:–– SferaSfera

–– BoxBox

–– ““CappedCapped CylinderCylinder””

–– PianoPiano

–– RaggioRaggio

–– MeshMesh

–– User User defineddefined......

Page 50: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

50

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

GeometryGeometry objectsobjects (2/2)(2/2)

Esempio:Esempio:dGeomIDdGeomID box, box, spheresphere;;

box = box = dCreateBoxdCreateBox(0, (0, lxlx, , lyly, , lzlz););

spheresphere = = dCreateSpheredCreateSphere(0, (0, radrad););

dGeomSetPositiondGeomSetPosition((spheresphere, 0, 0, , 0, 0, lzlz););

dGeomSetBodydGeomSetBody(box, body);(box, body);

dGeomSetBodydGeomSetBody((spheresphere, body);, body);

Da non confondere:Da non confondere:–– Creazione massaCreazione massa

–– Creazione geometrieCreazione geometrie

Page 51: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

51

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

I vincoli (I vincoli (dJointdJoint))

Limitano i movimenti possibili di un Limitano i movimenti possibili di un corpo rispetto ad un altrocorpo rispetto ad un altro

Page 52: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

52

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Uso dei vincoli (Uso dei vincoli (dJointdJoint))

dJointIDdJointID joint = joint = dJointCreateBalldJointCreateBall(world, (world, jointGroupjointGroup););

/* o /* o HingeHinge, , SliderSlider, , ContactContact, Universal, , Universal, FixedFixed... */... */

dJointAttachdJointAttach(joint, body1, body2);(joint, body1, body2);

dJointSetBallAnchordJointSetBallAnchor(joint, x, y, z); /* occhio! */(joint, x, y, z); /* occhio! */

dJointSetHingeAxisdJointSetHingeAxis(j2, x, y, z);(j2, x, y, z);

/* ecc. *//* ecc. */

Limiti spaziali/angolari vanno settati a manoLimiti spaziali/angolari vanno settati a manodJointSetHingeParamdJointSetHingeParam(j2, (j2, dParamLoStopdParamLoStop, val);, val);

I joint possono anche avere una velocitI joint possono anche avere una velocitààdJointSetHingeParamdJointSetHingeParam(j2, (j2, dParamVeldParamVel, val2);, val2);

dJointSetHingeParamdJointSetHingeParam(j2, (j2, dParamBouncedParamBounce, 0.2);, 0.2);

Page 53: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

53

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Disabilitare i corpiDisabilitare i corpi

Un corpo Un corpo ““lontanolontano”” può essere può essere temporaneamente escluso dalla temporaneamente escluso dalla simulazionesimulazione

In ODE cIn ODE c’è’è la possibilitla possibilitàà di farlo di farlo automaticamente sotto certe soglie di automaticamente sotto certe soglie di velocitvelocitàà

dBodyEnabledBodyEnable(body);(body);

dBodyDisabledBodyDisable(body);(body);

boolbool b = b = dBodyIsEnableddBodyIsEnabled(body);(body);

dBodySetAutoDisableFlagdBodySetAutoDisableFlag(body, 1);(body, 1);

Questo funziona per Questo funziona per ““isoleisole”” di corpi di corpi connessiconnessi

Page 54: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

54

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Avanzamento di una simulazioneAvanzamento di una simulazione

dWorldStepdWorldStep(world, (world, stepsizestepsize))–– Può essere lentoPuò essere lento

–– Pesante in memoriaPesante in memoria

–– Relativamente accuratoRelativamente accurato

dWorldQuickStepdWorldQuickStep(world, (world, stepsizestepsize))–– Molto piMolto piùù veloceveloce

–– Molto piMolto piùù leggeroleggero

–– Meno accuratoMeno accurato

Page 55: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

55

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

ParameterParameter tuningtuning

ERP (ERP (ErrorError ReductionReduction ParameterParameter))–– Ripristinare joint violatiRipristinare joint violati

–– ERP = 1.0 instabile...ERP = 1.0 instabile...

CFM (CFM (ConstraintConstraint ForceForce Mixing)Mixing)–– ““AmmorbidisceAmmorbidisce”” i vincolii vincoli

–– Stabilizza i conti...Stabilizza i conti...

Grandezze in gioco di ordine Grandezze in gioco di ordine paragonabileparagonabile

... E molto altro!... E molto altro!

Page 56: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

56

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Per approfondire

Page 57: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

57

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Motori fisiciMotori fisici

TokamakTokamak http://www.tokamakphysics.com/http://www.tokamakphysics.com/

–– Nativo in XVR (prossima lezione)Nativo in XVR (prossima lezione)–– Documentazione scarsaDocumentazione scarsa–– Gratis ma non open sourceGratis ma non open source–– Sviluppo fermo?Sviluppo fermo?

PhysXPhysX http://www.ageia.com/http://www.ageia.com/developersdevelopers//

–– Supporto hardware!Supporto hardware!–– CommercialeCommerciale–– Ottimi strumenti per gli sviluppatoriOttimi strumenti per gli sviluppatori

BulletBullet http://www.continuousphysics.com/http://www.continuousphysics.com/BulletBullet//

–– Open sourceOpen source–– Integrazione con Integrazione con BlenderBlender

Page 58: Modellazione fisica per ambienti virtualipercro.sssup.it/marcello/didattica/AA20082009/18_PBM.pdf · 1 Realt àVirtuale: il presente, il passato, il futuroModellazione basata sulla

58

RealtRealtàà Virtuale: il presente, il passato, il futuroVirtuale: il presente, il passato, il futuroModellazione basata sulla FisicaModellazione basata sulla Fisica

Letture consigliateLetture consigliate

Il famoso Il famoso ““paperpaper di di BaraffBaraff””–– http://www.cs.cmu.edu/http://www.cs.cmu.edu/~baraff~baraff//sigcoursesigcourse//

ODE User GuideODE User Guide–– http://www.ode.org/http://www.ode.org/odeode--latestlatest--userguide.htmluserguide.html

NovodexNovodex//PhysXPhysX–– Registrazione obbligatoria Registrazione obbligatoria


Recommended