Вверх ↑
Ответов: 150
Рейтинг: 0
#1: 2006-10-30 00:56:18 ЛС | профиль | цитата
Леонид, восходом или закатом Солнца и Луны считается момент восхода или заката их верхнего края, а учитывать надо в основном широту расположения и, желательно, летнее время, а не такие детали, как высота Останкинской башни Может все-таки переведете код в хиасмовский? Кстати, еще один код приискала:

procedure Sun_RiseSet2 (const DT: TDateTime; const Position: TESBPosition; const TimeOfs: Extended;
    out SunRise, SunSet: TDateTime);
var
Gamma, Declination, EqTime, HourAngle: Extended;
begin
Gamma := TwoPi * (DayOfYear (DT) - 1.5);
EqTime := 229.18 * (0.000075 + 0.001868 * Cos (Gamma) - 0.032077 * Sin (Gamma)
- 0.014615 * cos (2 * Gamma) - 0.040849 * sin (2 * Gamma)); // In Minutes

Declination := 0.006918 - 0.399912 * cos (Gamma) + 0.070257 * sin (Gamma)
- 0.006758 * cos (2 * Gamma) + 0.000907 * sin (2 * Gamma)
- 0.002697 * cos (3 * Gamma) + 0.00148 * sin (3 * Gamma); // In Radians

HourAngle := ESBArcCosDeg (ESBCosDeg (90.833) / (EsbCosDeg (Position.Latitude)
* Cos (Declination)) - ESBTanDeg (Position.Latitude) * ESBTan (Declination)); // In Degrees

SunRise := (720 + 4 * (-1 * Position.Longitude - HourAngle) - EqTime) / 60 + TimeOfs;
SunSet := (720 + 4 * (-1 * Position.Longitude + HourAngle) - EqTime) / 60 + TimeOfs;

if SunRise > 24 then
SunRise := SunRise - 24;
if SunRise < 0 then
SunRise := SunRise + 24;
if SunSet > 24 then
SunSet := SunSet - 24;
if SunSet < 0 then
SunSet := SunSet + 24;

SunRise := Int (DT) + SunRise / 24;
SunSet := Int (DT) + SunSet / 24;
end;

НО ЛУЧШЕ ВСЕХ САМЫЙ ПЕРВЫЙ КОД

P.S.
совсем молчу о 28000-летнем цикле прецессии наклона оси вращения Земли, из-за чего экваториальные созвездия заметно сместились от положения, которое они занимали 2-3 тысячи лет назад (но гадаю, что они, астрологи, будут говорить, когда им придётся вводить тринадцатое созвездие в свои расчёты!)


Леонид, а вот тут я как раз сторонница реформирования современной астрологии, необходимого в связи с реальными астрономическими данными, о которых вы упомянули, и о введении того самого 13-го созвездия . Только пока это ещё дело будущего проекта (кстати, вам не приходла в голову идея при таких знаниях астрономии самому написать такую альтернативную программу по астрологии? Это было бы здорово ), а сейчас моя программка другого характера , так как до астропроцессора я пока еще не "доросла"...
карма: 0

0