230 liens privés
Calcul des positions planétaires - un tutoriel avec des exemples pratiques
Par Paul Schlyter, Stockholm, Suède
WWW : http://stjarnhimlen.se/
Sortir d'un cadre
1. Principes de base
2. Quelques fonctions utiles
3. Coordonnées rectangulaires et sphériques
4. L'échelle de temps. Une date test
5. La position du soleil
6. Le temps sidéral et l'angle horaire. Altitude et azimut
7. Position de la Lune
8. Position de la Lune avec une plus grande précision. Perturbations
9. Position topocentrique de la Lune
10. Les éléments orbitaux des planètes
11. Les positions héliocentriques des planètes
12. Plus grande précision - perturbations
13. Précession
14. Positions géocentriques des planètes
15. L'élongation et les éphémérides physiques des planètes
16. Les positions des comètes. Comète Encke et Levy
Comment calculer les positions des planètes
Calcul des heures de lever et de coucher
Aujourd'hui, il n'est pas très difficile de calculer la position d'une planète à partir de ses éléments orbitaux. La seule chose dont vous avez besoin est un ordinateur et un programme approprié. Si vous souhaitez écrire un tel programme vous-même, ce texte contient les formules dont vous avez besoin. Le but est d'obtenir les positions des planètes à n'importe quelle date du 20ème et 21ème siècle avec une erreur d'une ou deux minutes d'arc au maximum, et de calculer la position d'un astéroïde ou d'une comète à partir de ses éléments orbitaux.
Aucun programme n'est fourni, car les ordinateurs et les calculatrices sont programmés dans des langages différents.
Une implémentation de cet algorithme pour calculer la position du soleil (azimut et élévation) depuis un lieu.
https://fr.planetcalc.com/320/
Sunrise/Sunset Algorithm Example
Source:
Almanac for Computers, 1990
published by Nautical Almanac Office
United States Naval Observatory
Washington, DC 20392
Inputs:
day, month, year: date of sunrise/sunset
latitude, longitude: location for sunrise/sunset
zenith: Sun's zenith for sunrise/sunset
offical = 90 degrees 50'
civil = 96 degrees
nautical = 102 degrees
astronomical = 108 degrees
NOTE: longitude is positive for East and negative for West
Worked example (from book):
June 25, 1990: 25, 6, 1990
Wayne, NJ: 40.9, -74.3
Office zenith: 90 50' cos(zenith) = -0.01454
-
first calculate the day of the year
N1 = floor(275 month / 9)
N2 = floor((month + 9) / 12)
N3 = (1 + floor((year - 4 floor(year / 4) + 2) / 3))
N = N1 - (N2 * N3) + day - 30Example:
N1 = 183
N2 = 1
N3 = 1 + floor((1990 - 4 * 497 + 2) / 3)
= 1 + floor((1990 - 1988 + 2) / 3)
= 1 + floor((1990 - 1988 + 2) / 3)
= 1 + floor(4 / 3)
= 2
N = 183 - 2 + 25 - 30 = 176 -
convert the longitude to hour value and calculate an approximate time
lngHour = longitude / 15
if rising time is desired:
t = N + ((6 - lngHour) / 24)
if setting time is desired:
t = N + ((18 - lngHour) / 24)Example:
lngHour = -74.3 / 15 = -4.953
t = 176 + ((6 - -4.953) / 24)
= 176.456 -
calculate the Sun's mean anomaly
M = (0.9856 * t) - 3.289
Example:
M = (0.9856 * 176.456) - 3.289
= 170.626 -
calculate the Sun's true longitude
[Note throughout the arguments of the trig functions
(sin, tan) are in degrees. It will likely be necessary to
convert to radians. eg sin(170.626 deg) =sin(170.626*pi/180
radians)=0.16287]L = M + (1.916 sin(M)) + (0.020 sin(2 * M)) + 282.634
NOTE: L potentially needs to be adjusted into the range [0,360) by adding/subtracting 360Example:
L = 170.626 + (1.916 sin(170.626)) + (0.020 sin(2 170.626)) + 282.634
= 170.626 + (1.916 0.16287) + (0.020 * -0.32141) + 282.634
= 170.626 + 0.31206 + -0.0064282 + 282.634
= 453.566 - 360
= 93.566
5a. calculate the Sun's right ascension
RA = atan(0.91764 * tan(L))
NOTE: RA potentially needs to be adjusted into the range [0,360) by adding/subtracting 360
Example:
RA = atan(0.91764 * -16.046)
= atan(0.91764 * -16.046)
= atan(-14.722)
= -86.11412
5b. right ascension value needs to be in the same quadrant as L
Lquadrant = (floor( L/90)) * 90
RAquadrant = (floor(RA/90)) * 90
RA = RA + (Lquadrant - RAquadrant)
Example:
Lquadrant = (floor(93.566/90)) * 90
= 90
RAquadrant = (floor(-86.11412/90)) * 90
= -90
RA = -86.11412 + (90 - -90)
= -86.11412 + 180
= 93.886
5c. right ascension value needs to be converted into hours
RA = RA / 15
Example:
RA = 93.886 / 15
= 6.259
-
calculate the Sun's declination
sinDec = 0.39782 * sin(L)
cosDec = cos(asin(sinDec))Example:
sinDec = 0.39782 sin(93.566)
= 0.39782 0.99806
= 0.39705
cosDec = cos(asin(0.39705))
= cos(asin(0.39705))
= cos(23.394)
= 0.91780
7a. calculate the Sun's local hour angle
cosH = (cos(zenith) - (sinDec * sin(latitude))) / (cosDec * cos(latitude))
if (cosH > 1)
the sun never rises on this location (on the specified date)
if (cosH < -1)
the sun never sets on this location (on the specified date)
Example:
cosH = (-0.01454 - (0.39705 * sin(40.9))) / (0.91780 * cos(40.9))
= (-0.01454 - (0.39705 * 0.65474)) / (0.91780 * 0.75585)
= (-0.01454 - 0.25996) / 0.69372
= -0.2745 / 0.69372
= -0.39570
7b. finish calculating H and convert into hours
if if rising time is desired:
H = 360 - acos(cosH)
if setting time is desired:
H = acos(cosH)
H = H / 15
Example:
H = 360 - acos(-0.39570)
= 360 - 113.310 [ note result of acos converted to degrees]
= 246.690
H = 246.690 / 15
= 16.446
-
calculate local mean time of rising/setting
T = H + RA - (0.06571 * t) - 6.622
Example:
T = 16.446 + 6.259 - (0.06571 * 176.456) - 6.622
= 16.446 + 6.259 - 11.595 - 6.622
= 4.488 -
adjust back to UTC
UT = T - lngHour
NOTE: UT potentially needs to be adjusted into the range [0,24) by adding/subtracting 24Example:
UT = 4.488 - -4.953
= 9.441
= 9h 26m -
convert UT value to local time zone of latitude/longitude
localT = UT + localOffset
Example:
localT = 9h 26m + -4
= 5h 26m
= 5:26 am EDT
Une implémentation de cet algorithme:
https://fr.planetcalc.com/300/
En cartographie/navigation, un azimut entre 2 points est l'angle (dans le plan) formé par la droite passant par les 2 points et la ligne passant par les deux pôles. <dfn>azimuth</dfn>
Comment calculer la direction sachant 2 points ?
A partir de 2 points GPS (Point 1 : latitude lat1
, longitude long1 et Point 2 latitude lat2, longitude long2), la formule pour calculer un azimut A est A=atan2(y,x) avec atan2(y,x)=2arctany√x2+y2+x, x=cos(lat1)×sin(lat2)−sin(lat1)×cos(lat2)×cos(long2−long1) et y=sin(long2−long1)×cos(lat2)
L'angle est calculé en prenant pour base/référence, le pole nord géographique.
Recommandations collaboratives de contenus
Tournesol est un projet de recherche participatif et transparent sur l'éthique des systèmes de recommandations.
Aidez-nous à faire avancer la recherche en donnant votre avis sur les vidéos que vous avez regardées pour identifier les vidéos d'utilité publique qui devraient être largement recommandées.