Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.sys.mac.programmation > #2780
| From | Eric H <prime-alexis@meta-science.fr> |
|---|---|
| Newsgroups | fr.sci.maths, fr.sci.astronomie, fr.comp.sys.mac.programmation |
| Subject | Re: Calculer les dates de Pleine Lune (Re: Mises à Jours : Soft Méta-Science) |
| Followup-To | fr.comp.sys.mac.programmation |
| Date | 2025-03-14 13:57 +0000 |
| Organization | www.meta-science.fr |
| Message-ID | <07b31908227dac22e8bf68c750ae3b18f70c4499@i2pn2.org> (permalink) |
| References | (10 earlier) <2b6d1ce238c99912415aae8db47cea229c625bdc@i2pn2.org> <67d42850$0$16840$426a74cc@news.free.fr> <vr19ha$1bhcj$1@dont-email.me> <67d42bfb$0$12945$426a34cc@news.free.fr> <16307d79f14b4963ff54643d52ce6648b0375da1@i2pn2.org> |
Cross-posted to 3 groups.
Followups directed to: fr.comp.sys.mac.programmation
Le vendredi 14 mars 2025 à 14:45 , Eric H, S'est exprimé :
> Le vendredi 14 mars 2025 à 14:15 , Michel Talon, S'est exprimé :
>
>> https://python.jpvweb.com/python/mesrecettespython/doku.php?id=phases_lune
>
> super le code a l'air touffue et semble être complexe il doit prendre en
> compte les nombreuses exceptions des calcules de phases de lune, merci je
> vous tiens au courant
>
Eric(Rê) :
calcule des pahses de lune, j'ai ça comme code en python, tu peux refaire
le code en langage Xojo ?
Loup GPT :
Oui, envoie-moi ton code Python et je le traduirai en Xojo. 😊
Eric(Rê) :
(envoi du code)
Loup GPT :
Oui, je peux traduire ce code Python en Xojo. Voici une version en Xojo
qui implémente les mêmes calculs :
Loup GPT :
Function Bissextile(An As Integer) As Boolean
If (An Mod 4) = 0 Then
If (An Mod 100) = 0 And (An Mod 400) <> 0 Then
Return False
Else
Return True
End If
Else
Return False
End If
End Function
Function PostDate(D1 As String, D2 As String) As Boolean
Dim J1, M1, A1, J2, M2, A2 As Integer
Dim parts1() As String = D1.Split("/")
Dim parts2() As String = D2.Split("/")
J1 = Val(parts1(0))
M1 = Val(parts1(1))
A1 = Val(parts1(2))
J2 = Val(parts2(0))
M2 = Val(parts2(1))
A2 = Val(parts2(2))
If A2 > A1 Then
Return True
ElseIf A2 = A1 Then
If M2 > M1 Then
Return True
ElseIf M2 = M1 Then
If J2 >= J1 Then
Return True
End If
End If
End If
Return False
End Function
Function JJ2Date(JJ As Double) As String
JJ = JJ + 0.5
Dim Z As Integer = Floor(JJ)
Dim F As Double = JJ - Z
Dim A, B, C, D, E As Integer
Dim alpha As Integer
If Z < 2299161 Then
A = Z
Else
alpha = Floor((Z - 1867216.25) / 36524.25)
A = Z + 1 + alpha - Floor(alpha / 4)
End If
B = A + 1524
C = Floor((B - 122.1) / 365.25)
D = Floor(365.25 * C)
E = Floor((B - D) / 30.6001)
Dim JD As Double = B - D - Floor(30.6001 * E) + F
Dim J As Integer = Floor(JD)
Dim M As Integer
If E < 13.5 Then
M = E - 1
Else
M = E - 13
End If
Dim Y As Integer
If M > 2 Then
Y = C - 4716
Else
Y = C - 4715
End If
Return Format(J, "00") + "/" + Format(M, "00") + "/" + Str(Y)
End Function
Function CalculPhasesLune(k As Double) As String
Dim T As Double = k / 1236.85
Dim JJ As Double = 2415020.75933 + 29.53058868 * k + 0.0001178 * T * T
- 0.000000155 * T * T * T
Dim M As Double = 359.2242 + 29.10535608 * k - 0.0000333 * T * T -
0.00000347 * T * T * T
Dim MP As Double = 306.0253 + 385.81691806 * k + 0.0107306 * T * T +
0.00001236 * T * T * T
Dim F As Double = 21.2964 + 390.67050646 * k - 0.0016528 * T * T -
0.00000239 * T * T * T
Dim kp As Integer = Round((k - Floor(k)) * 100)
If kp = 0 Or kp = 50 Then
JJ = JJ - 0.4068 * Sin(Radians(MP))
Else
JJ = JJ - 0.6280 * Sin(Radians(MP))
If kp = 25 Then
JJ = JJ + 0.0028 - 0.0004 * Cos(Radians(M)) + 0.0003 *
Cos(Radians(MP))
Else
JJ = JJ + 0.0028 + 0.0004 * Cos(Radians(M)) - 0.0003 *
Cos(Radians(MP))
End If
End If
Return JJ2Date(JJ)
End Function
Function PhasesLune(D As String, n As Integer) As String()
Dim k As Double = (Val(D.Right(4)) - 1900) * 12.3685
Dim phaseDates() As String
Dim p As Integer = 0
Dim d As String = CalculPhasesLune(k)
While Not PostDate(D, d)
k = k + 0.25
p = (p + 1) Mod 4
d = CalculPhasesLune(k)
Wend
phaseDates.Append(d)
For i As Integer = 1 To n - 1
k = k + 0.25
p = (p + 1) Mod 4
d = CalculPhasesLune(k)
phaseDates.Append(d)
Next
Return phaseDates
End Function
suivi programmation
--
\ / Croire c'est le contraire de savoir,
-- o -- si j'y crois, je ne sais pas,
/ \ si je sais, pas la peine d'y croire.
--> Je crois pas, car je sais que c'est faux malgré tout...
"Les grands esprits discutent des idées ; les esprits moyens discutent
des événements ; les petits esprits discutent des gens." (Eleanor Roosevelt)
Ma Fiche Mon Site Voyance (MSV) : <https://miniurl.be/r-5lsx>
Mes Applications : <https://sites.google.com/view/soft-meta-science/accueil>
Dossier DropBox pour voir des documents : <https://urlz.fr/rK5L>
Le Troll(19) : <https://miniurl.be/r-5rzl>
Comme le forgerons qui bat le fer pour obtenir une Épée, j'obtient
toujours un résultat final, même si ça met des années, je sais que ce que
je fait ce n'est pas pour rien./ (C)
Loi 636 :
Il est mal que le mal fasse du mal au bien.
Il est bien que le mal fasse du mal au mal.
Il est bien que le bien fasse du bien au bien.
Il est bien que le mal fasse du bien au bien.
Il est mal que le mal fasse du bien au mal.
Il est mal que le bien fasse du bien au mal.
Il est bien que le mal s’entre-tue.
Back to fr.comp.sys.mac.programmation | Previous | Next — Previous in thread | Next in thread | Find similar
Mises à Jours : Soft Méta-Science Prime Alexis <prime-alexis@meta-science.fr> - 2025-03-03 22:04 +0000
Re: Mises à Jours : Soft Méta-Science Prime Alexis <prime-alexis@meta-science.fr> - 2025-03-04 11:54 +0000
Re: Mises à Jours : Soft Méta-Science DuboisP <patrickr.dubois.don't.spam@free.fr.invalid> - 2025-03-04 15:54 +0100
Calculer les dates de Pleine Lune (Re: Mises à Jours : Soft Méta-Science) Prime Alexis <prime-alexis@meta-science.fr> - 2025-03-04 19:48 +0000
Re: Calculer les dates de Pleine Lune (Re: Mises à Jours : Soft Méta-Science) Eric H <prime-alexis@meta-science.fr> - 2025-03-14 13:57 +0000
Re: Calculer les dates de Pleine Lune (Re: Mises à Jours : Soft Méta-Science) Eric H <prime-alexis@meta-science.fr> - 2025-03-14 14:06 +0000
Re: Calculer les dates de Pleine Lune (Re: Mises à Jours : Soft Méta-Science) Eric H <prime-alexis@meta-science.fr> - 2025-03-14 14:46 +0000
Re: Mises à Jours : Soft Méta-Science Laika <laika@not-for-mail.invalid> - 2025-03-09 21:53 +0100
csiph-web