Lune / Phase Lunaire Algorithme

Quelqu'un sait-il un algorithme pour calculer la phase de la lune ou de l'âge à une date donnée ou trouver les dates de la nouvelle/pleine lune dans une année donnée?

Recherche sur google me dit que la réponse est dans certains livres d'Astronomie, mais je n'ai pas vraiment envie d'acheter un livre en entier quand je n'ai besoin que d'une seule page.

Mise à jour:

J'aurais qualifié de ma déclaration au sujet de googler un peu mieux. J'ai fait de trouver des solutions qui n'a travaillé que sur certains sous-ensembles de temps (années 1900); et le trig solutions serait plus gourmand en ressources que je le voudrais.

S Lott dans son Python livre a plusieurs algorithmes pour le calcul de Pâques sur une année donnée, la plupart sont de moins en moins de dix lignes de code et du travail pour tous les jours dans le calendrier Grégorien. Trouver la pleine lune de Mars est un élément clé de trouver de Pâques, j'ai donc pensé il devrait y avoir un algorithme qui ne nécessite pas de trig et fonctionne pour toutes les dates du calendrier Grégorien.

  • Le même problème a été ici grappes de fois caché dans le problème de la détermination de la date de Pâques, de la Charpie, le vendredi saint, et/ou de la Pâque.
  • Une précision astronomique modèle est inévitablement complexe, le calcul de la pleine lune à partir de la date de Pâques est dérivé (voir en.wikipedia.org/wiki/Paschal_full_moon) utilise un modèle simplifié.
  • D'une grande utilité pour l'moon.py cité dans la réponse choisie est d'écrire une interface graphique de l'application (j'irais avec GTK) pour réellement montrer la phase de la lune avec une photo de la lune (en fait, je suis en train de faire ce qui est devenu beaucoup plus facile avec cette question et ses réponses...)
InformationsquelleAutor Scott Bailey | 2010-03-26