Старый 04.09.2013, 10:12   #1
leftredbox
Собеседник
 
Регистрация: 04.09.2013
Сообщения: 2
leftredbox отключил(а) отображение уровня репутации
Cool Расчет астрологических эфемерид

Приветствую!

Я не специалист в астрономии и астрологии, но пытаюсь сделать программу, которая будет на дату определять положение планет, луны и солнца так, как это описано в астрологических эфемеридах, на пример:
http://www.ephemeris.com/ephemeris.php
http://www.findyourfate.com/astrolog...eris/1982.html

В интернете есть готовые библиотеки, которые дают возможность провести этот расчет, на пример: http://www.iausofa.org/index.html или http://code.google.com/p/niek-ephem/ - есть и другие, в том числе, которые уже обсуждались на этом форуме, это не так принципиально, т.к. в них просто заложены разные алгоритмы, дающие разные значения точности.

На чем я споткнулся - все эти библиотеки как правило на выходе дают "вектор положения планет" - выгладит он как 6 значений: 3 по положению, 3 по скорости.

Как из этого "вектора" получить значение типа: Venus 21 Lib 57'13"

Т.е. в каком знаке находится сейчас данная планета и ее положение в этом знаке я так и не разобрался.

Я видел, что на этом форме пишут свои библиотеки для подобных расчетов, не могли бы вы пояснить как перейти к нужному виду.
leftredbox вне форума   Ответить с цитированием
Старый 04.09.2013, 11:28   #2
LordWilex
В отпуске
 
Аватар для LordWilex
 
Регистрация: 01.06.2008
Адрес: Таганрог
Сообщения: 28,983
LordWilex репутация выше +1000LordWilex репутация выше +1000LordWilex репутация выше +1000LordWilex репутация выше +1000LordWilex репутация выше +1000LordWilex репутация выше +1000LordWilex репутация выше +1000LordWilex репутация выше +1000
По умолчанию

Цитата:
Сообщение от leftredbox
Я не специалист в астрономии и астрологии, но пытаюсь сделать программу, которая будет на дату определять положение планет, луны и солнца так, как это описано в астрологических эфемеридах
Тогда зачем оно Вам надо? Таких программ полно, а если Вы не специалист по этим вопросам - то вряди сможете сделать дкействительно что-то стоящее, полезное, востребованное.


Цитата:
Сообщение от leftredbox
На чем я споткнулся - все эти библиотеки как правило на выходе дают "вектор положения планет" - выгладит он как 6 значений: 3 по положению, 3 по скорости.

Как из этого "вектора" получить значение типа: Venus 21 Lib 57'13"

Т.е. в каком знаке находится сейчас данная планета и ее положение в этом знаке я так и не разобрался.



Элементарно. Вам нужна будет эклиптическая долгота. Если библиотека выдает её в радианах - необходимо сначала перевести её в градусы.
Градусов 360. В знаке 30 градусов. Знаков 12.

0-й градус Овна соотвествует 0-му градсусу эклиптической долготы. 0-й градус Тельца - соответсвует 30 градусу эклиптической долготы и т.д.
Для того, чтобы получить номер знака - делим эклиптическую долготу на 30 и прибавляем к результату единицу, а дробную часть умножаем на 30.

Допустим планета находится в 40 градусе эклиптической долготы. Тогда:
40/30 = 1.3333
floor(1.333)+1 = 2 т.е. 2й знак зодиака т.е. телец
0.333*30 = 9.999999 т.е. 9й градус Тельца
0.99999 * 60 минут = 59.999 минут (если надо дробную часть еще умножаем на 60, чтобы получить секунды)

Итого: 9 градусов 59.999 минут Тельца

P.S. Вообе-то просто 10й градус, но из-за иррациональности дроби 40/30 в данном случае получится 9.999999999999999999..... градусов, если испольтзовать double и не округлять :)
__________________
В астрологии Деда Мороза нет

Последний раз редактировалось LordWilex, 04.09.2013 в 11:46.
LordWilex вне форума   Ответить с цитированием
Старый 04.09.2013, 11:50   #3
leftredbox
Собеседник
 
Регистрация: 04.09.2013
Сообщения: 2
leftredbox отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от LordWilex
Тогда зачем оно Вам надо? Таких программ полно, а если Вы не специалист по этим вопросам - то вряди сможете сделать дкействительно что-то стоящее, полезное, востребованное.

Для начала разобраться самому, а потом может и чего полезного сделать, есть же разные потребители продуктов.

Цитата:
Сообщение от LordWilex
Элементарно. Вам нужна будет эклиптическая долгота. Если библиотека выдает её в радианах - необходимо сначала перевести её в градусы.
Градусов 360. В знаке 30 градусов. Знаков 12.

0-й градус Овна соотвествует 0-му градсусу эклиптической долготы. 0-й градус Тельца - соответсвует 30 градусу эклиптической долготы и т.д.
Для того, чтобы получить номер знака - делим эклиптическую долготу на 30 и прибавляем к результату единицу, а дробную часть умножаем на 30.

Допустим планета находится в 40 градусе эклиптической долготы. Тогда:
40/30 = 1.3333
floor(1.333)+1 = 2 т.е. 2й знак зодиака т.е. телец
0.333*30 = 9.999999 т.е. 9й градус Тельца
0.99999 * 60 минут = 59.999 минут (если надо дробную часть еще умножаем на 60, чтобы получить секунды)

Итого: 9 градусов 59.999 минут Тельца

P.S. Вообе-то просто 10й градус, но из-за иррациональности дроби 40/30 в данном случае получится 9.999999999999999999..... градусов, если испольтзовать double и не округлять :)

Ох, вот за это огромное спасибо за подробное объяснение! Теперь стало понятно!
leftredbox вне форума   Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +1, время: 06:28.


Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 1995-2026, ARGO