知方号

知方号

C++太阳高度角的计算(附代码)<高度和角度计算表格>

C++太阳高度角的计算(附代码)

前言:在学习用C++计算地球某点的太阳高度角的过程中,查阅了各类资料,但内容繁杂,下面对其进行总结整理,希望可以帮到学习卫星的同学和朋友们。

太阳高度角的计算有以下公式:

 上式中h为太阳高度角,为某目标点的地理纬度,为太阳赤纬,t为时角。

基本步骤如下:

①输入已知目标点的地理纬度和经度

②计算太阳赤纬

③计算时角t

接下来按以上步骤进行计算,以下是我的计算思路:

①输入目标点的地理纬度和经度

cout Longitude_position;cout Latitude_position;

②计算太阳赤纬

一年内任何一天的赤纬角可以用如下公式计算:

在上式中,N为年积日,为从每年的一月一日算起,当天是第几天。故此时我们还需要计算年积日N。

年积日可以如下面公式计算:

double N = floor(month*275.0/9.0)-floor((month+9)/12.0)*(floor((year-4*floor(year/4.0)+2)/3.0)+1)+day-30;

因此我们还需要输入当时时刻的日期:

 

cout year;cin >> month;cin >> day;

计算年积日N后将其带入赤纬的计算公式即可计算出太阳赤纬。计算太阳赤纬的函数如下:

//采用简便方法计算//计算太阳赤纬double Solar_declination(int year,int month,int day){double N = floor(month*275.0/9.0)-floor((month+9)/12.0)*(floor((year-4*floor(year/4.0)+2)/3.0)+1)+day-30;cout

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。