Mthode Calcul des phase de lune

je ne vois pas trop quoi faire pour qu’il me retourne un pourcentage sur
100% avec la prcision qui va avec… pour l’instant a retourne 30 pour
pleine lune noire et 15 pour pleine lune blanche…

vous voulez bien m’aider ?

je vous met les source modifier a ma faon…

dim ph as Double = MoonAge( d2,m,y) rem demande de pourcentage de la lune


methode MoonAge(d as Integer, m as Integer, y as Integer) as Double

dim j as Integer = JulianDate(d, m, y)
Dim ip As Double
Dim ag As Double
//Calculate the approximate phase of the moon
ip = (j + 4.867) / 29.53059
ip = ip - Floor(ip)
//After several trials I’ve seen to add the following lines, //which gave the result was not bad
if(ip < 0.5) then
ag = ip * 29.53059 + 29.53059 / 2
else
ag = ip * 29.53059 - 29.53059 / 2
end if
// Moon’s age in days

'ag = Floor(ag) + 1

ag = round(ag) + 1
return ag


methode JulianDate(d as Integer, m as Integer, y as Integer) as Integer

dim mm, yy as Integer
dim k1, k2, k3 as Integer
dim j as Integer
yy = y - Floor((12 - m) / 10)
mm = m + 9
if (mm >= 12) then mm = mm - 12
k1 = floor((365.25 * (yy + 4712)))
k2 = floor((30.6001 * mm + 0.5))
k3 = floor(floor((yy / 100) + 49) * 0.75) - 38
// ‘j’ for dates in Julian calendar:
j = k1 + k2 + d + 59
// For Gregorian calendar:
if (j > 2299160) then j = j - k3 // ‘j’ is the Julian date at 12h UT (Universal Time)
return j

En divisant la valeur par 30 puis en multipliant par 100, on obtient un rsultat entre 0 et 100.

il y a un round (ou floor qui est presque pareil) la fin de la mthode moonage.
du coup on es arrondi l’entier prs.
si on enlve ce round ag=ag+1
cela ne donnerait il pas directement le bon rsultat ?

[quote=403965:@Jean-Yves Pochez]il y a un round (ou floor qui est presque pareil) à la fin de la méthode moonage.
du coup on es arrondi à l’entier près.
si on enlève ce round ag=ag+1
cela ne donnerait il pas directement le bon résultat ?[/quote]

oui mais ça reste dans la fourchette de 0 a 30, mois ce que je veux c’est que la fourchette soit de 0 a 100 et que la précision soit au rdv, en fait la lune a 0% c’est plaine lune noire et a 100% c’est pleine lune blanche, c’est ce que je recherche mais comme je le dis avec la présision du calcule et non pas en convertissant le resultat de 0 a 30 en pourcent ce qui reviendrait au même…

si on donne un jour seulement comme valeur de dpart (jour-mois-anne)
on aura une lune prcise au jour prs.
il faudrait avoir un calcul qui prend en compte l’heure et la minute de calcul
sinon la prcision 0.01 prs sur 100 (ce qui reprsente un peu plus de 4 minutes …)
ne sera jamais atteinte !
pour un calcul au jour prs, la valeur entre 0 et 30 est plus que suffisante.

voir ici :
http://www.giangrandi.ch/soft/mooncalc/mooncalc.shtml

en faite j’aimerait avoir les mme rsultat que les calendrier imprimer et ceux qui sont en ligne comme :

http://www.w33kn.com/#calendar

je lui demanderait bien son source a ce site mais pas moyen de le contacter et encore serait il d’accore ? :wink:

sur la page indique au dessus, on peut afficher le source de la page, c’est du javascript
il y a une liste de 5200 elements pour calculer la phase de la lune … il n’y a qu’ recopier !
view-source:http://www.giangrandi.ch/soft/mooncalc/mooncalc.shtml

MOUARF, trop drle, je n’y avais pas pens, je vais voir… merci :wink: j’ai dj russi a traduire du java en Xojo, a devrait le faire, je vous tiens au courant de la suite, merci encore :slight_smile:

[quote=404010:@Jean-Yves Pochez]sur la page indiquée au dessus, on peut afficher le source de la page, c’est du javascript
il y a une liste de 5200 elements pour calculer la phase de la lune … il n’y a qu’à recopier !
view-source:http://www.giangrandi.ch/soft/mooncalc/mooncalc.shtml[/quote]

je me perd dans ce truc, pourrait tu me copier et coller ici le source qui calcul les lunes, et j’essaierait de faire le reste, java je connait pas, mais si c’est une fonction je peux m’y retrouver je pense, sinon je ferait appel a vous les pros :wink:

je pense pas que les gens de xojo aimeront que je pollue leur forum avec un tableau de 5200 lignes …
si tu n’arrives pas extraire le source de la page que j’ai indique, je ne suis vraiment pas sur que tu sauras le traduire en xojo !

j’ai dj traduit un source java en Xojo, d’ailleurs ce source est sur la lune et n’est pas assez prcis…

je te met mon mail envoi moi a par mail si tu veux bien, merci

je verait ce que je peu en faire, ce qui compte c’est d’avoir un source qui marche…

eric.hamery@meta-science.fr

ok je vois le source… c’est un tableau me semble t’il des lunes je vais trouver je pense la faon de l’utilis, merci encore

L je pense que j’ai la solution et que a va marcher, merci encore… quelque soit le temps que je passe a traduire le code, le rsultat sera ce que je cherche car l c’est un tableau et l pas d’erreur de calcule me semble t’il :wink:

ha il y a un problme :

The following array contains all the lunar phases between 2000 and 2100.

moi j’ai besoin pour calculer les lunes blanche et noire d’une anne de naissance, et videment sur des gens qui sont n avant 2000 le plus souvent…

mais cela soulve un livre c’est qu’il faut ce baser sur un tableau car le calcule n’est pas prcis…

pourtant le site que j’ai mis le lien remonte jusqu’a l’an 0, est ce bien le source utilis par le site ?

http://www.w33kn.com/#calendar

l’auteur du site indique :

ce qui avec un peu de googlefu donne :

toutes les tables de toutes les phases de la lune pendant des sicles …

Un GRAND MERCI, je vais pouvoir faire quelque chose avec a, mme si a va demander de la manipulation pour grer ces tableau la solution est l… en esperant que le calcule soit bon :slight_smile: parce que si c’est pour donner le mme resultat que les source que j’ai utlis je ne serait pas plus avancer, je vais verifier si l’anne 2018 est bonne et je te dis a

le tableau 2018 est bon… super merci, j’arriverait a exploiter la chose merci encore, on peut dire “affaire class”…

rsultat des comptes, j’ai russi a faire ce que je voulais, merci encore…