📄 geo.c
字号:
#include "astro.h"voidgeo(void){/* * uses alpha, delta, rp *//* * sets ra, decl, lha, decl2, az, el *//* * geo converts geocentric equatorial coordinates * to topocentric equatorial and topocentric horizon * coordinates. * All are (usually) referred to the true equator. */ double sel, saz, caz; double f; double sa, ca, sd;/* * convert to local hour angle and declination */ lha = gst - alpha - wlong; decl = delta;/* * compute diurnal parallax (requires geocentric latitude) */ sa = cos(decl)*sin(lha); ca = cos(decl)*cos(lha) - erad*cos(glat)*sin(hp); sd = sin(decl) - erad*sin(glat)*sin(hp); lha = atan2(sa, ca); decl2 = atan2(sd, sqrt(sa*sa+ca*ca)); f = sqrt(sa*sa+ca*ca+sd*sd); semi2 = semi/f; ra = gst - lha - wlong; ra = pinorm(ra);/* * convert to horizon coordinates */ sel = sin(nlat)*sin(decl2) + cos(nlat)*cos(decl2)*cos(lha); el = atan2(sel, pyth(sel)); saz = sin(lha)*cos(decl2); caz = cos(nlat)*sin(decl2) - sin(nlat)*cos(decl2)*cos(lha); az = pi + atan2(saz, -caz); az /= radian; el /= radian;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -