c# - 计算卫星视星等

标签 c# math pyephem orbital-mechanics

我正在尝试制作一个计算 ISS 的应用程序天桥。

我弄清楚了如何真正获得天桥,但我正在努力弄清楚如何计算天桥期间空间站的视星等。我看过 Is there any way to calculate the visual magnitude of a satellite (ISS)? Calculating the Phase Angle between the Sun / ISS and an observer on the earth

我弄清楚了如何计算太阳相位角,但我不知道如何获得 Is there any way to calculate the visual magnitude of a satellite (ISS)?提供的公式工作。我有以度为单位的相位角和以公里为单位的到卫星的距离。这是公式:

Mag = Std. Mag - 15 + 5*LOG(Range) - 2.5*LOG(SIN(B) + (pi-B)*COS(B))

对于国际空间站,我使用 -1.8 作为 std.mag。 https://stackoverflow.com/users/2949204/liam-kennedy 提供了这个公式,并且似乎知道如何让它发挥作用,但我一生都做不到。

注意:我在 C# 中执行此操作,并且知道我的相位角是正确的,但即使使用 Python 和 pyephem 执行此操作,我也没有得到任何接近 Heavens-Above's 的结果。结果。将 B 设置为 113,std.mag 设置为 -1.8,范围设置为 485,结果为 11.25,但在 Heavens-Above 上,使用完全相同的数据,它们得到 -3.0。

这是我正在使用的代码

var B = phaseAngle;
var magnitude = intrinsicMagnitude - 15 + 5 * Math.Log(distanceToSatellite) - 2.5 * Math.Log(Math.Sin(B) + (Math.PI - B) * Math.Cos(B));

编辑:我在这里解决了这个问题:https://astronomy.stackexchange.com/questions/28744/calculating-the-apparent-magnitude-of-a-satellite/28765#28765

版主请标记此问题已解决。

最佳答案

我通常使用 https://mostlymissiledefense.com/2012/08/21/space-surveillance-the-visual-brightenss-and-size-of-space-objects-august-21-2012/ 中找到的方程。你的也类似。但我首先要检查的是您对 LOG() 函数的使用。 LOG() 计算自然对数,我怀疑您想要的是以 10 为底的对数 - 例如LOG10()。

关于c# - 计算卫星视星等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53806966/

相关文章:

c# - 为什么这个协方差声明可以编译?

javascript - 用垂直装饰画一条线

php - 获取矩阵元素组合的最小总和

Python数学模块

python - 如何用Python读取RINEX文件?

python - pyEphem - 计算非地球卫星的位置

latitude-longitude - PyEphem 报告的纬度和经度与输入值不同

c# - 如何将 Nullable Bit 类型的值传递给 SQL Server 存储过程?

c# - 如何使用 Linq 选择列名

c# - 为什么微软说 Azure Functions 是针对小段代码的?