Equazione del Tempo

Posted on 2 giugno 2023. Filed under: Senza categoria |

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.

Pubblicità

Leggi l'articolo intero | Make a Comment ( None so far )

Recently on il Blog di Pieer11…

Equazione del Centro

Posted on 6 Maggio 2023. Filed under: Senza categoria |

Non tutte le funzioni sono uguali

Posted on 19 aprile 2023. Filed under: Senza categoria |

Ottenere un GUID

Posted on 7 aprile 2023. Filed under: Senza categoria |

Guardiamo Televideo

Posted on 8 marzo 2023. Filed under: Senza categoria |

Esecuzione di script in Powershell

Posted on 7 febbraio 2023. Filed under: Senza categoria |

Buon 2023

Posted on 1 gennaio 2023. Filed under: Senza categoria |

Prepariamo HIREN’S

Posted on 7 dicembre 2022. Filed under: Senza categoria |

Windows XPE

Posted on 7 dicembre 2022. Filed under: Senza categoria |

Installiamo Ghostscript

Posted on 5 dicembre 2022. Filed under: Senza categoria |

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