C# 计算太阳倾角、太阳高度角
来源:互联网 发布:批发购物软件 编辑:程序博客网 时间:2024/04/28 06:22
/// 计算太阳高度角ho /// </summary> /// <param name="φ">当地纬度,度(如34.64)</param> /// <param name="t">北京时间,时(如9)</param> /// <param name="δ">太阳倾角,度(如-23.1)</param> /// <param name="λ">当地经度,度(如34.64)</param> /// <returns>返回太阳高度角,度</returns> public double ho(double φ, int t, double δ, double λ) { //公式:ho=arcsin[sinφsinδ+cosφcosδcos(15t+λ-300)] double a = 15 * t + λ - 300;//时角 double b = Math.Cos(φ * Math.PI / 180d) * Math.Cos(δ * Math.PI / 180d) * Math.Cos(a * Math.PI / 180d); double c = Math.Sin(φ * Math.PI / 180) * Math.Sin(δ * Math.PI / 180); double d = c + b; double ho = Math.Asin(d) / (Math.PI / 180d); return ho; } /// <summary> /// 计算太阳倾角δ /// </summary> /// <param name="dn">一年中日期序数(0,1,2......364)</param> /// <returns>返回太阳倾角,度</returns> public double δ(int dn) { //公式:δ=[0.006918-0.399912cosQo+0.0702578sinQo-0.006758cosQo+0.000907sin2Qo-0.002697cos3Qo+0.001480sin3Qo]*180/π //Qo=360dn/365,度 double Qo = Convert.ToDouble((Convert.ToDouble(360 * dn) / Convert.ToDouble(365)) * (Math.PI / 180d)); double a = 0.399912 * Math.Cos(Qo); double b = 0.0702578 * Math.Sin(Qo); double c = 0.006758 * Math.Cos(Qo); double d = 0.000907 * Math.Sin(2 * Qo); double e = 0.002697 * Math.Cos(3 * Qo); double f = 0.001480 * Math.Sin(3 * Qo); double g = 180 / Math.PI; double h = 0.006918 - a + b - c + d - e + f; double δ = Math.Round(h * g, 1); return δ; }
0 0
- C# 计算太阳倾角、太阳高度角
- 太阳高度角与方位角计算
- 太阳高度角/方位角计算公式
- 【转载】太阳天顶角 太阳高度角 太阳方位角
- 利用python计算太阳天顶角、方位角、高度角
- 太阳
- 太阳高度与方向
- 根据观测时间,经纬度,求太阳高度角
- 基于Android的太阳方位角计算工具
- 追逐太阳
- 太阳底下~
- 太阳雪
- 太阳雪
- 太阳雪
- 太阳雪
- 太阳雪
- 晒晒太阳
- 摇太阳
- css基础知识
- 8.多进程图像的引出——CPU管理的直观想法
- 如何用插值法补齐缺失的数据
- AutoCompleteTextView实现历史记录提示
- The Shortest Path in Nya Graph
- C# 计算太阳倾角、太阳高度角
- spring 整合quazrt 详解
- 安卓简单实现RadioButton与ViewPager
- JS 时间戳转换成时间格式
- (4.1.49)提升体验-支持Chrome Custom Tabs
- LeetCode Search Insert Position
- ROS进二阶学习笔记(9)-- 关于Overlay:重名 package 在不同catkin workspace 中,
- 词法分析与正则表达式(三)
- project_workflow_02