Académique Documents
Professionnel Documents
Culture Documents
Le calcul de la position prcise des plantes est relativement simple grce la thorie VSOP87, de Francou et Bretagnon du
Bureau des Longitudes. Les donnes peuvent tre tlcharges sur le serveur ftp du Bureau des Longitudes
(ftp://ftp.imcce.fr/pub/ephem/planets/).
On emploie ici la thorie VSOP87D qui donne les coordonnes cliptiques hliocentriques (longitude l, latitude b et rayon
vecteur r) pour l'cliptique et l'quinoxe moyen de la date. Nous avons effectu ce choix pour deux raisons principales :
le calcul des coordonnes quatoriales gocentriques s'en trouve facilit.
la taille de l'ensemble des fichiers est petite par rapport aux autres versions de la thorie (d'o un calcul plus rapide).
Il est tout d'abord ncessaire de savoir calculer le jour julien jj pour un instant donn. Soit a l'anne, m le mois, j le jour et h
l'heure (compte tenu des minutes et des secondes).
Si m est gal 1 ou 2, il faut remplacer a par a 1 et m par m + 12.
Si la date appartient au calendrier grgorien (c'est--dire aprs le 15 octobre 1582), il faut dterminer :
a
100
= 2 + E
= E
o E ( X ) dsigne la partie entire de X.
h
+ 1524.5
24
La variable temps utilise dans les calculs est le millnaire julien compt depuis le 1er janvier 2000 12h TD :
jj 2451545
365250
Pour une plante donne, chaque coordonne cliptique s'crit sous la forme d'un polynome de degr 5, par exemple pour l :
n =5
l=
i =0
Chaque terme li est la somme de termes priodiques, que l'on peut crire sous la forme :
N
li =
a cos (b + c )
j
j =1
Ce sont les coefficients a j , b j et c j qui sont donns dans les trois dernires colonnes de chaque fichier VSOP87D fourni sur
le serveur ftp du Bureau des Longitudes. Les autres colonnes permettent aussi de calculer la position de la plante, mais le
calcul est un peu plus compliqu mettre en uvre. Il est vivement conseill, lors de l'laboration d'un programme, d'utiliser
les fichiers VSOP87D.xxx comme des fichiers lus par le programme. C'est pourquoi, il est ncessaire de ne garder que les
trois dernires colonnes pour allger ces fichiers, ainsi que le nombre de termes priodiques N relatif chaque degr du
polynme.
Ainsi, les premires lignes du fichier VSOP87D.ear sont (N = 559 pour l0 , N =341 pour l1 ) :
559
1.75347045673
0.00000000000
0.00000000000
0.03341656456
4.66925680417
6283.07584999140
0.00034894275
4.62610241759
12566.15169998280
0.00003497056
2.74411800971
5753.38488489680
.....................................................
0.00000000040
5.55145719241
12565.17137891460
0.00000000039
1.20838190039
18842.11400297339
341
6283.31966747491 0.00000000000
0.00000000000
0.00206058863
2.67823455584
6283.07584999140
0.00004303430
2.63512650414
12566.15169998280
0.00000425264
1.59046980729
3.52311834900
.....................................................
'559e terme
'1er terme pour l1
Chaque langage de programmation a une manire spcifique pour lire un fichier. Voici comment cela se fait sous Visual
Basic 2005 pour le fichier VSOP87D.ear, en s'inspirant de la mthode employe sous Fortran par Francou et Bretagnon :
Imports System.Math
Sub vsop(ByVal jj As Double, ByVal rr() As Double)
Dim i, k, n, z As Integer
Dim a, b, c, cv, sv, v, x, xa, xt, ya, yt, za, zt As Double
Dim t(5) As Double
t(0) = 1.0
t(1) = (jj - 2451545.0) / 365250.0
For i = 2 To 5
t(i) = t(1) * t(i - 1)
't(1)=tau
Next
FileOpen(1, "VSOP87D.ear", OpenMode.Input)
'ouverture du fichier VSOP87D.ear
For k = 1 To 3
rr(k) = 0.0
rr(k + 3) = 0.0
For i = 0 To 5
'i=degr du polynme
Input(1, n)
'n=nombre de termes priodiques
For z = 1 To n
Input(1, a)
'lecture des termes priodiques
Input(1, b)
Input(1, c)
v = b + c * t(1)
cv = Cos(v)
sv = Sin(v)
rr(k) += a * cv * t(i)
'position
If i <> 0 Then rr(k + 3) += t(i - 1) * i * a * cv
'vitesse
rr(k + 3) -= t(i) * a * c * sv
'
"
Next
Next
Next
FileClose(1)
rr(1) = mod2pi(rr(1))
'rduction l'intervalle 0-2*pi
For k = 4 To 6
rr(k) /= 365250.0
'vitesses en rad/jour et ua/jour
Next
x = rr(3) * Cos(rr(2))
'passage du repre VSOP
xa = x * Cos(rr(1))
'au repre FK5
ya = x * Sin(rr(1))
za = rr(3) * Sin(rr(2))
xt = xa + 0.000000440291 * ya - 0.000000190889 * za
yt = -0.000000440291 * xa + ya + 0.000000188593 * za
zt = 0.000000190889 * xa - 0.000000188593 * ya + za
rr(1) = Atan2(yt, xt)
'longitude cliptique (FK5)
If rr(1) < 0.0 Then rr(1) += 2.0 * PI
rr(2) = Atan(zt / Sqrt(xt ^ 2 + yt ^ 2))
'latitude cliptique (FK5)
End Sub
Nous rappelons que les coordonnes ainsi obtenues sont exprimes en radians pour la longitude et la latitude, et en units
astronomiques pour le rayon vecteur.
Les coordonnes du Soleil se dduisent de celles de la Terre ( le , be , re ) par la transformation suivante :
ls = le + 180
bs = be
r s = re
x2 + y 2 + z2
La position apparente de la plante l'instant t est sa position gomtrique l'instant t t , t est la dure mise par la
lumire pour parcourir la distance . l faut donc recalculer la position de la plante et de la Terre, pour la date :
jj ' = jj 0.005 775 518 31
On obtient de nouvelles positions (x, y, z), partir desquelles on dduit les coordonnes cliptiques gocentriques :
= arctan
y
x
= arctan
z
2
x + y2
app = +
L'obliquit vraie est : = 0 + , d'o les coordonnes quatoriales gocentriques :
sin app cos tan sin
ascension droite :
tan =
dclinaison :
cos app
En gnral, les langages de programmation connaissent la fonction arctan (ATN la plupart du temps) mais ne connaissent pas
la fonction arcsin, qu'il faut dfinir pour le calcul de :
arcsin x = arctan
x
1 x2
L'ascension droite est gnralement exprime en heures, donc il faut diviser le rsultat obtenu plus haut par 15.
La nutation en longitude et en obliquit est obtenue en calculant des termes priodiques issus du mouvement de la Lune et du
Soleil. Il faut tout d'abord calculer les 5 arguments suivants :
longation moyenne de la Lune :
D = 297.850 2042 + 1 602 961 601.4603"T 5.8681"T 2 + 0.006 595"T 3 0.000 03184"T 4
Anomalie moyenne du Soleil :
M = 357.529 109 18 + 129 596 581.0474"T 0.5529"T 2 + 0.000 147"T 3
Anomalie moyenne de la Lune :
M ' = 134.963 411 38 + 1 717 915 923.4728"T + 32.3893"T 2 + 0.051 651"T 3 0.000 2447"T 4
Argument de latitude de la Lune :
F = 93.272 099 32 + 1 739 527 263.0983"T 12.2505"T 2 0.001 021"T 3 + 0.000 004 17"T 4
Longitude du nud ascendant de l'orbite moyenne de la Lune :
= 125.044 555 04 6 962 890.2656"T + 7.4742"T 2 + 0.007 702"T 3 0.000 059 39"T 4
o T = 10 .
Le tableau suivant donne l'ensemble des termes priodiques pour la nutation en longitude et en obliquit exprimes en
0.0001".
Les premiers termes de la nutation en longitude et en obliquit sont :
= (171996 174.2 T ) sin + ( 13187 1.6 T ) sin (2 D + 2 F + 2) + (2274 0.2 T ) sin (2 F + 2) + ...
= (92025 + 8.9 T ) cos + (5736 3.1 T ) cos ( 2 D + 2 F + 2) + (977 0.5 T ) cos ( 2 F + 2) + ...
(sinus)
-171996
-174.2
-13187
-1.6
-2274
-0.2
2062
0.2
1426
-3.4
712
0.1
-517
1.2
-386
-0.4
-301
0
217
-0.5
-158
0
129
0.1
123
0
63
0.1
63
0
(cosinus)
92025
8.9
5736
-3.1
977
-0.5
-895
0.5
54
-0.1
-7
0
224
-0.6
200
0
129
-0.1
-95
0.3
-1
0
-70
0
-53
0
-33
0
-2
0
D
0
-2
0
0
0
0
-2
0
0
-2
-2
-2
0
0
2
M
0
0
0
0
1
0
1
0
0
-1
0
0
0
0
0
M'
0
0
0
0
0
1
0
0
1
0
1
0
-1
1
0
F
0
2
2
0
0
0
2
2
2
2
0
2
2
0
0
1
2
2
2
0
0
2
1
2
2
0
1
2
1
0
-59
-58
-51
48
46
-38
-31
29
29
26
-22
21
17
-16
16
-15
-13
-12
11
-10
-8
-7
-7
-7
7
-6
-6
6
6
6
-5
-5
-5
5
-4
-4
-4
4
4
4
-3
-3
-3
-3
-3
-3
-3
3
-2
-2
-2
-2
-2
2
2
2
0
-0.1
0
0
0
0
0
0
0
0
0
0
-0.1
0.1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
32
27
1
-24
16
13
-1
-12
-1
0
-10
0
7
-8
9
7
6
0
5
3
3
3
0
-3
3
3
-3
0
-3
3
3
3
0
0
0
0
0
-2
-2
0
0
1
1
1
1
1
0
1
1
1
1
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
2
0
0
-2
0
-2
0
0
-2
2
0
-2
0
0
2
2
0
2
-2
0
2
2
-2
2
-2
-2
-2
0
0
-1
1
-2
0
-2
-2
0
-1
2
2
0
0
0
0
4
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
-1
0
0
0
-1
0
1
1
0
0
0
0
0
0
-1
0
-1
0
0
1
0
0
1
1
-1
-1
-1
-1
0
0
0
0
0
0
-2
0
0
0
1
-1
-1
1
2
-2
0
2
2
1
0
0
-1
0
0
-1
0
1
0
2
-1
1
0
0
1
0
-2
0
2
1
1
0
0
2
1
1
0
0
1
2
0
1
1
-1
0
1
3
-2
1
-1
1
-1
0
-2
2
3
1
2
0
2
0
2
2
2
0
2
2
2
2
0
2
0
0
0
0
-2
2
2
2
2
0
2
0
0
2
0
2
0
2
2
0
0
0
0
-2
0
2
0
0
2
2
2
2
2
2
2
0
2
2
0
0
0
2
2
1
1
0
1
2
2
0
2
0
0
1
0
2
1
1
1
1
0
1
2
2
1
0
2
1
1
2
0
1
1
1
1
0
0
0
0
0
1
1
0
0
2
2
2
2
2
0
2
2
1
1
1
1
0
2
2
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
-2
2
-2
2
2
-2
-2
-4
-4
4
-1
4
2
0
0
-2
0
-2
-2
2
0
2
0
0
-2
2
-2
0
-2
1
2
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
1
0
1
0
0
0
-1
0
-1
1
0
1
1
1
0
0
0
1
1
1
1
2
0
0
-2
2
0
0
0
0
1
3
-2
-1
0
0
-1
2
2
2
2
1
-1
-1
0
2
0
2
0
0
2
-2
-2
-2
2
0
0
2
2
2
2
2
-2
4
0
2
2
2
0
-2
2
4
0
0
2
-2
0
0
0
0
2
1
1
1
0
0
0
0
0
0
0
0
2
2
2
2
1
1
2
2
2
2
2
2
1
1
2
0
0
1
1
0
1
1
0
Coordonnes gocentriques :
x = 0,212 820 669 053 463 67
y = 1,037 027 197 613 388
z = 0,030 505 844 156 564 831
= 23 26' 26,703"
= 7,413"
Le calcul effectu par les series96 (valables uniquement sur l'intervalle 19002100) donnent les coordonnes quatoriales
gocentriques suivantes :
= 17 h 10 min 10,350s
= 21 17 ' 23,81"
= 1,059197949 UA
La diffrence sur la distance est de 5,5 km ( comparer aux 4878km du diamtre de Mercure).
Nombre de
termes
l0
l1
l2
Longitude l3
l4
l5
tot
b0
b1
b2
Latitude b3
b4
b5
tot
Rayon
vecteur
r0
r1
r2
r3
r4
r5
tot
Mercure
Vnus
Terre
Mars
Jupiter
Saturne
Uranus
Neptune
1380
839
395
150
21
12
2797
818
494
230
52
13
8
1615
1215
711
312
60
11
8
2317
6729
367
215
70
9
5
5
671
210
133
59
15
5
4
426
330
180
63
7
3
2
585
1682
559
341
142
22
11
5
1080
184
99
49
11
5
0
348
526
292
139
27
10
3
997
2425
1217
686
310
129
36
15
2393
441
287
130
41
11
5
915
1118
596
313
111
28
9
2175
5483
760
369
191
109
45
10
1484
249
141
81
42
12
5
530
745
381
190
98
46
9
1469
3483
1152
642
321
148
68
27
2358
500
260
111
58
26
11
966
1205
639
342
157
64
28
2435
5759
947
426
151
46
7
1
1578
283
154
60
16
2
0
515
1124
514
192
55
11
0
1896
3989
423
183
57
15
2
1
681
172
82
25
9
1
1
290
607
250
72
22
7
0
958
1929