scritto da alfonsodambrosio@yahoo.it

 

Buongiorno,

stanco delle solite animazioni con Scratch?

LA Fucina delle Scienze e Byoeg vi regalano un nuovo modo di vedere Scratch e la programmazione visuale…

Dotiamoci di nuovi occhi…

 

 

Oggi utilizziamo Scratch in tutte le sue potenzialità, studiando il problema dei 3 corpi.

 

Il problema dei 3 corpi è un classico della dinamica celeste.

Se abbiamo 2 corpi di massa m1 ed m2, fissata l’energia iniziale del sistema (traslazionale e rotazionale), l’equazione del moto è ben determinata (orbite ellittiche chiuse, o paraboliche aperte), ma cosa accade se i corpi che interagiscono gravitazionalmente sono 3?

Tre masse puntiformi, libere di muoversi nello spazio, si attraggono reciprocamente secondo la legge newtoniana di gravitazione. Si chiede di determinarne il movimento per qualunque configurazione e velocit`a iniziale.

Già Newton ci accorse dai dati empirici che l’orbita della Terra si discostava da quella ellittica prevista dalle sue equazioni e si convinse che a perturbare tale moto fosse l’influenza gravitazionale della Luna.

Si cercò, allora, di trovare una soluzione analitica del problema, cercando di risolvere le equazioni del moto, ma la cosa non riuscì neppure al celebre Eulero.

Eulero prima e Lagrange poi, trovarono alcune soluzioni del moto, tenendo conto del’equazione di mutua interazione tra i tre corpi, equazione che userò nella mia simulazione.

s

 

Oggi si deve a Poincarè la dimostrazione della non integrabilità del problema a 3 corpi, ovvero non esiste una soluzione generale analitica.

Il moto di tre corpi, in mutua interazione gravitazionale, dipende fortemente dalle posizioni iniziali dei corpi, dalle loro masse e dalle velocità iniziali.

Per una trattazione più o meno esauriente si veda

http://www.mat.unimi.it/users/antonio/meccel/Meccel_8.pdf

 

Avevo risolto il problema a 3 corpi nella sua forma semplificata, ovvero supponendo che uno dei 3 corpi abbia massa molto maggiore degli altri due e trovando orbite che si muovo come il seno e coseno della forza (soluzioni omografiche),trovate il primo lavoro in Scratch qui

http://www.lafucinadellescienze.it/wordpress/?p=3070

 

oggi voglio conludere questa parte.

Prima di tutto potete trovare la soluzione omografica andando a questo progetto. Anche qui la massa del corpo centrale è molto maggiore degli altri 2 (ho introdotto anche la possibilità di modificare la massa, ma il sistema non risponde in maniera lineare)

https://scratch.mit.edu/projects/92866979/

2corpi0

 

 

Non contento di questa soluzione, ho deciso di affrontare il problema nella sua forma generale.

Mi sono scritto l’equazione generale del moto ed ho tenuto conto di tutte le interazioni.

Per risolvere l’equazione differenziale non lineare di secondo ordine, ho discretizzato a derivata centrale i singoli termini differenziali ed ho utilizzato il generico algoritmo del tipo

x=x+1

per aggiornare le posizioni dei singoli corpi.

Si noti come tale espressione non ha significato matematico, ma  è di enorme importanza nel nostro problema iterativo!

Ho usato un passo di discretizzazione temporale di 0.0001 secondi, pertanto per accelerare il processo vi conviene usare la funzione Turbo con Scratch ovvero Shift + bandierina verde

Ecco il problema nella sua forma per differenze finite

d

 

Nella prima versione del progetto le masse sono tutte pari ad 1.

https://scratch.mit.edu/projects/92860095/#player

Se volete avere orbite più o meno stabili vi consiglio di scegliere le velocità nel range tra -1 ed 1 e di fissare quelle dei primi 2 pianeti uguali e dell’ultimo diverse.

3corpi3

Io ho usato 0.33 e 025 per le componenti dei primi due pianeti e -0.25 2 -0.27 per il terzo.

Eccovi alcune configurazioni orbitali

3corpi2

 

 

Nella versione due è possibile anche modificare le masse dei pianeti. Mi manca solo da aggiornare una versione 3 dove potete scegliere la configurazione iniziale (anche se guardando dentro il codice non è difficile cambiare tali parametri)

3corpi4

 

 

Considerazioni sulle simulazioni

Il sistema è fortemente instabile, perché siamo in presenza di copri molto vicini e di masse simili.

Eppure è possibile ottenere configurazioni stabili come l’8 di Eulero o configurazioni a farfalla.

3corpi 1

E’ affascinante notare come il nostro sistema planetario, pur essendo ad n corpi (includendo non solo i pianeti ma anche gli asteroidi) esiste da 5 miliardi di anni.

Magia della natura o stabilità momentanea matematica?

Di certo viviamo su un pianeta troppo bello per distruggerlo

 

Per qualsiasi dubbio o sùggerimento scrivete ad alfonsodambrosio@yahoo.it

Vai alla barra degli strumenti