【问题标题】:Objective-C Astronomy LibraryObjective-C 天文学库
【发布时间】:2011-01-21 20:22:04
【问题描述】:

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

【问题讨论】:

    标签: objective-c astronomy


    【解决方案1】:

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

    https://github.com/onekiloparsec/SwiftAA

    【讨论】:

      【解决方案2】:

      在 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 出现问题。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我下载了 AA+ 库,但请告诉我如何将 C++ 文件添加到 XCode iOS 项目中?我试过了,但是 class 关键字出错了!
        • 集成 AA+ 时,请删除测试,因为它们包含与您的项目 main 冲突的 main 函数。将需要引用 C++ 代码的 obj-c 文件重命名为以 .mm 而不是 .m 结尾。这样做会将编译器置于该文件的 Objective-C++ 模式。
        • 你找不到太阳和月亮的升起和落下是吗?
        • 您可以使用该库进行太阳/月亮升起/设置。
        【解决方案4】:

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

        http://rhodesmill.org/pyephem/

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            【解决方案6】:

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

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

            【讨论】:

              猜你喜欢
              • 2012-05-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-02-14
              • 2010-09-15
              • 2012-06-24
              • 2011-08-06
              相关资源
              最近更新 更多