Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.astronomy.ru/forum/index.php/topic,14319.0.html
Дата изменения: Sun Apr 10 05:22:36 2016
Дата индексирования: Sun Apr 10 05:22:36 2016
Кодировка: Windows-1251

Поисковые слова: долгота эклиптическая
Когда у солнца азимут 180 град - Астрономия для всех

A A A A Автор Тема: Когда у солнца азимут 180 град  (Прочитано 5165 раз)

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

sn2006

  • Гость
У меня така проблема. Нужно вычислить когда солнце принимает определенный азимут. Нужно мне это для установки спутниковой тарелки.

Исходные данные:
Координаты города (шир, дол)
Какой должен быть азимут у солнца
Часовой пояс

Выходные данные:
время

Пояснение: Зная координаты города и спутника я уже могу высчитать азимут. А нам нужно вычислить во сколько солнце будет иметь тот же самый азимут. А зная это время, нам не нужно использовать при установке спутниковой тарелки компаса, а просто направить ее в полученное время в сторону солнца.

П.С.: только не надо говорить, что такие программы уже существуют. Я сам пишу свою собственную прогу на Делфи и в новой версии хочу добавить такую функцию

Если нужно ознакомиться с самой программой: http://www.sat-net.h16.ru/progs/index.htm Программа называется SatParam ver.2.0

Заранее все благодарен. Помогут уже готовые формулы и советы и ссылки на страницы с подобным объяснением.

Оффлайн Saxx

  • Новичок
  • *
  • Сообщений: 28
  • Рейтинг: +1/-1
  • Клуб "Астрополис"
    • Skype - andreysaxx
    • "Астрополис"
Re: Когда у солнца азимут 180 град
« Ответ #1 : 17.03.2006 [19:52:51] »
 Да можно было и самому подумать :)

Ну вобщем, Солнце имеет азимут 180 градусов ровно в географический полдень по местному времени. К тому же, на 1 градус оно смещается за 4 мин или на 15 градусов за час. Далее, для определения направления меридиана (тоесть когда солнце имеет азимут 180 град или т.н. линия "север-юг")  надо знать время точного полудня, то есть вычислить местное время, по сути. Оно может отличаться от принятого в данном часовом поясе в пределах плюс минус около часа :) В принципе, можно вычислить направление меридиана  при помощи гномона (палочка такая, дает тень на земле от Солнца), но имхо, с компасом гораздо проще и быстрее окажется, чесслово :)
SW Dob 10", EQ-6, SW Р13065, БПЦ 20х60

ZUDA32.EXE

  • Гость
Re: Когда у солнца азимут 180 град
« Ответ #2 : 18.03.2006 [13:26:20] »
Вообще-то, насчет компаса - как сказать...
Во-первых, надо точно знать магнитное склонение в нужном месте. А эти данные далеко не так доступны, как хотелось бы.
(вопрос конечно, какая точность нужна при установке антенны. Диапазон же склонений по территории России (без учета явных местных аномалий) достигает чуть не 40њ.
Во-вторых, компас хорош в чистом поле, но не возле железной опоры антенны, арматуры в стене, ограждения крыши, гаечного ключа в кармане (вот вам и явные местные аномалии!).
Так что, воспользоваться солнцем - идея хорошая.
-----------------------------
Программа ваша не качается - там зацикленная ссылка.
В БД по городам проверьте Хабаровск.

sn2006

  • Гость
Re: Когда у солнца азимут 180 град
« Ответ #3 : 18.03.2006 [20:19:10] »
Компас отпадает ТОЧНО! Я уже писал, что мне эти данные нужны для написания программы. И человек (пользователь) хочет только зная координаты места и спутника установить тарелку БЕЗ использования спец. приспособлений, в т.ч. и компаса.

Итак.
Я могу вычислить азимут спутника. Нужно узнать во сколько солнце будет иметь такой же азимут. Как вычислить это время, зная точный геогр.  полдень, тоже понял. (пример: нужный азимут 170, солнце будет иметь этот азимут в 11:20)
ОСталось только понять, КАК вычислить точное местное время???
Еще раз повторю, что никакими приборами и приспособлениями пользоваться нельзя (можно сказать, по условию), все должна вычислить программ.

-------------------------------------
О программе: проверил, качается. Вот ссылка http://www.sat-net.h16.ru/progs/SatParam.2.0+bd.zip
Вот обновленная версия координат городов http://www.sat-net.h16.ru/progs/satparam_towns.zip

spacelab

  • Гость
Re: Когда у солнца азимут 180 град
« Ответ #4 : 18.03.2006 [23:04:29] »
Ответьте, пожалуйста на вопрос: как определить угол, под которым видно солнце над горизонтом в зависимости от широты и долготы места наблюдения в определенный день  на каждые 15 минут?

ZUDA32.EXE

  • Гость
Re: Когда у солнца азимут 180 град
« Ответ #5 : 19.03.2006 [02:08:47] »
То время, которое показывают обычные часы (тоже прибор, но его исключить вряд ли удастся), отличается от истинного местного солнечного времени на:
1. Возможное нахождение места "не в своем" часовом поясе
2. Нахождение места не на центральном меридиане часового пояса
3. Нахождение места в России - лишний "декретный" час
4. +/- летнее/зимнее время
5. "Уравнение времени" - поправка на неравномерность движения Земли по орбите, достигающая +13/-18 минут

Однако зная истинное солнечное время можно определить только полдень, то есть момент, когда азимут солнца равен 180њ.
Принцип же расчета горизонтальных координат солнца вообще (азимута и высоты над горизонтом) следующий:
Во первых нужно определить положение солнца на эклиптике, то есть, его "эклиптическую долготу". Она является только функцией времени. Сам расчет представляет собой 'прокручивание' солнца по известному закону от известной исходной точки (1900 или 2000 года)
Затем с эклиптики (которая вращается относительно земли, и ее текущее положение, характеризующееся 'звездным временем',  тоже надо вычислить) солнце проектируется на экватор, то есть, вычисляются его экваториальные координаты - склонение и прямое восхождение.
А далее экваториальные координаты проектируются на горизонт (как и для Ваших спутников, у которых прямое восхождение - это долгота, а склонение, то есть, расстояние от экватора = 0) - получается азимут и высота.

Подробно вопрос рассматривался здесь: http://www.astronomy.ru/forum/index.php?board=9;action=display;threadid=1128;start=20
Там же есть прекрасные готовые процедуры на Паскале.

sn2006

  • Гость
Re: Когда у солнца азимут 180 град
« Ответ #6 : 19.03.2006 [19:48:01] »
Вобщем... В астрономии я не силен. Для выполнения поставленной передо мной цели осталось только вычислить точное местное время. Подскажите пожалуйста, как это сделать, как можно подробнее и, по-возможности, без использования сложный понятий. Вобщем: формулы и пояснения.

ZUDA32.EXE

  • Гость
Re: Когда у солнца азимут 180 град
« Ответ #7 : 20.03.2006 [02:44:28] »
Истинное солнечное время в точке наблюдения равно:
ВремяКотороеПоказываютВашиЧасы - СмещениеВашегоЧасовогоПоясаОтГринвича + ДолготаВашегоМестањ/15 + УравнениеВремени.

Начало понятно логически, а 'УравнениеВремени' - это учет неравномерности движения земли по орбите. Его величина достигает  от +14 минут(середина февраля) до -18 (1 ноября). В ноль оно обращается 4 раза в году - 15 апреля, 15 июня, 1 сентября и 21 декабря. В эти дни истинное солнечное время совпадает со средним солнечным.
Для его вычисления Вам все равно потребуется вычислить эклиптическую долготу солнца, так как оно является его функцией:
uv=(7.7*sin((Lsun+78)*pi/180)-9.5*sin(2*Lsun*pi/180))/60 (в часах, pi - это число 'пи')
Долгота же солнца Lsun является только функцией времени, так как вычисляется путем 'прокручивания' солнца от известной исходной точки по известному закону.
Для ее вычисления я уже упомянул известную процедуру от Анатолия:
'
'  MINI_SUN: low precision solar coordinates (approx. 1')
'          JD : time in Julian days
'        ( T=(JD-2451545)/36525 )
'         RA : right ascension (in h; equinox of date)
'         DEC: declination (in deg; equinox of date)
'   ---------------------------------------------------------------------

sub MINISUN(jd,Lsun,RA,DEC)
local p2,coeps,sieps,eps
P2=6.283185307 'coeps=0.91748: sieps=0.39778
local T,L,M,DL,SL,X,Y,Z,RHO

T=(JD-2451545)/36525

EPS = 23.43929111 - (46.8150 + (0.00059 - 0.001813*T) * T) * T / 3600.0
coeps=cos(eps*p2/360)
sieps=sin(eps*p2/360)


M=P2*fnFRAC(0.993133+99.997361*T)                     'средняя аномалия
DL = 6893.0*SIN(M)+72.0*SIN(2*M)                      '               ?
L  = P2*fnFRAC(0.7859453 + M/P2 + (6191.2*T+DL)/1296E+003) 'экл долгота
Lsun=l*360/p2

SL = SIN(L)
X=COS(L): Y=coeps*SL: Z=sieps*SL: RHO=SQR(1.0-Z*Z)
DEC = (360.0/P2)*ATN(Z/RHO)
RA  = ( 48.0/P2)*ATN(Y/(X+RHO)): IF (RA<0) THEN RA=RA+24.0
end sub
'================================
Я ее переработал на Бейсик, можете вернуть на паскаль/дельфи.
Вспомогательная процедура FnFrac:

def fnFRAC(x)
    x=x-fix(x)
    if (x<0) then
        x=x+1
    end if
    fnfrac=x
end def
И еще: время здесь - в 'Юлианских днях' JD. Это очень удобный способ счета времени, применяемый например и в МикрософтЭксцэль. Заключается он в сплошном счете дней, часов, минут, секунд от 12 часов дня 0 января  4713 года до нашей эры (в ЭксЦэле от 1900 года).
вот процедура вычисления JD (тоже на бейсике):

def fnJD (D, IM,IY)  ' день, месяц, год,  причем день с долями дня, определенными из часов, минут и секунд

local  JN, IYY, IMM, IA, IB, IS, GRDAT, JD

   IF ( IM > 2 )  THEN
       IYY = IY
       IMM = IM + 1
   ELSE
       IYY = IY - 1
       IMM = IM + 13
   END if

   IF ( IYY = 0 ) THEN
       IS = 1
   ELSE
       IS  = fix ( IYY / ABS ( IYY ) )
       IYY = ABS ( IYY )
   END if

   GRDAT = IYY * 10000.0 + IMM * 100.0 + D

   IF ( IS > 0 )  THEN
       IB = 0

       IF ( GRDAT >= 15821115.0 )  THEN
          IA = fix ( IYY / 100 ) * IS
          IB = 2 - IA + fix ( ABS ( IA ) / 4 ) * IS
       END if

       JD = 1720994.5 + D + fix( 365.25  * IYY ) + fix(  30.6001 * IMM ) + IB
   ELSE
       JD = 1720994.5 + D - fix( 365.25  * IYY + 0.75 ) +fix(  30.6001 * IMM )
   end if

   fnJD=JD

END def
Думаю, для начала этого достаточно.

ZUDA32.EXE

  • Гость
Re: Когда у солнца азимут 180 град
« Ответ #8 : 20.03.2006 [02:51:29] »
Из этих соображений Вы сможете определить время, когда Солнце имеет азимут 180њ. Но не более.
Потому что  на 15њ в час смещается не солнце по горизонту, а экватор, по которому солнце, в свою очередь, тоже смещается вследствие движения по эклиптике.
Азимут считать прийдется по полной программе.

=============
Вот программа, считающая азимут солнца. Под голый ДОС. Можете употребить ее для проверки своих вычислений:
« Последнее редактирование: 20.03.2006 [03:04:09] от ZUDA32.EXE »