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

Catégorie :Maths Classé sous : Astronomie, planètes, Jour Julien, Pâques, Phases lune Niveau : Initié Date de création : 08/04/2008 Date de mise à jour : 15/04/2008 20:53:28 Vu / téléchargé: 4 985 / 343

Note :
Aucune note

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

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

Commentaires et avis

signaler à un administrateur
Commentaire de CmTop le 14/04/2008 08:37:06

Très interessant ! que je vais m'empresser de convertir dans mon language pour l'avoir sous la main.

Juste une petite question : Je ne connais pas le VB a quoi correspond le '#' dans cette formule
T = (JJ - 2415020#) / 36525

merci encore.

signaler à un administrateur
Commentaire de Patrice H le 14/04/2008 09:32:30

cela signifie que 2415020 est un double. Cela a la même valeur que 2415020.0

signaler à un administrateur
Commentaire de CmTop le 14/04/2008 09:55:55

Merci, pour la réponse !

signaler à un administrateur
Commentaire de hplodar le 01/06/2008 01:08:32

Interessant, mais pour le calcul des dates des saisons, les résultats donnés se semblent pas être en UTC (heure internationales) (heure de Greenwich). Sinon, pour quel fuseau horaire ce code est-il fait?

signaler à un administrateur
Commentaire de Patrice H le 03/06/2008 15:25:05

Ces modules ont beaucoup évolué depuis six semaines et je vais sans doute poster les nouvelles sources prochainement.
Pour la position des planètes, il s'agit de position sur l'écliptique et cela ne dépend donc d'aucun fuseau horaire. Pour les dates de saison (et de Pâques), la différence d'horaire devrait permettre d'adapter pour avoir les informations sur le fuseau souhaité.
Je précise que seuls les calculs de ces valeurs m'ont intéressé, ainsi que le fait d'en apprendre davantage sur ce sujet, mais l'astronomie en tant que tel ne m'intéresse pas particulièrement.
Je me suis basé pour les premiers calculs sur un livre de MEEUS et pour ceux qui vont venir sur un livre de BOUIGUES.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Astronomie et Math [ par bboulant ] Bonjour &#224; tous,j'ai a ma disposition la position de&nbsp;satellites artificiels toutes les 5 mn:En g&#233;n&#233;ral&nbsp; 5&nbsp;couples de donn Astronomie [ par bboulant ] Bonjour &#224; tous,j'anime dans une fenetre entre 10 &#224; 1000 points en fonction d'&#233;v&#233;nement ext&#233;rieur.Chaque point &#224; un petit


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.