9

我需要做一些月出方位角和时间计算。谁能推荐一个好的天文学库,最好是在 Objective-C 中?

4

6 回答 6

12

我推荐 PJ Naughter 的AA+ 库。它基于 Meeus 的《天文算法》一书。该库非常全面,并且是用 C++ 编写的(很容易从 Objective-C 中调用)。我的 iOS 应用Lúan使用了这个库。

于 2011-03-11T05:48:12.787 回答
2

也许开源项目的代码适合你?最近在FLOSS-Weekly上有一个关于Stellarium的讨论。

免责声明:我没有查看 Stellarium 的来源,所以我不知道它是否有用,不幸的是它是用 C/C++ 编写的。

于 2010-02-27T19:05:40.063 回答
2

它不在目标 C 中,但 pyephem 包中包含的库非常好。C 源文件取自旧的 X windows xephem 程序,添加了胶水以使函数在 Python 中可用。只要您不需要超高精度,这些例程可能对您有用。

http://rhodesmill.org/pyephem/

于 2010-02-27T22:41:37.083 回答
2

对于那些仍然对 2016 年感兴趣的人,我围绕 PJ Naughter 的 AA+ 库制作了一个 Objective-C(++) 和 Swift 包装器。它基于 Jean Meeus 的《天文算法》一书,在 GitHub 上开源:

https://github.com/onekiloparsec/SwiftAA

于 2016-12-17T08:05:41.137 回答
1

除了 Andrew Hammond 的回答,我只使用 Xcode 下载 AA。然后,我删除了所有测试文件(AATest.cpp AATest.sin AATest.vcproj),并在 nYear / 100 的最后一行中通过 Xcode 警告“隐式转换损失整数精度 'long' 到 'int'”

CAAEasterDetails CAAEaster::Calculate(long nYear, bool GregorianCalendar)
{
  CAAEasterDetails details;

  if (GregorianCalendar)
  {                      
    int a = nYear % 19;
    int b = nYear / 100;

程序编译正常。只有当程序是目标 c 时才编译,但如果它是基于 Swift 的则不编译。预处理器宏 AAPLUS_EXT_CLASS 出现问题。

于 2015-04-11T03:53:46.580 回答
1

有一个名为 Astrolog 的旧 C 库,它可能可以完成您所要求的一些事情。你可以在这里查看:http ://www.astrolog.org/astrolog.htm

于 2010-02-27T19:36:38.543 回答