之前写过使用matlab计算观测点对太阳指向的方位角度和俯仰角度,本次将使用C语言计算观测点对太阳指向的方位角度和俯仰角度:
首先第一步是时间的获取:
可以通过时统端机,或者认为设定,代码如下:
Timestamp=ACS_time_sys_new+12*3600; //通过时统获取时间戳,起始时间为2000/1/1 12:00:00.000
year1= floor(Timestamp/31556736+2000); //获取年
day1=floor(fmod(Timestamp,31556736)/86400+1); //获取一年的第几天
hour1= floor(fmod((Timestamp/3600),24)); //获取小时,这个按照世界时的小时获取
if (hour1==24) //如果小时数已经达到了24,置为0
{
hour1 = 0;
}
else
{
;
}
minute1=fmod((Timestamp/60),60); //获取分钟
time_hour = hour1+minute1/60.0; //获取小时加上分钟
接下来是滴方位角度和俯仰角度的计算
L1 = station[0] * pi / 180.0; //地面观测点的纬度
n0=79.676+(0.2422*(year1-1985))-round(0.25*(year1-1985));
kk_b=2*pi*(day1-1-n0)/365.2422;
ds=0.3723+23.2567*sin(kk_b)+0.1149*sin(2.