Annotation of researchv10no/cmd/sky/star.c, revision 1.1.1.1

1.1       root        1: #include "sky.h"
                      2: 
                      3: star()
                      4: {
                      5:        double capt0, capt1, capt12, capt13;
                      6:        double sl, sb, cl;
                      7:        double zt, zee, tht;
                      8:        double sa, ca, sd;
                      9: 
                     10:        capt0 = epoch/36524.220;
                     11:        capt1 = (eday - epoch)/36524.220;
                     12:        capt12 = capt1*capt1;
                     13:        capt13 = capt12*capt1;
                     14: 
                     15:        da = da*radsec*15.*100.;
                     16:        dd = dd*radsec*100.;
                     17: 
                     18: /*
                     19:  *     remove E-terms of aberration
                     20:  *     except when finding catalog mean places
                     21:  *     See Exp. Supp. p. 144 and 48
                     22:  *
                     23:  *     I have omitted an unimportant time dependence which depends
                     24:  *     in essence on the change in the eccentricity
                     25:  *     and the perihelion position of the earths orbit.
                     26:  */
                     27: 
                     28:        alpha = alpha + .341*radsec*sin(alpha+168.8*radian)
                     29:          /cos(delta);
                     30:        delta = delta + .341*radsec*cos(alpha+168.8*radian)
                     31:          *sin(delta) + .029*radsec*cos(delta);
                     32: 
                     33: /*
                     34:  *     Correct for proper motion.
                     35:  *
                     36:  *     This computation is a second order approximation which
                     37:  *     causes no perciptible error in a millenium.
                     38:  */
                     39: 
                     40:        alpha = alpha + capt1*da
                     41:         + da*dd*sin(delta)/cos(delta)*capt1*capt1;
                     42:        delta = delta + capt1*dd
                     43:         - 0.25*da*da*sin(2.*delta)*capt1*capt1;
                     44: 
                     45: /*
                     46:  *     The effect of radial velocity has been omitted.
                     47:  *     The only bright stars perceptibly affected are
                     48:  *     Sirius, alpha Cent, and Altair.
                     49:  */
                     50: 
                     51: /*
                     52:  *     convert mean places at epoch of startable to current
                     53:  *     epoch (i.e. compute relevant precession)
                     54:  *     Coefficients are from Exp. Supp. p. 30.
                     55:  */
                     56: 
                     57:        zt = (2304.250 + 1.396*capt0)*capt1 + 0.302*capt12
                     58:         + 0.018*capt13;
                     59:        zee = zt + 0.791*capt12;
                     60:        tht = (2004.682 - 0.853*capt0)*capt1 - 0.426*capt12
                     61:         - 0.042*capt13;
                     62: 
                     63:        zt = zt*radsec;
                     64:        zee = zee*radsec;
                     65:        tht = tht*radsec;
                     66: 
                     67:        sa = cos(delta)*sin(alpha+zt);
                     68:        ca = cos(tht)*cos(delta)*cos(alpha+zt) - sin(tht)*sin(delta);
                     69:        sd = cos(tht)*sin(delta) + sin(tht)*cos(delta)*cos(alpha+zt);
                     70: 
                     71:        alpha = atan2(sa,ca) + zee;
                     72:        delta = atan2(sd, sqrt(sa*sa+ca*ca));
                     73: 
                     74: /*
                     75:  *     convert to mean ecliptic system of date
                     76:  */
                     77: 
                     78:        cl = cos(delta)*cos(alpha);
                     79:        sl = cos(delta)*sin(alpha)*cos(obliq) + sin(delta)*sin(obliq);
                     80:        sb = -cos(delta)*sin(alpha)*sin(obliq) + sin(delta)*cos(obliq);
                     81:        lambda = atan2(sl,cl);
                     82:        beta = atan2(sb,sqrt(cl*cl+sl*sl));
                     83:        if(px > 1.0) px = 0.;
                     84:        if(px != 0.) rad = 1./(radsec*px);
                     85:        if(px <= 0.) rad = 1.e9;
                     86:        semi = 0.;
                     87:        ldot = 0.;
                     88:        bdot = 0.;
                     89:        rdot = 0.;
                     90: 
                     91:        helio();
                     92:        geo();
                     93: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.