Blame


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