如何绘制天空图?
我如何画这样的星图?
我有:
- 具有坐标(赤经和赤纬)
- 观察者坐标(纬度,经度)
- 观察的时间
我需要一个考虑这些参数的公式。
-
恒星数据库
谷歌为:
- BSC(明亮的星表)〜10K星高达+6.5 mag(裸眼)
- Hipparcos〜118K星至+12 mag(望远镜),也有视差(3D坐标)等等
- Hipparcos是我最喜欢的。 两者都可以从许多Astornomy服务器只是谷歌自由的ASCII格式下载…
-
行星(尸体)
您可以编译多个站点所需的轨道参数。 您将需要所有这些Orbital_elements ,例如这里有一些
-
模拟(计算时间的位置)
对于行星来说,这只是通过计算开普勒方程来获得行星/卫星的星历
M=Ee*sin(E)
哪里:
M
是平均angular度(如果行星具有圆形的轨迹和恒定的速度)
E
是椭圆中心的实angular(考虑到开普勒定律)你可以这样解决:
for (E=M,q=0;q<20;q++) E=M+e*sin(E);
现在你知道
E
是任何你需要的M
只需计算椭圆上的位置并通过倾斜来旋转它。 计算M
也就是只需要知道行星交叉angular0时的时间t0
。那么:M = (t-t0) * dM
其中
dM
是围绕太阳的旋转。 如果时间是几天,那么dM
是[rad/day]
。 对于地球它是2.0*pi/tropical_year
。 这将导致你到所有行星的全球阵地(相对于太阳)欲了解更多信息,请看这里如何计算行星位置
-
地球视图
等距坐标是相对于地球,所以你需要每天添加地球旋转到你的模拟。 只需在“右”方向上创build一个轴向旋转
23.5 deg
变换matrix,并通过该轴添加旋转。 同时将旋转添加到您的地理位置。 在这之后,把这个matrix转换成地球的位置。 从这很容易转换所有的全球坐标到您的地球的看法,所以你现在可以绘制数据图像/屏幕什么。
[笔记]
要小心你使用的旋转周期!
- 地球的
tropical_year = 365.242195601852 days
- 地球日转速
dM = 0.0172021242603194 rad/day
-
一天是平均太阳日! 就像Julian约会
始终用其他软件或真实的东西来校准你的数据。 有一些库,所有这一切只是谷歌。 为了提高工具章动的准确性,进动和轨道参数随时间变化。
- 布尔variables从javascript函数返回string
- java.lang.NoClassDefFoundError:javax / servlet / jsp / tagext / TagLibraryValidator