Телескопы покупают здесь


A A A A Автор Тема: Рассчитать долготу дня  (Прочитано 6765 раз)

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

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

  • **
  • Сообщений: 84
  • Благодарностей: 1
  • Не может быть так плохо, чтобы не было еще хуже !
    • Сообщения от RN3QGA
Re: Рассчитать долготу дня
« Ответ #40 : 10 Окт 2010 [22:28:55] »
 :-[  В общем  получается как всегда белеберда. Пока показывать код не буду а то засмеют.  :-X
Дабы для наглядности  (это конечно я уж слишком но все же) за массив взял заполненный ListBox, что в принципе тоже самое. Но никак не уловлю вот, что :
1. Чем отличается в опусе п.8    Hk-1 от Hk.
2.
Цитата
ищете, где у соседних H меняется знак, и вычисляете время пересечения Луной горизонта.

Как понимать ГДЕ  ???
Вы сильно не гневайтесь на меня.  Я уж думаю Вы поняли на какой ступени развития я нахожусь :) .
С уважением RN3QGA.
Celestron SkyMaster 15x70 Binoculars

Tau

  • Гость
Re: Рассчитать долготу дня
« Ответ #41 : 10 Окт 2010 [22:41:35] »
Запоминаем все высоты в массиве H(k), k от 0 до N.
Ну и время Tk запоминаем в массиве, например T(k).
Каждому моменту времени T(k) соответствует высота Луны H(k).
В цикле рассматриваем каждую высоту H(k) и сравниваем ее с предыдущей высотой H(k-1). Если H(k-1) меньше нуля, а H(k) больше нуля, то между временем T(k-1) и T(k) Луна взошла и тогда вычисляем время восхода по формуле интерполяции из п.8.
И в этом цикле k должна изменяться не от 0 до N, а от 1 до N, иначе при k=0 сравнивая H(0) c H(-1) вылетите за пределы массива с ошибкой.
Цитата
Я уж думаю Вы поняли

А я, например, не знаю, за какую сторону молоток нужно держать. Страшно подумать о моей степени развития, практически бытовой идиотизм  ;D
« Последнее редактирование: 10 Окт 2010 [22:51:12] от Tau »

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

  • **
  • Сообщений: 84
  • Благодарностей: 1
  • Не может быть так плохо, чтобы не было еще хуже !
    • Сообщения от RN3QGA
Re: Рассчитать долготу дня
« Ответ #42 : 10 Окт 2010 [22:49:40] »
Это получается мне 2 мерный массив надо что ли, эт тогда я приехал т.к. никогда не приходилось до этого с ними работать.
Книга по Дельфям есть но время нужно. Вообще то надо подумать, ведь ListBox это тотже массив, только вот время ....
С уважением RN3QGA.
Celestron SkyMaster 15x70 Binoculars

Tau

  • Гость
Re: Рассчитать долготу дня
« Ответ #43 : 10 Окт 2010 [22:55:31] »
Можно два одномерных массива. Дело ж не в размерности, а в том, как вы в эти массивы данные запомните. Если присвоите H(k) высоту на k-ом шаге, а T(k) - время на k-ом шаге, то все будет в ажуре.

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

  • **
  • Сообщений: 84
  • Благодарностей: 1
  • Не может быть так плохо, чтобы не было еще хуже !
    • Сообщения от RN3QGA
Re: Рассчитать долготу дня
« Ответ #44 : 10 Окт 2010 [23:11:11] »
 ;D Ну для начала так пойдет мне просто так понятней когда вижу.
Ток чур не хохотать от живота.  :-X
Да, а чегойто я забыл спросить а как T1 и T2 (Восход, Закат) в понятную цифру перевести?  :)
« Последнее редактирование: 10 Окт 2010 [23:50:19] от RN3QGA »
Celestron SkyMaster 15x70 Binoculars

Tau

  • Гость
Re: Рассчитать долготу дня
« Ответ #45 : 10 Окт 2010 [23:56:29] »
О, посчиталось однако  :)
Пусть T - время в часах, дробь.
Целая часть - это количество часов Hour = INT(T)
Разность T-Hour это остаток часа, надо перевести его в минуты: Min = (T-Hour)*60

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

  • **
  • Сообщений: 84
  • Благодарностей: 1
  • Не может быть так плохо, чтобы не было еще хуже !
    • Сообщения от RN3QGA
Re: Рассчитать долготу дня
« Ответ #46 : 11 Окт 2010 [01:07:39] »
Вот решил с чем нибудь сравнить нашел в инете.
Сегодня: 11/10/2010
Понедельник
Местное время: 0 ч. 55 мин. 59 сек.
Всемирное время: 20 ч. 55 мин. 59 сек.
Местное звездное время: 0 ч. 50 мин. 6 сек.
Юлианская дата: 24055480.372
Широта: 51.66
Долгота: 39.18
Временная зона: +4 ч.
Ближайшее новолуние:
7 10 2010 23 ч.0мин.
Возраст Луны: 3.08 дней

Дата                     Луна                     Солнце               Сумерки
                    восход    заход        восход    заход   начало    конец
   8 10 2010    8:30    18:28           7:35    18:46    6:23    19:58
   9 10 2010    9:58    18:56           7:37    18:43    6:24    19:56
10 10 2010    11:21    19:32          7:39    18:41    6:26    19:54
11 10 2010    12:35    20:16          7:40    18:39    6:28    19:51
12 10 2010    13:37    21:12          7:42    18:37    6:29    19:49
13 10 2010    14:25    22:15          7:44    18:34    6:31    19:47
14 10 2010    15:02    23:23          7:46    18:32    6:32    19:45
15 10 2010    15:30    -----             7:47    18:30    6:34    19:43
16 10 2010    15:52    0:32            7:49    18:28    6:36    19:41
17 10 2010    16:10    1:41            7:51    18:26    6:37    19:39
18 10 2010    16:26    2:49            7:52    18:24    6:39    19:37
19 10 2010    16:40    3:56            7:54    18:22    6:41    19:35
20 10 2010    16:55    5:03            7:56    18:20    6:42    19:33
21 10 2010    17:11    6:11            7:57    18:18    6:44    19:31
22 10 2010    17:29    7:20            7:59    18:15    6:46    19:29
23 10 2010    17:51    8:31            8:01    18:13    6:47    19:27
24 10 2010    18:18    9:43            8:03    18:11    6:49    19:25
25 10 2010    18:53    10:52          8:04    18:10    6:51    19:24
26 10 2010    19:40    11:57          8:06    18:08    6:52    19:22
Не сходится.   :-\
Уже и поправку UTC прибавлял и убавлял, но чего то я точно недопонимаю.
Если не затруднит гляньте прицепочку пожалста  :-[

Celestron SkyMaster 15x70 Binoculars

Tau

  • Гость
Re: Рассчитать долготу дня
« Ответ #47 : 11 Окт 2010 [01:40:19] »
А по-моему все сходится. Если в вашем экзешнике задать данную долготу и широту
Цитата
Широта: 51.66
Долгота: 39.18
и прибавить к вашим значениям во всемирном времени +4 часа, то будет как тут.
Ошибка в 1-2 минуты потому что вы расчитываете высоту Луны с шагом в полчаса, а потом интерполируете линейно. Задайте Atx поменьше, например  5 минут Atx=5/60 и должно быть совсем хорошо.
« Последнее редактирование: 11 Окт 2010 [01:55:47] от Tau »

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

  • **
  • Сообщений: 84
  • Благодарностей: 1
  • Не может быть так плохо, чтобы не было еще хуже !
    • Сообщения от RN3QGA
Re: Рассчитать долготу дня
« Ответ #48 : 11 Окт 2010 [09:01:30] »
Да, да, да про Атх я просто забыл. :D
да и время просто задаешь -4 и все ок.
А как на счет азимута?
« Последнее редактирование: 11 Окт 2010 [18:59:56] от RN3QGA »
Celestron SkyMaster 15x70 Binoculars

Tau

  • Гость
Re: Рассчитать долготу дня
« Ответ #49 : 11 Окт 2010 [19:15:21] »
Азимута чего? Впрочем, неважно.  :)
В ваших переменных это выглядит так:
Az:=Pil*ArcTan2(cos(Btpc)*sin(Sl-Atpc), sin(fshir)*cos(Btpc)*cos(Sl-Atpc)-cos(fshir)*sin(Btpc));
Азимут от юга. Если нужно от севера, прибавьте 180 градусов.
« Последнее редактирование: 11 Окт 2010 [22:30:37] от Tau »

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

  • **
  • Сообщений: 84
  • Благодарностей: 1
  • Не может быть так плохо, чтобы не было еще хуже !
    • Сообщения от RN3QGA
Re: Рассчитать долготу дня
« Ответ #50 : 12 Окт 2010 [07:47:14] »
 Спасибо. Азимута восхода и заката луны конечно.
Чувствую надо взять паузу, а то я вам надоел изрядно. :)
С уважением RN3QGA.
« Последнее редактирование: 12 Окт 2010 [07:56:01] от RN3QGA »
Celestron SkyMaster 15x70 Binoculars

Tau

  • Гость
Re: Рассчитать долготу дня
« Ответ #51 : 12 Окт 2010 [10:27:04] »
Аха, понятно. В структуре вашей программы это будет выглядеть так:
Формулу вычисления азимута вставьте после вычисления высоты в процедуру TheLunCalc.
После того, как вы вычислили всемирное время восхода Луны T1, вычислите юлианскую дату этого момента MD=INT(MD0)+T1/24 и вызовите опять процеудуру TheLunCalc, она вернет высоту и азимут Луны на этот момент. Высота должна быть около нуля (из-за погрешности интерполяции какие-то доли градуса будут болтаться), а азимут - это азимут восхода.
Так же и со временем захода T2: вычисляете юлианскую дату и вызываете процедуру.
Для многострадального нашего 7 октября:
Восход: Az = 283.454698
Заход: Az = 71.221047

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

  • **
  • Сообщений: 84
  • Благодарностей: 1
  • Не может быть так плохо, чтобы не было еще хуже !
    • Сообщения от RN3QGA
Re: Рассчитать долготу дня
« Ответ #52 : 13 Окт 2010 [08:27:31] »
Вроде все работает - Большое СПС! :)
Ну с луной вроде разобрались теперь осталось ПСТ но TLE.
Я честно говоря сомневаюсь.Хотя в ветке где этот вопрос разбирался попросил исходник для примера,
обещали поделиться, был бы конечно весьма рад. Посмотрим, посмотрим, а  пока читаю.
С уважением RN3QGA.
Celestron SkyMaster 15x70 Binoculars