笔记: 计算天区面积的方法

笔记: 计算天区面积的方法

此方法是根据球缺的面积来计算。一个球被平面截下的一部分叫做球缺。截面叫做球缺的底面,垂直于截面的直径被截后,剩下的线段长叫做球缺的高,如下图所示。球缺曲面部分的面积:
S = 2 π R H S = 2\pi RH S=2πRH
其中R是球的半径,H是球缺的高。

假设天区范围为: ∣ g b ∣ ≤ 5 ∘ , 0 ∘ ≤ g l ≤ 9 0 ∘ |\mathrm{gb}|\le5^{\circ},0^{\circ}\le\mathrm{gl}\le90^{\circ} gb5,0gl90,球缺的高度为 H = R − R × sin ⁡ 5 ∘ H=R-R\times\sin{5^{\circ}} H=RR×sin5。由公式1可以求得球缺的面积,用半球的面积减去球缺的面积,再乘以2,即可得到所选天区的面积。Python代码如下:

笔记: 计算天区面积的方法_第1张图片

import math
import numpy as np
## 假设是银道坐标系 换成
##注:如果要计算非对称纬度内的面积,需要对以下程序修改

gb = 5 # 银纬范围 |b| <5
gl_min = -5 # 银经最小值
gl_max = 90 # 银经最大值
gl_ra = (gl_max-gl_min)/360 ##  银经比例

R = 1 # 球的半径,球的表面积为 4*pi

S_ball = 41252.96  # 天球的总的面积: 单位 平方度
H = R - math.sin(math.radians(gb))*R #球缺的高
## 球缺的面积为S = 2*pi*R*H
S_ha = 2*math.pi*R*R #半球的面积
S_le = 2*math.pi*H*R # 球缺的面积
S_sur = 2* S_ball*(S_ha-S_le)*gl_ra/math.pi/4  ## 结果

print("Result:",S_sur)

你可能感兴趣的:(python)