Equazione del Tempo
In questo articolo parlerò del Tempo (non atmosferico) ma astronomico.
Vi spiegherò cosa è e come calcolarlo, costruendo poi un semplicissimo programma un VB.NET per calcolarlo.
Durante il corso dell’anno, il tempo indicato da un orologio solare oscilla rispetto al suo scorrere regolare indicato da un orologio di un valore che va da +16 minuti e 25 secondi (tra il 31 ottobre ed il 1º novembre) a -14 minuti e 15 secondi (tra l’11 e il 12 febbraio), passando da +3’41” (tra il 13 e il 15 maggio) e da -6’30” (il 25 e 26 luglio).
Questo scostamento è chiamato equazione del tempo ed è la conseguenza dell’azione combinata tra l’inclinazione dell’asse e l’eccentricità dell’orbita della Terra. La rappresentazione visiva di questa equazione è l’analemma o con altro nome lemniscata, quando la sinusoide si chiude formando un otto (il lemniscus dei latini era un nastro che ornava, svolazzando, la testa dei vincitori).
Nella foto un orologio di una chiesa a Como che segna l’equazione del Tempo (foto scattata dal sottoscritto).

La formula per il calcolo diretto è:
-9.87 * Seno(((N – 81) * 720 / 365.242)) + 7.67 * Seno(((N – 1) * 360 / 365.242))
dove N è il numero dei giorni dall’inizio dell’anno.
Così per la data del 15/3/2023 avremo:
N=84
Equazione del tempo: 9,6 secondi
Costruiamoci un programma per il calcolo.
Questo è il codice VB.NET:
Private Sub EquazioneTempoButton_Click(sender As Object, e As RoutedEventArgs) Handles EquazioneTempoButton.Click
Dim Giorno = InputBox("Inserire il giorno di calcolo")
Dim Mese = InputBox("Inserire il mese di calcolo")
Dim Anno = InputBox("Inserire l'anno di calcolo")
Dim DataCalcolo As Date = Giorno & "/" & Mese & "/" & Anno
Dim N = DataCalcolo.DayOfYear
Dim EQ = -9.87 * Sin(ConvRadianti((N - 81) * 720 / 365.242)) + 7.67 * Sin(ConvRadianti((N - 1) * 360 / 365.242))
MessageBox.Show("Equazione del tempo per il " & DataCalcolo & ": " & EQ & " minuti.")
End Sub
Private Function ConvRadianti(Gradi As Double) As Double
Dim ritorna As Double
ritorna = Gradi * Math.PI / 180
Return ritorna
End Function

Poi ovviamente si può arrotondare e scrivere i decimali in secondi.
Leggi l'articolo intero | Make a Comment ( None so far )