Ricorda:
Esempio ODE Standard:
Formula (ODE 2° ordine):Approssimazione ad un sistema di due equazioni differenziali di 1° ordine:Riconducendo il tutto alla forma dove :In generale defineremo:Ma i calcolatori lavorano nel discreto, per cui non esiste propriamente, e:Dove:
- è l’intervallo.
- .
IMPORTANTE Vengono usate le stesse lettere come nell’algoritmo di rendering, ma in questo caso è un numero puro intero, è una costante di tempo.
Per determinare si utilizza il metodo di Eulero, il quale consiste nell’approssimare alla sua espansione di Taylor al primo ordine:N.B.: Se si conoscessro tutte le derivate di in un punto si potrebbe prevederla in un futuro qualsiasi. Quindi possiamo dire che: Tale approssimazione ha però forti limitazioni, si prenda ad esempio una molla:( : coefficiente elastico)
Secondo l’equazione di Eulero, e alla formula che abbiamo visto prima:Possiamo quindi scrivere che per questo esempio avremo:Dove:IMPORTANTE
- , rappresenta il moltilplicatore dell’instante ⇒.
- è il coefficiente elastico
Poiché si è nel caso monodimensionale:Per la stabiltà si impone che . (Ovvero un sistema a tempo discreto è asintoticamente stabile, o semplicemente stabile se tutti gli autovalori della matrice hanno modulo (cioè valore assoluto) strettamente minore di . Questo implica che, a lungo termine, le soluzioni del sistema tenderanno a , o a un punto di equilibrio):Dunque più alto è , più diventa piccolo e peggiore è il real-time. ==Quando si parla di real-time si intende un abbastanza grande in modo che il calcolatre abbia tempo di appunto calcolare il risultato, o l’approssimazione==. Il fatto che riscontriamo un problema numerico fa capire che l’approssimazione è piuttosto grossolana.
Vediamo invece lo stesso esempio, ma stavolta si utilizza il metodo del mid-point, il quale considera il anche secondo termine derivato dell’espansione. Si supponga di avere un sistema ad evoluzione libera:La derivata seconda è stabilita sempre tramite l’espansione di Taylor svolta su :Dove:Ma non si conosce , secondo il metodo del mid-point:In modo da semplificare questa espressione. Dunque sostituendo tutto nell’equazione iniziale:Che possiamo scrivere propiamente in tempo discreto, utilizzando i dati del problema come:Il termine aggiuntivo permette maggiori.
La dinamica in generale degli oggetti è descrivibile attraverso ODE e il problema più grande in simulazione è troncare risolutori di equazioni differenziali al fine di avere il real-time. Si fa dunque uso di semplificazioni.
Un esempio di oggetto dinamico è:
Con ODE:Quindi un ODE di 2° ordine e dipende dal tempo.
Si approssima ad un sistema di due equazioni differenziali di 1° ordine:La dimensione del vettore è pari all’ordine dell’equazione (quindi: ).
Risolvendolo:Dunque riconducendo il tutto alla forma dove :
Si consideri ora lo spostamento di un oggetto in uno spazio 3D (esempio caso multivariable):Dove: Si definisce lo stato:Per passare a equazioni differenziali di grado :Dove: le componenti della massa sono uguali , ma quelle dell’inerzia sono diverse:
NOT_SURE_ABOUT_THIS Quali sono i componenti dell'inerzia? Dove:
- è una matrice di soli .
- è la matrice d’indentità .
- Quindi:
In generale:Ma i calcolatori lavorano nel discreto, per cui non esiste propriamente, e:Dove:
- è l’intervallo.
- .
- IMPORTANTE Vengono usate le stesse lettere come nell’algoritmo di rendering, ma in questo caso è un numero puro intero, è una costante di tempo.
Per determinare si utilizza il metodo di Eulero, il quale consiste nell’approssimare alla sua espansione di Taylor al primo ordine:N.B.: Se si conoscessro tutte le derivate di in un punto si potrebbe prevederla in un futuro qualsiasi.
Tale approssimazione ha però forti limitazioni, si prenda ad esempio una molla:
Secondo l’equazione di Eulero:Poiché si è nel caso monodimensionale:Per la stabiltà si impone che :Dunque più che è alto, più diventa piccolo e peggiore è il real-time.
Il fatto che si ha un problema numerico fa capire che l’approssimazione è piuttosto grossolana.
Si utilizza dunque il metodo del mid-point, il quale considera il secondo termine derivato dell’espansione.
Si supponga di avere un sistema ad evoluzione libera:La derivata secondo è stabilita sempre tramite l’espansione di Taylor svolta su :Dove:Ma non si conosce , secondo il metodo:In modo da semplificare questa espressione.
Dunque sostituendo tutto nell’equazione iniziale:TODO Riscrivere i calcoli in fondo all pagina
Otteremo infine, in tempo “continuo”:Ed in tempo discreto:Il termine aggiuntivo permette maggiori.
- Calcoli per arrivare alla conclusione:
- (TODO
Non ho voglia di riscriverla per bene, ma da notare che nelle note viene scrittooil termineviene usato per distinguere questo il coeffiente d'attrito trovato in precedenza, in ongi caso questi termini io li ho scritti in queste note come:E HO SBAGLIATO, è utile differenziarli, ci sarebbero da riscriverli tutti)
- (TODO