stellplanet.c   stellplanet.c
#include "vsop87.h" #include "vsop87.h"
#include "elp82b.h" #include "elp82b.h"
#include "l1.h" #include "l1.h"
#include "tass17.h" #include "tass17.h"
#include "gust86.h" #include "gust86.h"
/* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87 /* Chapter 31 Pg 206-207 Equ 31.1 31.2 , 31.3 using VSOP 87
* Calculate planets rectangular heliocentric ecliptical coordinates * Calculate planets rectangular heliocentric ecliptical coordinates
* for given julian day. Values are in . * for given julian day. Values are in AU.
* params : Julian day, rect coords */ * params : Julian day, rect coords */
void get_pluto_helio_coords(double jd, double * X, double * Y, double * Z); void get_pluto_helio_coords(double jd, double * X, double * Y, double * Z);
void get_pluto_helio_coordsv(double jd,double xyz[3], void* unused) void get_pluto_helio_coordsv(double jd,double xyz[3], void* unused)
{get_pluto_helio_coords(jd, &xyz[0], &xyz[1], &xyz[2]);} {get_pluto_helio_coords(jd, &xyz[0], &xyz[1], &xyz[2]);}
/* Return 0 of course... */ /* Return 0 of course... */
void get_sun_helio_coordsv(double jd,double xyz[3], void* unused) void get_sun_helio_coordsv(double jd,double xyz[3], void* unused)
{xyz[0]=0.; xyz[1]=0.; xyz[2]=0.;} {xyz[0]=0.; xyz[1]=0.; xyz[2]=0.;}
skipping to change at line 68 skipping to change at line 68
{GetVsop87OsculatingCoor(jd0,jd,VSOP87_JUPITER,xyz);} {GetVsop87OsculatingCoor(jd0,jd,VSOP87_JUPITER,xyz);}
void get_saturn_helio_osculating_coords(double jd0,double jd,double xyz[3]) void get_saturn_helio_osculating_coords(double jd0,double jd,double xyz[3])
{GetVsop87OsculatingCoor(jd0,jd,VSOP87_SATURN,xyz);} {GetVsop87OsculatingCoor(jd0,jd,VSOP87_SATURN,xyz);}
void get_uranus_helio_osculating_coords(double jd0,double jd,double xyz[3]) void get_uranus_helio_osculating_coords(double jd0,double jd,double xyz[3])
{GetVsop87OsculatingCoor(jd0,jd,VSOP87_URANUS,xyz);} {GetVsop87OsculatingCoor(jd0,jd,VSOP87_URANUS,xyz);}
void get_neptune_helio_osculating_coords(double jd0,double jd,double xyz[3] ) void get_neptune_helio_osculating_coords(double jd0,double jd,double xyz[3] )
{GetVsop87OsculatingCoor(jd0,jd,VSOP87_NEPTUNE,xyz);} {GetVsop87OsculatingCoor(jd0,jd,VSOP87_NEPTUNE,xyz);}
/* Calculate the rectangular geocentric lunar coordinates to the inertial m ean /* Calculate the rectangular geocentric lunar coordinates to the inertial m ean
* ecliptic and equinox of J2000. * ecliptic and equinox of J2000.
* The geocentric coordinates returned are in units of . * The geocentric coordinates returned are in units of AU.
* This function is based upon the Lunar Solution ELP2000-82B by * This function is based upon the Lunar Solution ELP2000-82B by
* Michelle Chapront-Touze and Jean Chapront of the Bureau des Longitudes, * Michelle Chapront-Touze and Jean Chapront of the Bureau des Longitudes,
* Paris. ELP 2000-82B theory * Paris. ELP 2000-82B theory
* param jd Julian day, rect pos */ * param jd Julian day, rect pos */
void get_lunar_parent_coordsv(double jd,double xyz[3], void* unused) void get_lunar_parent_coordsv(double jd,double xyz[3], void* unused)
{GetElp82bCoor(jd,xyz);} {GetElp82bCoor(jd,xyz);}
void get_phobos_parent_coordsv(double jd,double xyz[3], void* unused) void get_phobos_parent_coordsv(double jd,double xyz[3], void* unused)