Distanza Terra-sole

Posted on 18 aprile 2022. Filed under: Senza categoria |

Questa mattina mi sono svegliato con una nuova idea, tanto per cambiare.

Nell Web Application sul meteo che sto sviluppando, e della quale vi darò in settimana il Link, voglio aggiungerci anche la distanza Terra-Sole in tempo reale, almeno del giorno.

Sappiamo dagli almanacchi e dalle enciclopedie di astronomia che la distanza minima dal Sole è di 147 milioni, la distanza massima è di 152 milioni e la distanza media è di 149,6 milioni di Km.

Come fare quindi sapendo una data, qual’è la distanza in quella data fra Terra e sole?

Sappiamo anche che la distanza temporale fra i giorni di Afelio e di Perielio è di circa 180 giorni (Gennaio= Perielio, Luglio=Afelio).

Come calcoliamo quindi in quale punto siamo fra i 147 e i 162 milioni di Km che ci separano dal Sole?

Ovviamente non posiamo fare una interpolazione lineare, in quanto la Terra aumenta di velocità man mano che si avvicina al Sole. Se la velocità fosse uguale, allora si avremmo potuto usare la formula S= V x T, ma in questo caso non possiamo usarlo.

Ci viene incontro la prima legge di Keplero che afferma l’orbita descritta da un pianeta è un’ellisse, di cui il Sole occupa uno dei due fuochi.

Quindi il raggio vettore che unisce il centro del sole al centro di un pianeta è uguale a:

1-0,01672 * COS(0,98560*(n-4)) dove n è il numero dei giorni dal 1° gennaio.

Traduciamo dalla formula a un codice in VB.NET e otteniamo:

    Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles button.Click
        Dim Data As String = InputBox("Inserire la data di calcolo")
        If IsDate(Data) = True Then
            Dim DataCalcolo = CDate(Data)
            Dim NumeroGiorno As Integer = DataCalcolo.DayOfYear

            Dim Raggio = 1 - 0.01672 * Math.Cos(0.9856 * (NumeroGiorno - 4) * Math.PI / 180)
            Dim Distanza = Raggio * 149600000
            MsgBox("Distanza Terra-Luna al " & DataCalcolo & ": " & Distanza & " Km")
        End If
    End Sub

Lanciamo l’applicazione e otteniamo:

Questa è una soluzione molto approssimativa. Se volessimo avere un valore più preciso (qua l’errore è su qualche migliaio di chilometri) dovremo inserire una lunga sequenza di correzioni, cosa che esula dallo scopo di questo articolo.

Make a Comment

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Liked it here?
Why not try sites on the blogroll...

%d blogger hanno fatto clic su Mi Piace per questo: