structSoleil{doubledec;doublera;doubleeot;doubleh;doublez;};/*------------------------------------------------------------------------ fonction: soleil() Objet: Calcule les paramètres de navigation du Soleil Entrée: Nombre de secondes depuis le 1er janvier 1970 Longitude en radians Latitude en radians Utilise la fonction reduc() Sortie: dec Déclinaison, ra Ascension droite, h Hauteur et z Azimut en radians eot Équation du temps en minutes ------------------------------------------------------------------------*/structSoleilsoleil(longtemps,doublelongitude,doublelatitude){structSoleilsolar;structtmgmt;doubleT,g,Lm,Lt,e,gha;T=temps/86400.0-10957.5;g=1.720197034e-2*T-4.314453911e-2;Lm=1.720279239e-2*T-1.388224066;Lt=Lm+3.342305518e-2*sin(g)+3.490658504e-4*sin(2*g);e=.4090877234-6.981317008e-9*T;solar.dec=asin(sin(Lt)*sin(e));solar.ra=2*atan(cos(e)*sin(Lt)/(cos(solar.dec)+cos(Lt)));gmt=*gmtime(&temps);gha=1.720279239e-2*T+.2617993878*(gmt.tm_hour+gmt.tm_min/60.0+gmt.tm_sec/3600.0)+1.753361257-solar.ra;solar.eot=229.1831181*(fmod(Lm,2*M_PI)-fmod(solar.ra,2*M_PI));//Equation du temps en minutessolar.h=asin(sin(latitude)*sin(solar.dec)+cos(latitude)*cos(solar.dec)*cos(gha+longitude));solar.z=acos((sin(solar.dec)-sin(latitude)*sin(solar.h))/cos(latitude)/cos(solar.h));if(sin(gha+longitude)>0)solar.z=2*M_PI-solar.z;returnsolar;}
# Formule
Posté par harlock974 . En réponse au message Tracker solaire : Données de position du soleil. Évalué à 9.
C'est facile à calculer. La formule en C :