J'ai besoin d'une fonction qui renvoie la phase de la lune
en fonction de la date (et de l'heure).
Est-ce que quelqu'un a déjà fait ça
ou connaît des scripts pour ?
JLuc
Bjr.
J'ai adapté une vieille fonction en Javascript qui fait cela :
<SCRIPT LANGUAGE="JavaScript">
<!--
<!-- Age de la lune -->
<!-- D'aprhs Bernard Sigaud (L'Ordinateur Individuel 62, juillet 1984)
-->
<!-- Source : formule de P.HARVEY, JBAA (Journal of British Amateur
Astronomy) -->
<!-- Juillet 1941 -->
<!--
==================================================================== -->
<!-- Diviser le chiffre de l'annie par 19 et garder le reste. -->
<!-- Multiplier ce reste par 11. -->
<!-- Ajouter 1/3 du chiffre du sihcle, en supprimant les dicimales. -->
<!-- Ajouter 1/4 du chiffre du sihcle, en supprimant les dicimales. -->
<!-- Ajouter 8. -->
<!-- Retrancher le chiffre du sihcle. -->
<!-- Ajouter le chiffre du mois en faisant commencer l'annie en mars.
-->
<!-- Ajouter le jour. -->
<!-- Retrancher les multiples de 30. -->
<!--
==================================================================== -->
q=parseInt(annee/19);
annee2=annee-(q*19);
annee2=annee2*11;
annee2=annee2+parseInt(annee/300);
annee2=annee2+parseInt(annee/400);
annee2=annee2+8;
annee2=annee2-parseInt(annee/100);
mois2=(mcour+1)-2;
if (mois2<0) mois2=12-Math.abs(mois2);
annee2=annee2+mois2;
annee2=annee2+jcour;
p=parseInt(annee2/30);
p=30*p;
annee2=annee2-p;
if ((annee2==0)||(annee2==29)) {
document.write('<IMG SRC="/images/lunenl.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 29-0 = NL nouvelle lune ('+annee2+')');
}
if ((annee2>=1)&&(annee2<=6)) {
document.write('<IMG SRC="/images/lunenl.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' <IMG SRC="/images/arrow.gif" HEIGHT=18 WIDTH=36
ALIGN=ABSMIDDLE>');
document.write('<IMG SRC="/images/lune1q.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 1-6 = LC lune croissante ('+annee2+')');
}
if (annee2==7) {
document.write('<IMG SRC="/images/lune1q.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 7 = PQ premier quartier ('+annee2+')');
}
if ((annee2>=8)&&(annee2<=14)) {
document.write('<IMG SRC="/images/lune1q.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' <IMG SRC="/images/arrow.gif" HEIGHT=18 WIDTH=26
ALIGN=ABSMIDDLE>');
document.write('<IMG SRC="/images/lunepl.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 8-14 = LGC lune gibbeuse croissante
('+annee2+')');
}
if (annee2==15) {
document.write('<IMG SRC="/images/lunepl.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 15 = PL pleine lune ('+annee2+')');
}
if ((annee2>=16)&&(annee2<=21)) {
document.write('<IMG SRC="/images/lunepl.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' <IMG SRC="/images/arrow.gif" HEIGHT=18 WIDTH=36
ALIGN=ABSMIDDLE>');
document.write('<IMG SRC="/images/lunedq.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 16-21 = LGD lune gibbeuse décroissante
('+annee2+')');
}
if (annee2==22) {
document.write('<IMG SRC="/images/lunedq.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 22 = DQ dernier quartier ('+annee2+')');
}
if ((annee2>=23)&&(annee2<=28)) {
document.write('<IMG SRC="/images/lunedq.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' <IMG SRC="/images/arrow.gif" HEIGHT=18 WIDTH=36
ALIGN=ABSMIDDLE>');
document.write('<IMG SRC="/images/lunenl.gif" HEIGHT=24 WIDTH=24
ALIGN=ABSMIDDLE>');
document.write(' 23-28 = LD lune décroissante
('+annee2+')');
}
</SCRIPT>
Si ça peut t'aider !
--
Slts
JLuc a écrit :
J'ai besoin d'une fonction qui renvoie la phase de la lune
en fonction de la date (et de l'heure).
Est-ce que quelqu'un a déjà fait ça
ou connaît des scripts pour ?
JLuc_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
Pierre-Henri Silliau a écrit :
J'ai adapté une vieille fonction en Javascript qui fait cela :
Diviser le chiffre de l'annie par 19 et garder le reste.
> ...
Si ça peut t'aider !
Merci, on dirait une recette de sorcellerie du manuel
des castors juniors !!
je vais voir avec ça et d'autres trucs trouvés si ça concorde
... et vérifier en levant le nez cette nuit.
JLuc