URI:
       tstar.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       tstar.c (1904B)
       ---
            1 #include "astro.h"
            2 
            3 void
            4 star(void)
            5 {
            6         double xm, ym, zm, dxm, dym, dzm;
            7         double xx, yx, zx, yy, zy, zz, tau;
            8         double capt0, capt1, capt12, capt13, sl, sb, cl;
            9 
           10 /*
           11  *        remove E-terms of aberration
           12  *        except when finding catalog mean places
           13  */
           14 
           15         alpha += (.341/(3600.*15.))*sin((alpha+11.26)*15.*radian)
           16                   /cos(delta*radian);
           17         delta += (.341/3600.)*cos((alpha+11.26)*15.*radian)
           18                   *sin(delta*radian) - (.029/3600.)*cos(delta*radian);
           19 
           20 /*
           21  *        correct for proper motion
           22  */
           23 
           24         tau = (eday - epoch)/365.24220;
           25         alpha += tau*da/3600.;
           26         delta += tau*dd/3600.;
           27         alpha *= 15.*radian;
           28         delta *= radian;
           29 
           30 /*
           31  *        convert to rectangular coordinates merely for convenience
           32  */
           33 
           34         xm = cos(delta)*cos(alpha);
           35         ym = cos(delta)*sin(alpha);
           36         zm = sin(delta);
           37 
           38 /*
           39  *        convert mean places at epoch of startable to current
           40  *        epoch (i.e. compute relevant precession)
           41  */
           42 
           43         capt0 = (epoch - 18262.427)/36524.220e0;
           44         capt1 = (eday - epoch)/36524.220;
           45         capt12 = capt1*capt1;
           46         capt13 = capt12*capt1;
           47 
           48         xx = - (.00029696+26.e-8*capt0)*capt12
           49                   - 13.e-8*capt13;
           50         yx =  -(.02234941+1355.e-8*capt0)*capt1
           51                   - 676.e-8*capt12 + 221.e-8*capt13;
           52         zx = -(.00971690-414.e-8*capt0)*capt1
           53                   + 207.e-8*capt12 + 96.e-8*capt13;
           54         yy = - (.00024975+30.e-8*capt0)*capt12
           55                   - 15.e-8*capt13;
           56         zy = -(.00010858+2.e-8*capt0)*capt12;
           57         zz = - (.00004721-4.e-8*capt0)*capt12;
           58 
           59         dxm =  xx*xm + yx*ym + zx*zm;
           60         dym = - yx*xm + yy*ym + zy*zm;
           61         dzm = - zx*xm + zy*ym + zz*zm;
           62 
           63         xm = xm + dxm;
           64         ym = ym + dym;
           65         zm = zm + dzm;
           66 
           67 /*
           68  *        convert to mean ecliptic system of date
           69  */
           70 
           71         alpha = atan2(ym, xm);
           72         delta = atan2(zm, sqrt(xm*xm+ym*ym));
           73         cl = cos(delta)*cos(alpha);
           74         sl = cos(delta)*sin(alpha)*cos(obliq) + sin(delta)*sin(obliq);
           75         sb = -cos(delta)*sin(alpha)*sin(obliq) + sin(delta)*cos(obliq);
           76         lambda = atan2(sl, cl);
           77         beta = atan2(sb, sqrt(cl*cl+sl*sl));
           78         rad = 1.e9;
           79         if(px != 0)
           80                 rad = 20600/px;
           81         motion = 0;
           82         semi = 0;
           83 
           84         helio();
           85         geo();
           86 }