开发自己的电子星图软件
今天突发奇想建立自己的电子星图软件。第一版目标是显示太阳系行星位置。大家有何建议? 第一个问题是采用何种编程语言.本想采用Java,可以跨平台,最妙的是可以在我的iPAQ上运行。速度应该不是问题,现在的硬件发展实在是太快了。 不过好象大部分人对于如何执行Java程序不太熟悉,还是用VC吧,直接编译成可执行程序。 上网找了—些相关的书和免费的软件,,先入个门再说。
感觉所需完成的任务需要用到球面天文学的知识。第一步要了解天球坐标系。软件所要实现的应该是模拟在地平坐标系下人所看到的天空。
这个问题其实就是:已知天体的真运动,也就是已知天体的轨道和沿轨道位移的参数,来计算未来任意时刻在任意地点天体的视运动及其位置。 第一步先作成计算器形式,输入观测地坐标和时间,选择行星,显示行星的天球坐标。
验证的方法:先准备一部分测试用例(不同地点、不同时间、不同行星),然后将程序输出和我的SkySensor输出的数据进行比较,如果一致就算通过。 第二步把他做成图形化显示,设定步长后可以模拟行星的运动。 第三步加入行星的数据、图形和影象等。点击行星后可以显示这些信息。 第四步加入小行星和彗星的数据。
先考虑做这些,大家感兴趣的话再提些建议。 设想是好的,不过需要时间和不断的努力.
其实用java写应该更好一些,我感觉.
我记得某一年的天文年历上有相关的计算方法
我记得某一年的天文年历上有相关的计算方法 想法很好,值得鼓励,但更要看到困难。事实上,已经有很多共享软件,可以达到类似的目的。很多著名软件也是这样开始的。
为了能够达到同样的目的和功能,其间遇到的问题和困难不会少的。但是,至少从熟悉算法、模型以及开发的语言和过程的练习的角度,还是有价值的。 新開發的軟件不要忘了繁體中文功能。 只要按照国际设计标准设计,可以支持多国语言的,这个我做过,比较简单. 支持多国语言应该没有问题,已经有相应标准。
今天找到一本中国科学院紫金山天文台编写的《2001年中国天文年历》,里面有很多数据,这到可以用来作为验证用的测试用例。 又找到一本苏宜写的《天文学新概论》,里面有一章详细描述了如何计算行星的视位置,收益不浅。只是有一点还没搞明白:网上很多计算行星位置的源码并没有采用苏宜书中介绍的方法,而是通过查表方式(好象用的是VSOP的数据),比较简单。有谁知道VSOP是怎么用的吗?它又是根据什么原理呢?
个人感觉。
用java较好,可作成applet用浏览器浏览就可。不过也可以用PHP,也能做到这样的程序。 最初由 evan 发表
又找到一本苏宜写的《天文学新概论》,里面有一章详细描述了如何计算行星的视位置,收益不浅。只是有一点还没搞明白:网上很多计算行星位置的源码并没有采用苏宜书中介绍的方法,而是通过查表方式(好象用的是VSOP的...
我也对如何查星表感兴趣,Evan 弄明白后讲解一下吧?
还有如何将其它软件的星表数据直接拿来用?(我觉得应该是没有问题的em11.gif )
Java 的确很灵活,但是在国内好像大家对他都不熟悉。如果能用VC 写更好,简洁效率高。:p
Evan 还有其他想法没有?? 查表的方法我感觉是这样:因为公式比较复杂,把最近数年的天体参数分别计算出来,保存在一个ascii文件中,读取方便,而且不会因为计算机进位等问题出现差错.
不知道我的理解对不对,但是我想要是直接能够给出公式就太好啦,网上有好多C/C++写的轨道计算代码,我就是不会写显示天体的程序,其他的都不算困难. 对于网上可以查到的各种星表文件,我们能够直接读出来用才好。
至于天体显示的问题,个人感觉对于三维的东西,在OpenGL图形库的基础上开发效果好,而且简单。根本不需要自己去编码解决三维的各种投影和剪切问题,只是要明白几何学概念。 星历表的理论计算方法 服务器不支持中文的文件名,请以后上传文件注意一下
页:
[1]
2