|
|
1.1 ! root 1: #include "sky.h" ! 2: ! 3: aberr() ! 4: { ! 5: ! 6: double lsun, ljup, lsat; ! 7: double msun, mven, mjup, msat; ! 8: double dmoon; ! 9: double c,d,k,e; ! 10: ! 11: /* ! 12: To find the aberration, it is necessary to compute ! 13: the velocity of the observer in an inertial frame. ! 14: ! 15: This program does the computation for the center ! 16: of the earth w/r the center of mass of the Solar System ! 17: and includes enough terms to limit the error to ! 18: about 0".003. ! 19: ! 20: uses capt, eday ! 21: sets xdot, ydot, zdot ! 22: */ ! 23: ! 24: lsun = 279.696678 + 0.9856473354*eday + .000300*capt2; ! 25: ljup = 237.942344 + .083129433*eday; ! 26: lsat = 266.56527 + 0.03351336*eday; ! 27: ! 28: msun = 358.475845 + .9856002670*eday - .000150*capt2; ! 29: mven = 212.603219 + 1.602130154*eday; ! 30: mjup = 225.22165 + .083085369*eday; ! 31: msat = 175.47630 + 0.03345972*eday; ! 32: dmoon = 350.737681+12.1907491914*eday-.001436*capt2; ! 33: ! 34: lsun = lsun * radian; ! 35: ljup = ljup*radian; ! 36: lsat = lsat*radian; ! 37: msun = msun*radian; ! 38: mven = mven*radian; ! 39: mjup = mjup*radian; ! 40: msat = msat*radian; ! 41: dmoon = fmod(dmoon,360.)*radian; ! 42: ! 43: /* ! 44: Discover the velocity of the Earth around the Sun. ! 45: */ ! 46: ! 47: xdot = ! 48: -20.4916*sin(lsun) ! 49: - 0.3433*sin(lsun+msun) ! 50: + 0.0009*capt*sin(lsun+msun) ! 51: - 0.0065*sin(lsun+2.*msun) ! 52: - 0.0007*sin(4.159+2.*mven-2.*msun+lsun) ! 53: - 0.0007*sin(4.7042+msun-mjup+lsun); ! 54: ! 55: ydot = ! 56: 20.4901*cos(lsun) ! 57: + 0.3433*cos(lsun+msun) ! 58: - 0.0009*capt*cos(lsun+msun) ! 59: + 0.0065*cos(lsun+2.*msun) ! 60: + 0.0007*cos(4.159+2.*mven-2.*msun+lsun) ! 61: + 0.0007*cos(4.7042+msun-mjup+lsun); ! 62: ! 63: /* ! 64: Discover the velocity of the Earth around the center ! 65: of the Earth-Moon system. ! 66: */ ! 67: ! 68: xdot = xdot ! 69: - 0.0079*sin(lsun+dmoon); ! 70: ! 71: ydot = ydot ! 72: + 0.0079*cos(lsun+dmoon); ! 73: ! 74: /* ! 75: * Discover the velocity of the sun about the center of mass. ! 76: */ ! 77: ! 78: xdot = xdot ! 79: - 0.0086*sin(ljup) ! 80: - 0.0004*sin(ljup+mjup) ! 81: - 0.0019*sin(lsat) ! 82: - 0.0001*sin(lsat+msat); ! 83: ! 84: ydot = ydot ! 85: + 0.0086*cos(ljup) ! 86: + 0.0004*cos(ljup+mjup) ! 87: + 0.0019*cos(lsat) ! 88: + 0.0001*cos(lsat+msat); ! 89: ! 90: /* ! 91: * Compute aberrational day numbers just for fun. ! 92: */ ! 93: ! 94: k = 20.496; ! 95: e = .01675104 - 4.180e-5*capt - 1.26e-7*capt2; ! 96: c = -ydot*cos(obliq) - k*e*cos(lsun-msun+pi)*cos(obliq); ! 97: d = xdot - k*e*sin(lsun-msun+pi); ! 98: ! 99: if(flags&GOOBIE){ ! 100: printf("C: %.4f D: %.4f\n", c, d); ! 101: } ! 102: ! 103: /* ! 104: Convert to absolute velocity (v/c). ! 105: */ ! 106: ! 107: xdot = xdot * radsec; ! 108: ydot = ydot * radsec; ! 109: zdot = 0.; ! 110: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.