Aller au contenu

Messages recommandés

Posté (modifié)

Calcul du jour julien selon La formule dans le message de FRED 76

----------------------------------------------------------------------------------------

On note :

J = numéro du jour

M = numéro du mois (1=janvier, 2=février...)

A = numéro de l'année

h = heure

m = minutes

s = secondes

 

Il faut procéder en étapes :

1. Remplacer J par J + (h + m/60 + s/3600) / 24

2. Si M = 1 ou M = 2, alors :

2.1 remplacer A par A-1

2.2 remplacer M par M+12

3. Calculer

U = INT(A/100) et V=2-U+INT(U/4)

Note : dans le calendrier julien, en usage avant 1584, il faut prendre V=0

4. Le jour julien JD se calcule alors avec la formule :

JD = INT(365.25*(A+4716))+INT(30.6001*(M+1))+J+V-1524.5

---------------------------------------------------------------------

Mon Enoncé:

22 Octobre 2016

00:55:00

 

MON CALCUL:

 

J = 22 + (0 + 55/60 + 0) / 24

J= 22,038194444

 

 

U= 2016/100

U= 20

 

V= 2-20 + 20/4

V= -18 + 5

V = -13

 

JD = 365,25* (2016 + 4716) + (30,6001 * 11) + 22,038194444 – 13 -1524,5

 

JD = 365,25 * 6732 + 336,6011 + 22,038194444 – 13 -1524,5

 

 

JD = 2457684,13

 

................

 

dans la légende de la formule il n'est pas spécifié ce qu'est U ou V .... Mais...

 

il y a cependant une petite différence avec la réalité... :confused:

(mon calcul est pourri) .... pour changer

JD selon ce convertisseur :

 

https://www.imcce.fr/fr/grandpublic/temps/jour_julien.html

 

 

2457683.53

Modifié par andreaferrecchia86
Posté (modifié)

dans la légende de la formule il n'est pas spécifié ce qu'est U ou V .... Mais...

U et V sont deux variables intermédiaires. Pas besoin de dire ce que c'est.

 

Quant à ton calcul, les étapes intermédiaires sont bonnes mais ton résultat est faux.

 

Quand on écrit INT(A/100), il ne faut pas négliger INT() !!! Cherche sur le net à quoi correspond la partie entière d'un nombre.

 

Same player shoot again !

 

Avec tes données, je trouve bien comme l'IMCCE : JD=2 457 683.53819 ouf !

 

H = −0,069114483°

 

H = 0h 0' 16,58''

 

(Je me demande si dans la dernière étape le signe moin saute ?)

 

Je n'ai pas vérifié le calcul de H dans le détail, mais à la fin, ça déraille encore une fois.

 

Quand on te dis qu'il est midi moins cinq c'est pas qu'il est midi cinq ! En fait dire qu'il est midi moins cinq revient à dire qu'il est 11h55. Autrement dit on a ajouté 12 heures aux 5 minutes négatives. Avec les angles c'est pareil sauf qu'il faut imaginer une montre graduée de 1h à 24h ou de 1° à 360° au lieu de 1h à 12h.

 

Regarde sur Internet ce que veut dire la fonction "modulo".

 

Ici, H°=-0.06911...° donc on est à 0.06911...° avant d'avoir fait un tour complet du cercle. Pour remettre le chiffre en positif, il suffit de rajouter 360° donc -0.06911...+360=359.9308855°, ce qui traduit en HMS donne : 23h 59 min 43.41 s.

Modifié par Fred_76
Posté (modifié)

Troisième partie : transformation des coordonnées

 

On note pour la suite :

L = longitude de l'observateur (attention au signe : positive vers l'ouest, négative vers l'est, 0° à Greenwhich, bref Trump est au chaud et Putin est au froid)

Phi = latitude de l'observateur (positive pour l'hémisphère nord, négative au sud)

Th = temps moyen sidéral de Greenwhich à l'heure d'observation, exprimée en TU (cf calcul en deuxième partie)

 

AD = ascension droite de l'objet observé

DEC = déclinaison de l'objet observé

 

h = altitude de l'objet observé

A = azimuth de l'objet observé, par rapport au sud et en tournant vers l'ouest (Sud 0°, Ouest 90°, Nord 180°, Est 270°).

 

H = angle horaire local de l'objet observé

 

 

 

Passage des coordonnées équatoriales en coordonnées altaz :

 

H =Th-L-AD

tan(A) = sin(H)/(cos(H)*sin(phi)-tan(DEC)*cos(phi))

sin(h) = sin(phi)*sin(DEC)+cos(phi)*cos(DEC)*cos(H)

 

Passage des coordonnées altaz en coordonnées équatoriales :

 

tan(H) = sin(A)/(cos(A)*sin(phi)+tan(h)*cos(phi))

sin(DEC) = sin(phi)*sin(h)-cos(phi)*cos(h)*cos(A)

AD=Th-L-H

 

Comme on a négligé l'effet de la nutation dans le calcul de Th, les résultats seront légèrement différents de ceux retournés par l'IMCCE mais la différence sera assez minime (tout au plus quelques secondes d'arc).

 

Attention 1 : tous les calculs doivent être faits avec des angles exprimés dans la même unité, soit en degrés, soit en radians. Prendre garde à l'unité angulaire requise par les fonctions sin(), cos() et tan(). Sous Excel l'angle en argument doit être exprimé en radians. Idem avec les fonctions asin(), acos() et atan() qui peuvent selon les logiciels retourner un résultat en degrés ou en radians (sous Excel ce sont des radians).

 

Attention 2 : avec le calcul de la fonction inverse de la tangente, il peut y avoir un problème de signe. Dans les deux cas ci-dessus, on a l'expression de la tangente en fonction d'une fraction :

tan(x) = A/B et on cherche x = ArcTangente( A/B )

Si on n'y prend pas garde, on risque d'avoir un résultat faux. Certains logiciels proposent une fonction alternative ATAN2 (ou ATN2) dont les arguments sont ATN2( B,A ) qui retourne directement le résultat correct. Si la fonction ATAN2 n'existe pas, on doit procéder en deux étapes :

1) calculer x = ATAN( A/B )

2) si B<0 alors x = x+180°

 

Exemple :

 

On cherche l'altitude et l'azimuth de Vénus le 10 avril 1987 à 19h21min00s UT à Washington (lon=77°03'56'' Ouest, Lat=38°55'17'' Nord). Les coordonnées de Vénus sont AD=23h09min16.641s et DE-6°43'11.61''

On trouve :

Th=8h34min57.0896s

H=-19.709792h=4.290208h=64.35312°=1.123174 rad

tan(A)=+0.9014787/+0.363591756

donc A=68.0344°

 

et

 

sin(h)=0.260911639

d'où h = 0.263966432 rad = 15.1242°

 

En tenant compte de la nutation on aurait trouvé A=68.0337° et h=15.1249° soit même pas 3" d'écart

 

Fin de la troisième partie

Modifié par Fred_76
Posté
Et n'oublie pas, andreafer..., qu'au final, l'heure sidérale est égale à l'ascension droite des astres qui passent au méridien. Ça peut peut-être t'aider...;)

 

Je pensais (d'apres ce que je constate sur stellarium et autres) que l'heure sidérale est égale au passage du point vernal fictif au méridien?

 

d'ailleur pour me faire une idée physique du "Minuit Sidéral" j'ai remarqué que l'on pouvai prendre comme référence

"omega" Psc ou 28 Psc durant les observations..

 

quand cette étoile passe le méridien, le temps sidéral local repart à 0 (à des brouettes près)...

 

C'est juste?

Posté (modifié)

Tu dis : "l'heure sidérale est égale au passage du point vernal fictif au méridien"

 

Cette phrase n'a pas beaucoup de sens :(. Pourquoi "est égale"...?

 

De la définition que je t'ai donnée dans le message précédent, il s'en suit que, quand le point vernal passe au méridien, il est précisément 00 h 00 m 00 s sidéral (puisque l'AD du Point vernal est égale, par définition, à 00 h 00 m 00 s) .

 

Oui, quand omega Psc (AD 00 h) passe au méridien, il est (pourquoi repart ?) précisément 0 h sidérale.

Modifié par Toutiet
Posté

Je me suis un peu confus, désolé

j'avais cru comprendre que le temps sidéral local (genre si on avait une horloge au poignet qui l'indique)

est l'angle horaire du point vernal. (ce qui est juste)

 

mais aussi...ta phrase est juste.

l'heure sidérale est égale à l'ascension droite des astres qui passent au méridien.

 

la différence c'est que moi j'étais sur une mesure de temps (dans ma tête)

et toi sur la coordonnée.

Posté (modifié)

Mais revenons à nos moutons et je corrige ma Date Julienne :-) :-):cool:

 

J'ai compris ce que int veut dire (en faite j'avais compris, mais j'ai omis de le faire à cet endroit là):

 

"JD = 365,25 * 6732 + 336,6011 + 22,038194444 – 13 -1524,5" &lt;_&lt;

Mon Enoncé:

22 Octobre 2016

00:55:00

 

donc ca donne:

MON CALCUL:

J = 22 + (0 + 55/60 + 0) / 24

J= 22,038194444

 

 

U= 2016/100

U= 20

 

V= 2-20 + 5

V= -13

 

 

JD = 365,25* (2016 + 4716) + (30,6001 * 11) + 22,038194444 – 13 -1524,5

 

JD = 365,25 * 6732 + 336 + 22,038194444 – 13 -1524,5

 

 

JD = 2457683,53

 

ce qui correspond au convertisseur!

( https://www.imcce.fr/fr/grandpublic/...ur_julien.html ) :):):break:

 

Cela dit ca m'aurait quand meme plut de savoir ce que U et V veulent dire....

Mais si c'est reservé au V.I.A (Very Important Asrtonomers) :-) Je m'incline..!

 

et je continue avec la partie deux de fred 76!

 

:)

Modifié par andreaferrecchia86
Posté

U est manifestement le nombre de siècles juliens (je crois). V est un autre calcul intermédiaire, ça a l'air d'être le nombre de jours de décalage entre le calendrier julien et le calendrier grégorien, quelque chose comme ça (qui dépend en effet du nombre de siècles écoulés).

Posté

Comme je l'ai dit, U et V sont deux variables intermédiaires qui n'ont pas d'autre sens que d'être ... des variables intermédiaires. Il est donc inutile de leur trouver une autre explication.

Posté (modifié)

Je butte à nouveau...

 

Temps Sidéral*:

 

Temps sidéral a Grinwich a 00:00 TU (le 22 octobre 2016) -----> si j'ai bien compris*!?

 

T = (JD – 2451545.0)/36525

T=(2457683,53 - 2451545,0) / 36525

T= 0,168063792

 

Puis on calcule le temps sidéral moyen Th à pour la date et heure voulue :

 

Th = 280.46061837 + 360.98564736629 * ( 2457683,53 - 2 451 545.0) + 0.000 387 933 * 0,168063792^2 – 0,168063792^3 / 38710000

Th = 280.46061837 + 360.98564736629 * 6138,53 + 0.000 387 933 * 0,028245438 – 0,004747035 / 38710000 ------->(la calculatrice m'a refusé cet opé, et la considéré =0)

 

Th = 280.46061837 + 2215921,225927392 + 0,000010957 – 0,004747035

 

Th= 2216201,681809684°

 

... c'est ici qu'il faut faire un "modulo 360"?

221 000 degrés ça fait un peu beaucoup...

J'ai pas très bien compris comment on fait un modulo 360, mais je me contenterai d'un lien sur une page qui l'explique... j'ai rien trouvé de concret... :confused:

Modifié par andreaferrecchia86
Posté
Tu n'as rien trouvé de concret en tapant "opération modulo" ou "fonction modulo" par exemple ?

 

Biensur que si que j'ai trouvé.... mais comment l'appliquer dans mon cas?

 

j'ai un résultat en degrés énorme, avec des décimales.. je dois obtenir un resultat plus petit sans perdre d'information

 

l'operation n'est pas évidente pour moi :confused:

 

j'ai lu les pages de théories sur la fonction modulo... mais en vain..

 

je vais quand meme pas craquer à deux doigts de la gloire:D:D:b:

Posté

Si je te dis qu'à cet instant nous sommes à la 7546.833 heure de la journée depuis le début de l'année et que c'est la même chose que de dire qu'il est actuellement 10h50, ça n'éclaire pas une lanterne ?

 

 

x Modulo y = x - y * INT(x/y)

Dans notre exemple, vu qu'il y a 24 heures par jour, 7546.833 Mod 24 = 7546.833 - 24 * INT(7546.833/24) = 7546.839 - 24*314 = 10.833 h soit 10h50min.

 

Posté (modifié)

On part du nombre 2216201,681809684°. On le divise par 360, ça donne : 6156,115782803 (le nombre de départ correspond donc à 6156 tours plus une fraction). On garde la partie fractionnaire : 0,115782803 (c'est la fraction de tour correspondant au dernier tour, celui qui n'est pas complet). Pour savoir combien ça fait de degrés, on multiplie par 360 : 41,681809°.

Modifié par 'Bruno
Posté (modifié)
On part du nombre 2216201' date='681809684°. On le divise par 360, ça donne : 6156,115782803 (le nombre de départ correspond donc à 6156 tours plus une fraction). On garde la partie fractionnaire : 0,115782803 (c'est la fraction de tour correspondant au dernier tour, celui qui n'est pas complet). Pour savoir combien ça fait de degrés, on multiplie par 360 : 41,681809°.[/quote']

 

Cette méthode fonctionne bien si le nombre d'entrée est positif. S'il est négatif il faut ruser.

 

Il est préférable d'utiliser la méthode que j'ai indiquée dans mon message précédent (dans le spoiler) et qui fonctionne dans tous les cas.

 

Il y a diverses façons de calculer la fonction modulo. Par exemple dans Excel :

 

1) soit avec la fonction prévue pour : =MOD(X,Y) qui va calculer correctement le résultat, entre 0 et +Y

2) soit avec la formule utilisant la partie entière : =X-Y*INT(X/Y), elle retournera une valeur entre 0 et +Y, on perd la vision du signe mais en trigonométrie on s'en fout vu qu'on tourne autour d'un cercle

3) soit avec la formule utilisant la partie tronquée : =X-Y*TRUNC(X/Y), elle retournera une valeur entre -Y et +Y, pratique si on veut conserver la notion du signe, en finance par exemple, car le signe permet de visualiser le flux de trésorerie

 

Il n'y a pas de fonction dans Excel qui extrait directement la partie fractionnaire. La meilleure est celle ci : =ABS(X)-INT(ABS(X))

 

On arrive alors à la formule pour le calcul du modulo, avec la ruse pour corriger le signe :

 

4) avec la partie fractionnaire : =SIGN(X)*Y*(ABS(X/Y)-INT(ABS(X/Y))), qui retournera une valeur entre -Y et +Y.

 

Je trouve que les formules 2 ou 3 sont quand même plus simples que la 4 !

 

Désolé j'ai une version anglaise d'Excel, j'ai appris avec cette version (depuis Multiplan et Lotus 1-2-3) et je trouve la version française absurde dans la façon dont les fonctions ont été traduites...

 

 

 

Exemple :

X = -5 358.31819032°

Y = 360°

 

1) MOD(-5 358.31819032 ; 360) = 41.6818097°

2) -5358.31819032-360*INT(-5358.31819032/360) = -5358.31819032-360*(-15) = 41.6818097°

3) -5358.31819032-360*TRUNC(-5358.31819032/360) = -5358.31819032-360*(-14) = -318.3181903 ° qui est la même chose que 41.6818097 °

4) =SIGN(-5358.31819032)*360*(ABS(-5358.31819032/360)-INT(ABS(-5358.31819032/360))) = -1*360*(14.8842172-14) = -318.3181903 °

 

Avec la méthode de la partie fractionnaire "sans ruser" on a :

FRAC(-5358.31819032/360)*360 = FRAC(-14.88421720)*360 = 0.8842171953*360 = 318.3181903 ° et c'est pas bon !

 

Modifié par Fred_76
Posté

C'est vraiment super interessant... Merci pour toutes vos explications!

Je ne savais pas qu'on pouvait faire tout ca.

C'est juste beau ..!

Je vais pas avoir le temps de décortiquer ces explications maintenant, même si l'envie me démange!

Je vais me marier dans quelques jours:) , alors je vais devoir mettre sur pause!

Pour revenir dans quelques jours quand ce sera un peu plus tranquil et le stress redescendra!;)

 

A tout bientôt et merci encore!:):)

Posté
Ton mariage peut pas attendre...? :be:

 

SI !

 

Alors... comme je disais, j'ai compris le principe...

 

et l'opération à faire!

 

Genre j'avais fait un peu de programmation en C jadis...et si je devais effectuer ce calcul,

 

je ferais genre une boucle.

 

"tant que le résultat est supérieur à 360, soustraire 360..."

je me rapelle plus du langage... c'était pas un truc du genre "if" et "else" ...:b:?

 

mais c'est pour le faire à la main que ca me pose probleme... mais de toute facon, je peux pas me pencher sur la question maintenant ;):be:

 

à bientôt je reviendrai vite! :)

Posté (modifié)
Genre j'avais fait un peu de programmation en C jadis...et si je devais effectuer ce calcul,

 

je ferais genre une boucle.

 

"tant que le résultat est supérieur à 360, soustraire 360..."

je me rapelle plus du langage... c'était pas un truc du genre "if" et "else" ...?

Beaucoup trop long !

 

En C on utilise la fonction fmod de <math.h> qui calcule directement le modulo.

 

Maintenant, si pour t'amuser tu veux écrire ton propre modulo, c'est en effet une bonne stratégie. Ça pourrait faire quelque chose comme :

 

if (x < 0.0) // cas où x est trop petit : on doit ajouter 360° jusqu'à ce que x >= 0
{
   while (x < 0.0) x += 360.0 ;
}
else if (x >= 360.0) // cas où x est trop grand : on doit retrancher 360° jusqu'à ce que x < 360
{
   while (x >= 360.0) x -= 360.0 ;
}
// sinon, c'est qu'on est déjà dans [0,360[ : il n'y a rien à faire
Modifié par 'Bruno
Posté (modifié)

Non le plus simple c'est Mod(x,y)=x-y*int(x/y) avec un test avant pour ne pas faire une division par 0. C'est tout. Aucune boucle. Celui qui fait une boucle pour ça, il fait de la prog de noob !!!

 

Mais ici, vu que la fonction existe déjà, pas la peine de la recoder...

Modifié par Fred_76
  • 2 mois plus tard...
Posté

Hello,

 

Si cela peut intéresser certains, je viens de mettre à dispo sur mon github une librairie C++ nommée Ephemeris et basée sur l'ouvrage de Jean Meeus...

https://github.com/MarScaper/ephemeris

Le code est optimisé pour tourner sur Arduino mais reste multiplateforme.

 

Je viens justement d'y implémenter les conversions de coordonnées équatoriales vers horizontales et horizontales vers équatoriales (beaucoup moins fréquent sur la toile) pour mes besoins en plus des éphémérides du système solaire.

 

En espérant que cela puisse aider à faire avancer le Schmilblick comme dirait Pierre Dac. :p

  • J'aime 1
  • 8 mois plus tard...
Posté

Bonjour à tous je refais apparition après un longue periode de surpises et de rebondissements, motivé plus que jamais pour convertir des coordonnées horizontales en équato à la main. Je repotasse le sujet à fond et demain je continue mes calculs ☺... 3.... 2..... 1..... à vos cerveaux! C est partit!

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.