|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
ASTRONOMIE
Information sur la source
Description
Plusieurs fonctions dans un module astronomie.bas. certaines ont déjà été traitées mais à ma connaissance pas l'ensemble. Fonctions de conversions radian<->degré décimaux<->degré minutes secondes Fonctions jours juliens <-> jour du calendrier Fonction Modulo qui généralise mod à de grands nombres Fonctions IsBissextile, IsGregorien dont l'intitulé est limpide Fonctions JourSemaine avec une natrée en jour juline ou en jour du calendrier Fonction NuméroDuJour, NuméroDeLaSemaine qui renvoie le numéro du jour et de la semaine dans l'année Fonction Paques qui renvoie la date de Pâques pour une année donnée (à partir de 325) Fonction DateDelaLune renvoie la phase de la le nombre de jours écoulés depuis la dernière nouvelle lune Fonction PhaseLune renvoie la phase de la lune et le nombre de jours depuis le début de cette phase Fonction NombreLunaisons renvoie le nombre de lunaisons depuis le 1er janvier 1900 Fonctions DateNouvelleLune, DatePremierQuartier, DatePleineLune, DateDernierQuartier renvoie le jour julien de la phase correspondante d'une lunaison donnée Fonction Saison renvoie la date du début des saisons pour une année donnée Fonctions d'éléments orbitaux : LongitudeApparenteSoleil, LongitudeMoyenne, DemiGrandAxe, Excentricite, Inclinaison, LongitudeNoeudAscendant, AnomalieMoyenne, AnomalieExcentrique, AnomalieVraie, latitude, LongitudeEcliptique, Calcul_Longitude, Calcul_Longitude_Lune
Source
- Tout est dans le ZIP garanti sans virus. ce n'est pas un exe mais juste un .bas
- Pour vous donner une idée voici le code d'une des fonctions
-
- 'cette fonction renvoie la longitude de la planète en radian.
- Function Calcul_Longitude(Planete As Long, JJ As Double) As Double
- 'Pour calculer la longitude (l) par rapport à l'écliptique, il faut connaître
- 'i, l'inclinaison
- 'u, la latitude de la planète
- 'Omega, la longitude du noeud ascendant
- 'tan(l - Omega)=cos(i)*tan(u) formule 21.4 page 78
-
- 'Pour cela on utilise les fonctions correspondantes qui dépendent de la planète et du
- 'temps écoulé de puis le 1er janvier 1900 à minuit (T) ainsi que de T^2 et T^3
-
- Dim T As Double
- T = (JJ - 2415020#) / 36525
-
- Dim T_2 As Double
- T_2 = T * T
-
- Dim T_3 As Double
- T_3 = T * T_2
-
- If Planete = Lune Then
- Calcul_Longitude = Calcul_Longitude_Lune(T, T_2, T_3)
- Exit Function
- End If
-
- 'L'inclinaison
- 'i=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73
- Dim i As Double
- i = Inclinaison(Planete, T, T_2, T_3)
-
- 'u, L'argument (?) de la latitude de la planète dépend de
- 'LM, la longitude moyenne
- 'AV, l'anomalie vraie
- 'AM, l'anomalie moyenne
- 'Omega, la longitude du noeud ascendant
- 'u=LM+AV-AM-Omega formule 21.3 page 78
-
- 'LM, la longitude moyenne
- 'LM=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73 (dans le tableau il s'agit de L)
- Dim LM As Double
- LM = LongitudeMoyenne(Planete, T, T_2, T_3)
-
- 'AV, l'anomalie vraie dépend de l'excentricité e et de l'anomalie excentrique AE
- 'tan(AV/2)=Racine((1+e)/(1-e))*tan(AE/2) formule 21.1 page 78
-
- 'e, l'excentricité
- 'e=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73
- Dim e As Double
- e = Excentricite(Planete, T, T_2, T_3)
-
- 'AE, l'anomalie excentrique dépend de
- 'e, l'excentricité
- 'AM, l'anomalie moyenne
- 'Elle se trouve en résolvant l'équation de Kepler
- '2ème méthode modifiée pour obtenir des radians, page 69
- 'AE1=AE0+(AM+e*sin(AE0)-AE0)/(1-e*cos(AE0))
-
- 'AM, l'anomalie moyenne dépend de
- 'AM=a0+a1*T+a2*T_2+a3*T_3 page 77 (55 pour la terre)
-
- 'Omega, la longitude du noeud ascendant
- 'Omega=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73 (dans le tableau il s'agit de grand oméga)
- Dim Omega As Double
- Omega = LongitudeNoeudAscendant(Planete, T, T_2, T_3)
-
- Dim AM As Double
- AM = AnomalieMoyenne(Planete, T, T_2, T_3)
-
- Dim AE As Double
- AE = AnomalieExcentrique(e, AM)
-
- Dim AV As Double
- AV = AnomalieVraie(e, AE)
-
- Dim u As Double
- u = latitude(LM, AV, AM, Omega)
-
- Dim L As Double
- L = LongitudeEcliptique(i, u, Omega)
-
- Calcul_Longitude = L
-
- End Function
Tout est dans le ZIP garanti sans virus. ce n'est pas un exe mais juste un .bas
Pour vous donner une idée voici le code d'une des fonctions
'cette fonction renvoie la longitude de la planète en radian.
Function Calcul_Longitude(Planete As Long, JJ As Double) As Double
'Pour calculer la longitude (l) par rapport à l'écliptique, il faut connaître
'i, l'inclinaison
'u, la latitude de la planète
'Omega, la longitude du noeud ascendant
'tan(l - Omega)=cos(i)*tan(u) formule 21.4 page 78
'Pour cela on utilise les fonctions correspondantes qui dépendent de la planète et du
'temps écoulé de puis le 1er janvier 1900 à minuit (T) ainsi que de T^2 et T^3
Dim T As Double
T = (JJ - 2415020#) / 36525
Dim T_2 As Double
T_2 = T * T
Dim T_3 As Double
T_3 = T * T_2
If Planete = Lune Then
Calcul_Longitude = Calcul_Longitude_Lune(T, T_2, T_3)
Exit Function
End If
'L'inclinaison
'i=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73
Dim i As Double
i = Inclinaison(Planete, T, T_2, T_3)
'u, L'argument (?) de la latitude de la planète dépend de
'LM, la longitude moyenne
'AV, l'anomalie vraie
'AM, l'anomalie moyenne
'Omega, la longitude du noeud ascendant
'u=LM+AV-AM-Omega formule 21.3 page 78
'LM, la longitude moyenne
'LM=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73 (dans le tableau il s'agit de L)
Dim LM As Double
LM = LongitudeMoyenne(Planete, T, T_2, T_3)
'AV, l'anomalie vraie dépend de l'excentricité e et de l'anomalie excentrique AE
'tan(AV/2)=Racine((1+e)/(1-e))*tan(AE/2) formule 21.1 page 78
'e, l'excentricité
'e=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73
Dim e As Double
e = Excentricite(Planete, T, T_2, T_3)
'AE, l'anomalie excentrique dépend de
'e, l'excentricité
'AM, l'anomalie moyenne
'Elle se trouve en résolvant l'équation de Kepler
'2ème méthode modifiée pour obtenir des radians, page 69
'AE1=AE0+(AM+e*sin(AE0)-AE0)/(1-e*cos(AE0))
'AM, l'anomalie moyenne dépend de
'AM=a0+a1*T+a2*T_2+a3*T_3 page 77 (55 pour la terre)
'Omega, la longitude du noeud ascendant
'Omega=a0+a1*T+a2*T_2+a3*T_3 tableau 20a, page 73 (dans le tableau il s'agit de grand oméga)
Dim Omega As Double
Omega = LongitudeNoeudAscendant(Planete, T, T_2, T_3)
Dim AM As Double
AM = AnomalieMoyenne(Planete, T, T_2, T_3)
Dim AE As Double
AE = AnomalieExcentrique(e, AM)
Dim AV As Double
AV = AnomalieVraie(e, AE)
Dim u As Double
u = latitude(LM, AV, AM, Omega)
Dim L As Double
L = LongitudeEcliptique(i, u, Omega)
Calcul_Longitude = L
End Function
Conclusion
Ce module n'est pas un programme en lui-même mais peut servir à créer : un calendrier perpétuel une simulation du mouvement des planètes et plein d'autres choses. Attention pour Pluton, les calculs sont faux. Dés que je trouve les vraies valeurs, je modifie.
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Historique
- 15 avril 2008 20:10:33 :
- Pour Pluton, les éléments orbitaux calculés sont faux.
Je les laisse pour l'instant en attendant de trouver les bonnes valeurs.
- 15 avril 2008 20:53:28 :
- Erreur sur Pluton
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Astronomie et Math [ par bboulant ]
Bonjour à tous,j'ai a ma disposition la position de satellites artificiels toutes les 5 mn:En général 5 couples de donn
Astronomie [ par bboulant ]
Bonjour à tous,j'anime dans une fenetre entre 10 à 1000 points en fonction d'événement extérieur.Chaque point à un petit
|
Téléchargements
Logiciels à télécharger sur le même thème :
|