Objective-C Астрономическая Библиотека - PullRequest
9 голосов
/ 27 февраля 2010

Мне нужно вычислить азимут и время восхода луны. Кто-нибудь может порекомендовать хорошую астрономическую библиотеку, желательно в Objective-C?

Ответы [ 6 ]

12 голосов
/ 11 марта 2011

Я рекомендую AA + библиотеку PJ Naughter . Он основан на книге Астрономических Алгоритмов Меуса. Библиотека довольно обширна и написана на C ++ (легко вызывается из Objective-C). Мое приложение для iOS Lúan использует эту библиотеку.

2 голосов
/ 17 декабря 2016

Для тех, кто все еще интересуется 2016 годом, я сделал оболочку Objective-C (++) и Swift для библиотеки AA + PJ Naughter. Он основан на книге Астрономических Алгоритмов Жана Миуса и является открытым исходным кодом на GitHub:

https://github.com/onekiloparsec/SwiftAA

2 голосов
/ 28 февраля 2010

Это не входит в цель C, но библиотека, включенная в пакет pyephem, довольно хороша. Исходные файлы C были взяты из старой программы X Windows xephem с добавлением клея, чтобы сделать функции доступными из Python. Пока вам не требуется сверхвысокая точность, эти процедуры, вероятно, будут работать для вас.

http://rhodesmill.org/pyephem/

2 голосов
/ 27 февраля 2010

Может быть, код проектов с открытым исходным кодом может подойти вам? Недавно на FLOSS-Weekly была дискуссия о Stellarium .

Отказ от ответственности: я не смотрел на этот источник Stellarium, поэтому понятия не имею, полезен ли он вообще и к сожалению написан на C / C ++.

1 голос
/ 11 апреля 2015

Помимо ответа Эндрю Хаммонда, я просто использую Xcode для загрузки AA. Затем я удаляю все тестовые файлы (AATest.cpp AATest.sin AATest.vcproj) и с предупреждением Xcode о «неявной целочисленной потере преобразования 'long' в 'int'" в последней строке nYear / 100

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

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

Программа компилируется нормально. Компилировать, только если программа является целью c, но не если она основана на Swift. Возникла проблема с макросом препроцессора AAPLUS_EXT_CLASS.

1 голос
/ 27 февраля 2010

Есть старая C-библиотека под названием Astrolog, которая, вероятно, может сделать кое-что из того, о чем вы просите. Вы можете проверить это здесь: http://www.astrolog.org/astrolog.htm

...