A A A A Автор Тема: Расчет звездного времени.  (Прочитано 8472 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Расчет звездного времени.
« : 19 Дек 2006 [21:13:28] »
Прямое восхождение = звёздному времени (right ascention = s). И это - святая правда.

Но я - тупой и снова что-то путаюсь.
Как расчитать звездное время? Я расчитываю сначала JD, зная точное время по Гринвичу. Затем Greenwich Mean Sidereal Time по страшной формуле:
GMST=GMST_A+GMST_B*(JD-JD2000)+GMST_C*T+T*T*T/GMST_D,
где
T=(JD-2451545.0)/36525.0,
GMST_A=280.46061837б,
GMST_B=360.98564736629б,
GMST_C=0.000387933б,
GMST_D=38710000.0б,
JD2000=2451545.0.
Потом сдвигаю это на нужное количество 2Pi и получаю что-то между 0 и 360.
Как же это теперь привязать к моей конкретно долготе?

Спасибо.

Andreichk

  • Гость
Re: Расчет звездного времени.
« Ответ #1 : 19 Дек 2006 [21:18:35] »
//##################################################################
//####   РАСЧЁТ ТОЧНОГО МЕСТНОГО ЗВЁЗДНОГО ВРЕМЕНИ    ##############
//##################################################################
float sternh,sternm,sterns;
function Sidereal_time(float Longitude,float jahr, float monat, float tag,
float stunde, float minute, float sekunde)returns float//,
{float s, b, j, h, g, t,sternmx,gmt ;
gmt=stunde+minute/60.0+sekunde/3600.0-sommer_winter;
if monat < 3 {jahr=jahr-1;monat=monat+12;}
s = jahr + monat / 100.0 + tag / 1000.0;
if s < 1583.1015 b=-2;
else b = math.floor(jahr/400.0)-math.floor(jahr/100.0);
j = 365.25*jahr+math.floor(30.6001*(monat+1))+b+tag+1720996.5;
t = (j - 2451545.0) / 36525.0;
g = 0.2790572733 + 100.0021391 * t + 0.0000010776 * t * t
                                 - 0.000000000072 * t * t* t;
g = g + 0.0417807462 * gmt;
g = (g - math.floor(g)) * 24.0;
h = g + Longitude/15;//LST.  Вот тут оно привязывается к долготе
h = h - 24*math.floor(h/24.0);
sternh = math.floor(h);
sternmx= (h-math.floor(h))*60.0;
sternm = math.floor(sternmx);
sterns = math.floor((sternmx-math.floor(sternmx))*60.0);
return sternh+sternm/60+sterns/3600;//в часах и долях часа(десятичн.)
}//----------------OK
//##################################################################

Суворов Владимир

  • Гость
Re: Расчет звездного времени.
« Ответ #2 : 19 Дек 2006 [21:30:13] »
//##################################################################
//####   РАСЧЁТ ТОЧНОГО МЕСТНОГО ЗВЁЗДНОГО ВРЕМЕНИ    ##############
//##################################################################

Думаешь поможет? :)

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #3 : 19 Дек 2006 [21:34:35] »
Блин, заработало!!!!!
Помогло.
Умнее правда не стал, но зато очень доволен.

Спасибо!!!

Andreichk

  • Гость
Re: Расчет звездного времени.
« Ответ #4 : 19 Дек 2006 [21:44:49] »
//##################################################################
//####   РАСЧЁТ ТОЧНОГО МЕСТНОГО ЗВЁЗДНОГО ВРЕМЕНИ    ##############
//##################################################################

Думаешь поможет? :)

Muss hilfen !!! однако :)

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Нихт ферштейн.
« Ответ #5 : 19 Дек 2006 [22:56:46] »
Ну, ладно, смейтесь, если хотите.
Правильно ли я понял, что здесь время по гринвичу, а sommer_winter - 1, если зима, 0 - лето? Что-то у меня "ответ не сходится".

Спасибо.

Andreichk

  • Гость
Re: Нихт ферштейн.
« Ответ #6 : 19 Дек 2006 [23:01:19] »
Ну, ладно, смейтесь, если хотите.
Правильно ли я понял, что здесь время по гринвичу, а sommer_winter - 1, если зима, 0 - лето? Что-то у меня "ответ не сходится".

Спасибо.
типа того, у меня всё сходится.
только эта процедура возвращает местное зв.время
З.Ы. а никто не смеётся

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #7 : 19 Дек 2006 [23:13:00] »
А можно ради эксперимента проверить какой ответ для UT=2006-12-19 20:16:43, lon=67.463?

Огромное спасибо!!!

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #8 : 19 Дек 2006 [23:16:29] »
И сразу, чтоб не терять времени, сообщите, пожалуйста, куда прислать магарыч.

Спасибо.
« Последнее редактирование: 19 Дек 2006 [23:21:42] от kostya30 »

Andreichk

  • Гость
Re: Расчет звездного времени.
« Ответ #9 : 19 Дек 2006 [23:30:25] »
А можно ради эксперимента проверить какой ответ для UT=2006-12-19 20:16:43, lon=67.463?

Огромное спасибо!!!
ну дык подставь значения , да посчитай,или думаешь у меня кулькулятор другой? Да не- такой же самый
у меня получилось  LST: 5.6919444
« Последнее редактирование: 19 Дек 2006 [23:36:40] от Andreichk »

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #10 : 19 Дек 2006 [23:35:59] »
Я просто хотел сверить. Я подставляю. Получаю 5.548611111111111.
Потом пытаюсь сверить с online сервисами. И получаю расхождение в час. Я просто хотел определить - или я что-то неправильно делаю, или сервисы выдают неправильное значение.

Спасибо.

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #11 : 19 Дек 2006 [23:38:11] »
Это значение получаю для 61.272, 2006.0, 12.0, 19.0, 20.0, 32.0, 50.0.
А должно получится 4h 5m 5s, как я понимаю.

Andreichk

  • Гость
Re: Расчет звездного времени.
« Ответ #12 : 19 Дек 2006 [23:39:29] »
поправку на местное время учитываешь?
Кстати скинь ссылку на онлайн-сервис

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #13 : 19 Дек 2006 [23:40:05] »
http://www.fourmilab.ch/cgi-bin/uncgi/Yourtel - вот эту фигню использую.

Andreichk

  • Гость
Re: Расчет звездного времени.
« Ответ #14 : 19 Дек 2006 [23:40:34] »
Это значение получаю для 61.272, 2006.0, 12.0, 19.0, 20.0, 32.0, 50.0.
А должно получится 4h 5m 5s, как я понимаю.
return sternh+sternm/60+sterns/3600;//в часах и долях часа(десятичн.)
приведи к нормальному виду с минутами и секундами

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #15 : 19 Дек 2006 [23:45:32] »
HR=5.0

MIN=32.0

SEC=55.0

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #16 : 19 Дек 2006 [23:46:56] »
Это - то, что возвращает программка (там есть и минутах и секундах - глобальные переменные).
http://www.fourmilab.ch/yoursky/ - вот эта ссылка более корректна.

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #17 : 19 Дек 2006 [23:49:24] »
Значит, еще раз, чтоб не путанно было:
подставляю 61.272, 2006.0, 12.0, 19.0, 20.0, 32.0, 50.0,
получаю:5.548611111111111 h = 5.0h, 32.0m, 55.0s.
Вышеуказанная фигня выдаёт другой ответ.


Andreichk

  • Гость
Re: Расчет звездного времени.
« Ответ #18 : 19 Дек 2006 [23:51:30] »
не знаю чего там куда, но я сравниваю с прогой Starrynight и у меня там сходится почти секунда в секунду

Оффлайн kostya30Автор темы

  • Новичок
  • *
  • Сообщений: 43
  • Благодарностей: 1
    • Сообщения от kostya30
Re: Расчет звездного времени.
« Ответ #19 : 19 Дек 2006 [23:53:17] »
Сходится мой расчет?