Hier:
def suns_apparent_ecliptic_longitude
suns_mean_longitude
+ SUNS_GEODETIC_PRECESSION * sin(suns_mean_anomaly)
+ EARTHS_ORBITAL_ECCENTRICITY * sin(2 * suns_mean_anomaly)
end
je bent eenheden aan het mixen. suns_mean_longitude
is radialen, net als SUNS_GEODETIC_PRECESSION
(en dus is dit de tweede term), maar EARTHS_ORBITAL_ECCENTRICITY
is 0.020
< strong> graden .
Bovendien:
EARTHS_APPROXIMATE_ATMOSPHERIC_REFRACTION = degrees_to_radians 0.01671
zou gewoon moeten zijn
EARTHS_APPROXIMATE_ATMOSPHERIC_REFRACTION = 0.01671
Ik denk dat dit wordt gebruikt in een formule die een afstand bepaalt.
Bijkomend bovendien
def suns_right_ascension
atan2(cos(suns_apparent_ecliptic_longitude) * sin(suns_apparent_ecliptic_longitude), cos(suns_apparent_ecliptic_longitude))/15
end
Ik heb niet gecontroleerd welke eenheden deze atan2
functie teruggeeft - weet je zeker dat het graden zijn, wat het zou moeten zijn om te delen door 15 om zin te geven?
Er kunnen andere problemen zijn; dit zijn alleen die ik kan zien.