1 cd5bae78 2004-04-21 devnull #include "astro.h"
3 cd5bae78 2004-04-21 devnull Obj2* objlst[] =
20 cd5bae78 2004-04-21 devnull struct idata
22 cd5bae78 2004-04-21 devnull char* name;
23 cd5bae78 2004-04-21 devnull char* name1;
24 cd5bae78 2004-04-21 devnull void (*obj)(void);
25 cd5bae78 2004-04-21 devnull } idata[] =
27 cd5bae78 2004-04-21 devnull "The sun", "sun", fsun,
28 cd5bae78 2004-04-21 devnull "The moon", "moon", moon,
29 cd5bae78 2004-04-21 devnull "The shadow", "shadow", shad,
30 cd5bae78 2004-04-21 devnull "Mercury", "mercury", merc,
31 cd5bae78 2004-04-21 devnull "Venus", "venus", venus,
32 cd5bae78 2004-04-21 devnull "Mars", "mars", mars,
33 cd5bae78 2004-04-21 devnull "Jupiter", "jupiter", jup,
34 cd5bae78 2004-04-21 devnull "Saturn", "saturn", sat,
35 cd5bae78 2004-04-21 devnull "Uranus", "uranus", uran,
36 cd5bae78 2004-04-21 devnull "Neptune", "neptune", nept,
37 cd5bae78 2004-04-21 devnull "Pluto", "pluto", plut,
38 cbeb0b26 2006-04-01 devnull "Comet", "comet", comet
42 cd5bae78 2004-04-21 devnull init(void)
47 cd5bae78 2004-04-21 devnull glat = nlat - (692.74*radsec)*sin(2.*nlat)
48 cd5bae78 2004-04-21 devnull + (1.16*radsec)*sin(4.*nlat);
49 cd5bae78 2004-04-21 devnull erad = .99832707e0 + .00167644e0*cos(2.*nlat)
50 cd5bae78 2004-04-21 devnull - 0.352e-5*cos(4.*nlat)
51 cd5bae78 2004-04-21 devnull + 0.001e-5*cos(6.*nlat)
52 cd5bae78 2004-04-21 devnull + 0.1568e-6*elev;
54 cd5bae78 2004-04-21 devnull for(i=0; q=objlst[i]; i++) {
55 cd5bae78 2004-04-21 devnull q->name = idata[i].name;
56 cd5bae78 2004-04-21 devnull q->name1 = idata[i].name1;
57 cd5bae78 2004-04-21 devnull q->obj = idata[i].obj;
59 cd5bae78 2004-04-21 devnull ostar.obj = fstar;
60 cd5bae78 2004-04-21 devnull ostar.name = "star";
64 cd5bae78 2004-04-21 devnull setime(double d)
66 cd5bae78 2004-04-21 devnull double x, xm, ym, zm;
68 cd5bae78 2004-04-21 devnull eday = d + deltat/86400.;
69 cd5bae78 2004-04-21 devnull wlong = awlong + 15.*deltat*radsec;
71 cd5bae78 2004-04-21 devnull capt = eday/36524.220e0;
72 cd5bae78 2004-04-21 devnull capt2 = capt*capt;
73 cd5bae78 2004-04-21 devnull capt3 = capt*capt2;
74 cd5bae78 2004-04-21 devnull nutate();
75 cd5bae78 2004-04-21 devnull eday += .1;
77 cd5bae78 2004-04-21 devnull srad = rad;
78 cd5bae78 2004-04-21 devnull xm = rad*cos(beta)*cos(lambda);
79 cd5bae78 2004-04-21 devnull ym = rad*cos(beta)*sin(lambda);
80 cd5bae78 2004-04-21 devnull zm = rad*sin(beta);
81 cd5bae78 2004-04-21 devnull eday -= .1;
83 cd5bae78 2004-04-21 devnull xms = rad*cos(beta)*cos(lambda);
84 cd5bae78 2004-04-21 devnull yms = rad*cos(beta)*sin(lambda);
85 cd5bae78 2004-04-21 devnull zms = rad*sin(beta);
86 cd5bae78 2004-04-21 devnull x = .057756;
87 cd5bae78 2004-04-21 devnull xdot = x*(xm-xms);
88 cd5bae78 2004-04-21 devnull ydot = x*(ym-yms);
89 cd5bae78 2004-04-21 devnull zdot = x*(zm-zms);
93 cd5bae78 2004-04-21 devnull setobj(Obj1 *op)
98 cd5bae78 2004-04-21 devnull p->ra = ra;
99 cd5bae78 2004-04-21 devnull p->decl2 = decl2;
100 cd5bae78 2004-04-21 devnull p->semi2 = semi2;
101 cd5bae78 2004-04-21 devnull p->az = az;
102 cd5bae78 2004-04-21 devnull p->el = el;
103 cd5bae78 2004-04-21 devnull p->mag = mag;
106 cd5bae78 2004-04-21 devnull long starsao = 0;
109 cd5bae78 2004-04-21 devnull fstar(void)
112 cd5bae78 2004-04-21 devnull ra = ostar.point[0].ra;
113 cd5bae78 2004-04-21 devnull decl2 = ostar.point[0].decl2;
114 cd5bae78 2004-04-21 devnull semi2 = ostar.point[0].semi2;
115 cd5bae78 2004-04-21 devnull az = ostar.point[0].az;
116 cd5bae78 2004-04-21 devnull el = ostar.point[0].el;
117 cd5bae78 2004-04-21 devnull mag = ostar.point[0].mag;
121 cd5bae78 2004-04-21 devnull fsun(void)
124 cd5bae78 2004-04-21 devnull beta = 0;
125 cd5bae78 2004-04-21 devnull rad = 0;
126 cd5bae78 2004-04-21 devnull lambda = 0;
127 cd5bae78 2004-04-21 devnull motion = 0;
128 cd5bae78 2004-04-21 devnull helio();
130 cd5bae78 2004-04-21 devnull seday = eday;
131 cd5bae78 2004-04-21 devnull salph = alpha;
132 cd5bae78 2004-04-21 devnull sdelt = delta;
133 cd5bae78 2004-04-21 devnull mag = lmb2;
137 cd5bae78 2004-04-21 devnull shad(void)
140 cd5bae78 2004-04-21 devnull if(seday != eday)
142 cd5bae78 2004-04-21 devnull if(meday != eday)
144 cd5bae78 2004-04-21 devnull alpha = fmod(salph+pi, pipi);
145 cd5bae78 2004-04-21 devnull delta = -sdelt;
146 cd5bae78 2004-04-21 devnull hp = mhp;
147 cd5bae78 2004-04-21 devnull semi = 1.0183*mhp/radsec - 969.85/srad;