/*************************************************************************************************************************************/
/* */
/* C O O R D O N N E E S E T V I T E S S E S D E S 9 P L A N E T E S D U S Y S T E M E S O L A I R E : */
/* */
/* */
/* Author of '$xtc/S_solaire.01$c' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). */
/* */
/*************************************************************************************************************************************/
#define UA(valeur) \
(((double)(valeur))*14959787.0e4) \
/* Conversion d'une distance exprimee en 'Unites Astronomiques' ('1' correspondant au */ \
/* rayon moyen de l'orbite terrestre) en unites 'MKSA'. */
#define JOUR(duree) \
(((double)(duree))*(24.0*60.0*60.0)) \
/* Conversion d'une duree exprimee en jours en unites 'MKSA'. */
#define COORDONNEE(coordonnee) \
UA(coordonnee) \
/* Conversion d'une coordonnee exprimee en 'UA' en unites 'MKSA'. */
#define VITESSE(vitesse) \
(UA(vitesse)/JOUR(1)) \
/* Conversion d'une vitesse exprimee en 'UA/jour' en unites 'MKSA'. */
#define EDITE(planete,x,y,z,vx,vy,vz) \
{ \
printf("\n%-27s : ",planete); \
printf("coordonnees={%+e,%+e,%+e}",COORDONNEE(x),COORDONNEE(y),COORDONNEE(z)); \
printf(" vitesse={%+e,%+e,%+e}",VITESSE(vx),VITESSE(vy),VITESSE(vz)); \
} \
/* Edition des coordonnees et de la vitesse d'une planete converties en unites 'MKSA'. */
main()
{
EDITE("Mercure"
,+00.343926450169642000,+00.045615479953313500,-00.010924037211932500
,-00.008466532045009860,+00.025614605307281800,+00.014586845336239600
);
EDITE("Venus"
,+00.142965184343246000,+00.647005066033887000,+00.282482400660380000
,-00.019893812279342500,+00.003113119466118590,+00.002659445805745800
);
EDITE("Barycentre(Terre,Lune)"
,-00.136364695954795000,+00.893397922857000000,+00.387458344639337000
,-00.017319998848529600,-00.002244304731767560,-00.000973361115758044
);
EDITE("Mars"
,-01.369833976183420000,+00.843135248017904000,+00.423832906611430000
,-00.007384563831271170,-00.009477358639274200,-00.004151655136662130
);
EDITE("Jupiter"
,+03.349364223696010000,-03.473761449012580000,-01.572149686393800000
,+00.005585643149582310,+00.004962261137222510,+00.001992276926739370
);
EDITE("Saturne"
,-08.972505068282110000,+02.279682008132860000,+01.330338609711460000
,-00.001858251956996710,-00.004983858581417440,-00.001980257412807250
);
EDITE("Uranus"
,-01.003003995327320000,+17.323508473271800000,+07.604825046415910000
,-00.003955254163017720,-00.000375913785112941,-00.000108849991287794
);
EDITE("Neptune"
,-29.194580738611200000,-07.719285191998470000,-02.427245378288770000
,+00.000820748057818085,-00.002772098259580230,-00.001156116030435920
);
EDITE("Pluton"
,-26.233650782015500000,+20.561975420055900000,+14.444557127780700000
,-00.001315888698281160,-00.002620128205493520,-00.000427083355026298
);
printf("\n");
}