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


A A A A Автор Тема: Как рассчитываются  (Прочитано 55471 раз)

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

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #20 : 15 Июн 2002 [20:04:30] »
А и t находятся в одном квадранте. Вблизи равноденствий восход-заход происходят строго в точках  востока и запада. Делее все переходит на северо-восток и северо-запад (угол от точки юга > 90 градусов).

Вообще, для определения квадранта нужна пара тригонометрических функций:

Sin Z * Sin A = Cos (Decl) * Sin t
Sin Z * Cos A = -Cos (Fi) * Sin (Decl) + Sin (Fi) * Cos (Decl) * Cos t

По Sin и Cos азимута определяется угол. В астрономии азимут отсчитывается от точки юга на запад от 0 до 360 градусов.

« Последнее редактирование: 15 Июн 2002 [20:17:41] от Анатолий »

an1440

  • Гость
Re:Как расчитываются
« Ответ #21 : 17 Июн 2002 [14:29:22] »

А и t находятся в одном квадранте. Вблизи равноденствий восход-заход происходят строго в точках  востока и запада. Делее все переходит на северо-восток и северо-запад (угол от точки юга > 90 градусов).


Ох и темная наука - Астрономия! Не зря вы ей по ночам занимаетесь :) ...
При использовании вышеуказанной методики определения квадранта азимута на широтах вблизи 0 градусов в районе точек равноденствий образуются неприятности - азимут преждевременно (до равноденствия) перебрасывается в другой квадрант, т.е. до того, как он самостоятельно достигнет -90 гр. (часовой угол как раз уже переходит). С этого момента и до равноденствия он имеет неправильный знак приращения и на линии возникает разрыв и далее перелом.
Эффект полностью исчезает если из формул исключить все "приподнимающие" поправки - за рефракцию, радиус, параллакс. - тогда получается нормальная картина вплоть до любых сколь угодно малых широт (0,00000001) . При ровно 0 все равно происходит сбой - но это возможно особенности производства вычислений на компьютере.

Скинуть получившуюся программу? (если да - то куда?) - оценить опытным взглядом - похожи ли на правду результаты.



Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #22 : 17 Июн 2002 [18:15:04] »
an1440:

«Ох и темная наука - Астрономия! Не зря вы ей по ночам занимаетесь»
По ночам занимаются наблюдениями, а наукой следует заниматься днем, на свежую голову!

«…азимут преждевременно (до равноденствия) перебрасывается в другой квадрант, т.е. до того, как он самостоятельно достигнет -90 гр.»

А когда, по Вашему мнению, азимуту точки восхода (захода) «своевременно» переходить в другой квадрант и почему?

Относительно особенностей с азимутами на экваторе. Азимут светила – это двугранный угол относительно вертикальной линии. Если светило проходит через зенит (на экваторе вблизи равноденствий Солнце именно это и проделывает), азимут может скачком переходить в другой квадрант. Просто в точке зенита азимут не существует, как не существует прямое восхождение в полюсе экваториальной системы координат или долгота в географическом полюсе. При программировании следует предусматривать такую возможность, иначе программа может «грохнуться». Особенности с азимутом Солнца могут быть на любой широте, где Солнце достигает зенита.

Программу пересылать не требуется. Нужно опубликовать данные для двух-трех моментов, я сравню со своими данными.

an1440

  • Гость
Re:Как расчитываются
« Ответ #23 : 17 Июн 2002 [18:59:31] »
для
latitude=+ 50°12'40"
longitude=+ 136°53'20"
timezone= +10

(дата/JD/восход/заход/а восх/склонение сл)

15 mar 2002    2452349      07:02:42      18:52:32      + 272°32'17"  - 2°08'27"
16 mar 2002    2452350      07:00:48      18:54:26      + 271°58'01"  - 1°44'43"
17 mar 2002    2452351      06:58:54      18:56:21      + 271°26'03"  - 1°20'58"
18 mar 2002    2452352      06:57:00      18:58:15      + 268°59'51"  - 0°57'13"
19 mar 2002    2452353      06:55:07      19:00:09      + 269°09'18"  - 0°33'28"
20 mar 2002    2452354      06:53:13      19:02:03      + 268°54'41"  - 0°09'42"
21 mar 2002    2452355      06:51:19      19:03:57      + 268°26'43"  + 0°14'02"
22 mar 2002    2452356      06:49:25      19:05:51      + 267°54'01"  + 0°37'45"

здесь как раз заметен тот эффект, что я говорил (в экваториальной зоне он во много раз больше)

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #24 : 17 Июн 2002 [22:54:57] »
an1440:

Дата, восход, заход, азимуты восхода и захода.

17   7 03  19 00    271  89
18   7 01  19 01    271  90
19   6 59  19 03    270  90
20   6 57  19 04    270  91
21   6 54  19 06    269  91
22   6 52  19 08    268  92

В Ваших данных:

Смещены моменты (может быть неточно вычислено уравнение времени).

Имеется скачек азимутов в интервале 17-18 марта. С чем это связано – не могу сказать. Такого скачка быть не должно.

an1440

  • Гость
Re:Как расчитываются
« Ответ #25 : 18 Июн 2002 [08:12:02] »
Цитата
Смещены моменты (может быть неточно вычислено уравнение времени).
Правильно Вы сказали - нечего было по ночам считать...
Менял обозначения переменных, и в ур.вр. вместо долготы солнца влепил
долготу места. Сейчас время сошлось.  
Цитата
Имеется скачек азимутов в интервале 17-18 марта. С чем это связано - не могу сказать. Такого скачка быть не должно.
Теперь в этом интервале он уменьшился.
А вот на широте +10 (долгота та же, +136.889)- картина все равно удручающая:

05 mar 2002     07:06  19:04     + 276°15'03"
06 mar 2002     07:05  19:04     + 275°51'45"
07 mar 2002     07:05  19:04     + 275°28'23"
08 mar 2002     07:04  19:04     + 275°05'00"  
09 mar 2002     07:04  19:04     + 265°18'24"  
10 mar 2002     07:03  19:04     + 265°41'48"
11 mar 2002     07:03  19:04     + 266°05'10"
12 mar 2002     07:02  19:04     + 266°28'28"

18 mar 2002     06:59  19:04     + 268°40'38"
19 mar 2002     06:58  19:04     + 268°57'19"
20 mar 2002     06:58  19:04     + 269°07'50"
21 mar 2002     06:57  19:04     + 269°08'17"  
22 mar 2002     06:56  19:04     + 268°58'29"  
23 mar 2002     06:56  19:04     + 268°42'13"
24 mar 2002     06:55  19:04     + 268°22'41"

Как у Вас выглядит эта область?

По-моему, какой-то подвох связан с тем, что в расчете часового угла
принимает участие точка солнечного диска, максимально удаленная от экватора,
а в расчете азимута - максимально удаленная от горизонта. А так как это разные
точки, то первая раньше чем вторая переходит в другой квадрант. Принудительно переводя по
этому признаку в другой квадрант и вторую - как раз и получаем разрыв.

По крайней мере, этот разрыв полностью устраняется для всех широт, если критерием перевода А
в другой квадрант принять переход в другой квадрант не просто t, а
t+(сумма всех "приподнимающих" поправок)*сos(fi), т.е. проекцию этих поправок с вертикали на экватор.
И тогда тот де самый участок выглядит так:

18 mar 2002     06:59  19:04     + 271°19'40"
19 mar 2002     06:58  19:04     + 271°03'05"
20 mar 2002     06:58  19:04     + 270°52'38"
21 mar 2002     06:57  19:04     + 269°07'49"
22 mar 2002     06:56  19:04     + 268°58'05"
23 mar 2002     06:56  19:04     + 268°41'54"
24 mar 2002     06:55  19:04     + 268°22'26"

Или я опять что-то напутал?

« Последнее редактирование: 18 Июн 2002 [10:13:31] от an1440 »

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #26 : 18 Июн 2002 [10:26:05] »
Скачки азимутов остались. Вы ведь пользуетесь приближенными величинами координат Солнца и, следовательно, часового угла. Вероятно, это и приводит к разным моментам перехода углов через 270 градусов. Попробуйте использовать формулы определения четверти угла по двум тригонометрическим функциям (Sin и Cos азимута).

Я не знаю, каким языком Вы пользуетесь, но, на всякий случай,
Pi = 3.14159265359;

Function Atan2 ( S, C : Double ) : Double  ;
 { S – Sin Arg, C – Cos Arg }
 Const
   C20   : Double = 2.0;
   Pi2   : Double = Pi * 2.0;
   Pid2  : Double = Pi / 2.0;
   Pi270 : Double = Pi * 2.0 - Pi / 2.0;
 Var
   A  : Double ;

 Begin
   If (  ( S = 0.0 ) And ( C = 0.0 )  )
     Then
         ATan2 := 0.0
     Else
       Begin
         If ( Abs ( C ) > 0.0 )
           Then
             Begin
               If ( Abs ( C ) > Abs ( S ) )
                 Then
                   A := ArcTan ( S / C )
                 Else
                   Begin
                     If ( ( C / S ) < 0.0 )
                       Then  A := Pi270 - ArcTan ( C / S )
                       Else  A := Pid2  - ArcTan ( C / S ) ;
                     End ;
               If ( C < 0.0 )  Then  A := A + Pi;
               If ( A < 0.0 )  Then  A := A + Pi2;
               If ( A > Pi2 )  Then  A := A - Pi2;
             End
           Else
             Begin
               If ( S > 0.0 )
                 Then  A := Pi / C20
                 Else  A := Pi270;
             End ;

         ATan2 := A ;

       End ;
 End ;



an1440

  • Гость
Re:Как расчитываются
« Ответ #27 : 18 Июн 2002 [17:03:48] »
Цитата

Попробуйте использовать формулы определения четверти угла по двум тригонометрическим функциям (Sin и Cos азимута).

Попробовал. Получилось отлично - никаких разрывов и скачков.
Функцию на паскале разбирать не стал - написал свою на "том языке, которым пользуюсь".
Оцените, насколько она там получилась проще:

def fnatan2#(s#,c#)
pi#=3.14159265359
if s#>=0 and c#>=0 then
   fnatan2#=atn(s#/c#)
else
   if s#>=0 and c#<=0 then
       fnatan2#=atn(s#/c#)+pi#
   else
       if s#<=0 and c#<=0 then
           fnatan2#=atn(s#/c#)+pi#
       else
           if s#<=0 and c#>=0 then
               fnatan2#=atn(s#/c#)+pi#*2
           end if
       end if
   end if
end if
end def

(как видите, это диалект Borland TURBO-BASIC 1.0 1987)


В этих формулах,

Sin Z * Sin A = Cos (Decl) * Sin t
Sin Z * Cos A = -Cos (Fi) * Sin (Decl) + Sin (Fi) * Cos (Decl) * Cos t


насколько я понял, Z - зенитное расстояние, равное в нашем случае 90 градусов?

an1440

  • Гость
Re:Как расчитываются
« Ответ #28 : 18 Июн 2002 [17:22:18] »
PS:
в паскале я не сильно разбираюсь, посему так и не понял, что означают следующие конструкции:

If (  ( S = 0.0 ) And ( C = 0.0 )  )

If ( Abs ( C ) > 0.0 )
           
?

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #29 : 18 Июн 2002 [17:38:58] »
Логику работы программы разбирать не стал, но Ваша программа может «грохаться»: везде стоит деление S/C. В случае, когда С=0 (или очень мало, так что при делении возникает переполнение) что получим? «Сложная» процедура на Паскале для того, чтобы исключить ЛЮБЫЕ возможности «грохания». И даже присвоение азимуту значения «0» сделано для того, чтобы убрать неопределенность в полюсе сферической системы координат. При обработке разных ситуаций могут возникнуть самые разные комбинации параметров и программа ВСЕГДА должна выдавать результат.

Кроме того, функция Tg имеет особенность вблизи 90 и 270 градусов и по ней нельзя точно определить угол. Процедура на Паскале учитывает и это, а Ваша – нет!

Z – это расстояние от зенита до центра Солнца в моменты восхода и захода. Азимут точки восхода и азимут центра Солнца в этот момент одинаковы, если, конечно, не учитывать несферичность видимого диска Солнца, чего в данной задаче делать не имеет смысла.

an1440

  • Гость
Re:Как расчитываются
« Ответ #30 : 18 Июн 2002 [19:04:15] »
Замечания принял. Просто первоочередная задача стояла избавиться от разрывов.
С другой стороны, "критические" точки COS=0 (т.е. 90 и 270) обходятся двумя дополнительными строками, а в областях близких к ним (на величину, которую машина еще отличает от нуля) - результаты получаются на пренебрежимо малую величину отличающиеся от 90 и 270.

А вот как быть с остальным? Что можно считать корректным результатом, если на вход попали явно некорректные данные - например, SIN=0 COS=0 или оба по 1? Выдача каких-либо данных может ввести в заблуждение, скорее, по-моему, надо выдавать сообщение об ошибке?
Цитата

Z – это расстояние от зенита до центра Солнца в моменты восхода и захода

...и тогда Z надо брать, как (90+16'+35') ?

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #31 : 18 Июн 2002 [19:34:56] »
Зенитное расстояние нужно брать то, какое было при вычислении часового угла. В отношении восходов-заходов это действительно зенитное расстояние Солнца с учетом размера и рефракции.

По поводу проверок параметров. Можно выдавать сигнал об ошибке и останавливать процесс. Но при отладке больших проектов бывает полезно продолжать счет и выявлять за один прогон программы и те ошибки, которые встречаются дальше. В общем, это дело вкуса программиста. Можно поступать и так, как Вы предлагаете.

an1440

  • Гость
Re:Как расчитываются
« Ответ #32 : 19 Июн 2002 [20:01:23] »
В "соседней" теме поставлен вопрос - вычислить координаты солнца на 07ч40м на территории Москвы.
Насколько правильно у меня это получилось (без учета рефракции)?

31 янв 2002  h=-14°46'   A=+283°15'
14 июн 2002 h=+14°60'   A=+250°30'  (летнее время)

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #33 : 19 Июн 2002 [20:32:28] »
Для центра Москвы азимуты и высоты соответственно:

291.4   -6.0
258.4   20.5

an1440

  • Гость
Re:Как расчитываются
« Ответ #34 : 20 Июн 2002 [07:31:13] »
Для центра Москвы азимуты и высоты соответственно:
291.4   -6.0
258.4   20.5
Нет слов.
Исходные данные находились в отдельном файле, и там вместо
7.666666 часов стояло 7,666666 что, естественно, воспринималось как 7.0

На обнаружение ушло около 4 часов.

Все сошлось ! ! ! ! ! ! ! ! ! !
(плюс полградуса на рефракцию)

+++++++++++++++++++++++++++++++++++++++

Кто-то сейчас усиленно работает над дизайном Форума. Если позволите, хочу выразить свое мнение: предыдущий вариант с обратным порядком сообщений и страниц в теме был горааааздо удобнее.

+++++++++++++++++++++++++++++++++++++++
 И, видимо, пока последний вопрос по солнцу:
Если центр Москвы, как я полагаю, находится на вершине Спасской башни, то находящийся там орел освещается солнцем раньше, чем восход увидят простые граждане, ходящие по земле. Эта поправка по какому принципу учитывается?
« Последнее редактирование: 20 Июн 2002 [07:58:42] от an1440 »

Оффлайн Анатолий Волчков

  • Почетный участник Астрофорума
  • *****
  • Сообщений: 2 018
  • Благодарностей: 72
    • Сообщения от Анатолий Волчков
    • Система моделирования поля зрения
Re:Как расчитываются
« Ответ #35 : 20 Июн 2002 [09:01:28] »
Если наблюдатель находится над уровнем поверхности происходит "понижение горизонта". Величина понижения с учетом рефракции определяется из формулы

d = 1.779 * Sqrt ( h ),

где d - понижение горизонта в минутах дуги.
h - высота точки наблюдения в метрах,
Sqrt - корень квадратный.

Только все это имеет смысл учитывать при больших высотах наблюдателя.
« Последнее редактирование: 20 Июн 2002 [09:02:05] от Анатолий »

Sumo

  • Гость
Re:Как расчитываются
« Ответ #36 : 20 Июн 2002 [09:30:12] »

Кто-то сейчас усиленно работает над дизайном Форума. Если позволите, хочу выразить свое мнение: предыдущий вариант с обратным порядком сообщений и страниц в теме был горааааздо удобнее.


Не позволим  :) Для обсуждения этого вопроса была создана отдельная тема: https://astronomy.ru/forum/index.php?board=5;action=display;threadid=1148;start=0;boardseen=1 Там и надо было высказываться.

an1440

  • Гость
Re:Как расчитываются
« Ответ #37 : 21 Июн 2002 [14:08:08] »
Ну вот. Программа вроде работает.
Спасибо огромное всем:
Карен - первая протянула руку помощи аж через 18 часовых поясов!
Анатолий - за великое терпение - не послал меня туда, куда следовало бы (в библиотеку за учебником :)  ).
Болельщикам - их, судя по посещаемости, было немало...

DeuSeX

  • Гость
Re:Как расчитываются
« Ответ #38 : 30 Июн 2004 [17:06:40] »
Долго я тут все перечитывал, так как особыми астрономическими талантами не блещу :-[. Но все понял, кроме одного: как по местному часовому углу найти время. Меес дает формулу t = гринвическое звездное время - долгота места наблюдения - прямое восхождение. Однако тогда появляется другая проблема :(: в течение года прямое восхождение постоянно возрастает от 0 до 360(градусов), таким образом, время восхода также перемещается на сутки(!) за год(!). Может кто-нибудь объяснит мне в чем дело и где я не прав ???

Оффлайн Самодуров Владимир

  • ASTRONOMY.RU
  • *****
  • Сообщений: 13 731
  • Благодарностей: 595
  • Пусть цветут сто цветов! Кроме сорняков...
    • Сообщения от Самодуров Владимир
    • АстроТоп России
Re:Как расчитываются
« Ответ #39 : 01 Июл 2004 [16:23:13] »
Ну, так все правильно - ведь звездные сутки короче солнечных на 4 минуты - относительно звезд-то Земля оборачивается за 23 часа 56 минут! За счет "лишнего" оборота Земли вокруг солнца в течение года и возникает неувязочка....
В итоге часовое время источника в одно и то же местное время (обычное, бытовое время) в течение года медленно сдвигается...
Можете поиграться с рапсчетами звездного времени для разных дат и мест вот здесь - http://astro.psn.ru/utilities/utilstar.html
Нужны ли мы нам? ((С)  Братья Стругацкие)