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


A A A A Автор Тема: как определить высоту Солнца с точностью до градуса  (Прочитано 3682 раз)

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

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Даны широта и долгота наблюдателя, дата и время (UTC).
Подскажите, пожалуйста, как определить высоту Солнца с точностью до градуса.

Оффлайн Ssid

  • *****
  • Сообщений: 8 904
  • Благодарностей: 74
  • Не терплю ни флейм, ни флуд
    • Сообщения от Ssid
любая программа-планетарий и не заморачиваемся
- Папа! А что такое высшее образование?
- А это, сынок, то, что в прошлом веке, когда учился я - называлось средним...

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Мне нужен простой алгоритм (без прецессий и нутаций) для своей программы-рисовалки.
Нашел пример кода без ссылок на первоисточники, но он считает с грубыми ошибками...

Оффлайн xd

  • *****
  • Сообщений: 17 973
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Вам нужна точность в градус? Тогда любой алгоритм, даже самый тупой, даст необходимую точность. Даже эллиптичность орбиты можно не учитывать.
Астрономический календарь, постоянная часть, 1981. Там есть параграф про эфемериды Солнца. Дальше остаётся только перевести координаты в горизонтальные. На этот вопрос тоже есть отдельный параграф.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Спасибо за оперативный ответ!
Формулы почти все нашел!
Не нашел, как найти склонение Солнца по юлианской дате и звездному времени?

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 665
  • Благодарностей: 63
  • Астрокот.ру: astrokot.ru
    • Сообщения от Kirill Grishin
    • АСТРОКОТ
Спасибо за оперативный ответ!
Формулы почти все нашел!
Не нашел, как найти склонение Солнца по юлианской дате и звездному времени?
склонение солнца можно найти даже только по JD

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Имеется ввиду юлианская дата с дробной частью (временем суток, на которое мне надо найти высоту Солнца)?
Тогда, пожалуйста, дайте ссылку на алгоритм вычислений.

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 665
  • Благодарностей: 63
  • Астрокот.ру: astrokot.ru
    • Сообщения от Kirill Grishin
    • АСТРОКОТ
Имеется ввиду юлианская дата с дробной частью (временем суток, на которое мне надо найти высоту Солнца)?
Тогда, пожалуйста, дайте ссылку на алгоритм вычислений.
http://astrokot.ru/programming/algoritmy/46-rasschet.html

Оффлайн xd

  • *****
  • Сообщений: 17 973
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Склонение буквой дельта обозначается ;)
Бета - это эклиптическая широта.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 665
  • Благодарностей: 63
  • Астрокот.ру: astrokot.ru
    • Сообщения от Kirill Grishin
    • АСТРОКОТ
Склонение буквой дельта обозначается ;)
Бета - это эклиптическая широта.
Главное чтобы значение выдавало, а какой буквой обозначишь не очень уж так и важно. Ттем более, если мы говорим о солнце, то эклиптическая широта всегда будет равной нулю.

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Спасибо за ссылку!
Как я понял, для расчетов требуются табличные данные:
w_g-Средняя долгота Солнца в начальную эпоху
e_g-долгота в момент прохождения перигея

Они зависят от даты?

Есть ли алгоритм без привлечения табличных данных?

Или описание формул этого кода (нашел там же)

(* MINI_SUN: low precision solar coordinates (approx. 1')                *)
(*           T  : time in Julian centuries since J2000                   *)
(*                ( T=(JD-2451545)/36525 )                               *)
(*           RA : right ascension (in h; equinox of date)                *)
(*           DEC: declination (in deg; equinox of date)                  *)
(*-----------------------------------------------------------------------*)
procedure TFormMain.MINI_SUN(T: REAL; var RA, DEC: REAL);
  CONST P2  = 6.283185307; COSEPS=0.91748; SINEPS=0.39778;
  VAR   L,M,DL,SL,X,Y,Z,RHO: REAL;
  FUNCTION FRAC(X:REAL):REAL;
    BEGIN  X:=X-TRUNC(X); IF (X<0) THEN X:=X+1; FRAC:=X  END;
  BEGIN
    M  := P2*FRAC(0.993133+99.997361*T);
    DL := 6893.0*SIN(M)+72.0*SIN(2*M);
    L  := P2*FRAC(0.7859453 + M/P2 + (6191.2*T+DL)/1296E3);
    SL := SIN(L);
    X:=COS(L); Y:=COSEPS*SL; Z:=SINEPS*SL; RHO:=SQRT(1.0-Z*Z);
    DEC := (360.0/P2)*ARCTAN(Z/RHO);
    RA  := ( 48.0/P2)*ARCTAN(Y/(X+RHO)); IF (RA<0) THEN RA:=RA+24.0;
  END;

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
З.Ы. Просто у меня в программе уже расчитаны юлианская дата и звездное время, и нужен упрощенный алгоритм, подобный вышеприведенному (достаточна точность на два порядка хуже: 1 градус вместо 1 минуты).

Оффлайн xd

  • *****
  • Сообщений: 17 973
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Он и так быстро работать будет.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 665
  • Благодарностей: 63
  • Астрокот.ру: astrokot.ru
    • Сообщения от Kirill Grishin
    • АСТРОКОТ

Долготу в начальную эпоху можно взять из различных справочников.Все завит от эпохи, на которую вы вычисляете координаты.

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Нашел простой код (без уравнения времени), расчитывающий высоту солнца на заданную дату и время
в заданной точке Земли (точность около двух градусов - для расчета освещенности).

double t,h,la,lo;
la=0.0175*StrToFloat(Edit1->Text); lo=StrToFloat(Edit2->Text); //Координаты места (широта и долгота)
t=0.27*(lo/15+modf(DateTimePicker2->DateTime,&h)*24-12); //Часовой угол в рад
lo=0.41*sin(0.017*(DayOfTheYear(DateTimePicker1->DateTime)-81)); //Склонение в рад
h=asin(cos(la)*cos(lo)*cos(t)+sin(la)*sin(lo));  //Высота Солнца

Вопрос: уравнение времени насколько повысит точность?

Оффлайн xd

  • *****
  • Сообщений: 17 973
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Астрономический календарь, постоянная часть, 1981.
Прочтите первую главу, будет полезно, а времени много не отнимет. Разберётесь в вопросах существенно быстрее, чем задавая их здесь.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Спасибо, пытаюсь разобраться....
Легче учить от простого к сложному - например, сфера-эллипсоид-геоид.
Тогда сам выбираешь уровень сложности своей модели в зависимости от поставленной задачи.
В моем случае тоже хотелось бы начать с простейшего алгоритма (как приведенный выше код).
Подскажите, пожалуйста, где можно найти подобные алгоритмы с описанием и примерами.   

Оффлайн Астро

  • Обозреватель
  • *****
  • Сообщений: 8 101
  • Благодарностей: 777
  • Истина где-то рядом!
    • Сообщения от Астро
    • Галактика и Астрогалактика
Воспользуйтесь книгой Даффет-Смит П., Практическая астрономия с калькулятором.
http://www.astrolib.ru/library/49.html
В ней Вы найдете алгоритмы (с подробными примерами) не только для вычисления горизонтальных координат светил, но и многое другое
С помощью этой книги Ваш покорный слуга на заре компьютеризации легко обходился без астрономического календаря, который в 90-е годы был мало доступен или вообще не доступен
Сначала был программируемый микрокалькулятор, а потом Спектрум с его 48 килобайтами оперативной памяти  :)
Тем не менее, по Даффет-Смиту можно было просчитать все основное, что было необходимо любителю астрономии
В частности, по этой книге рассчитывал положение Венеры на дневном небе (те самые горизонтальные координаты)  с точностью намного превышающей 1 градус, и легко находил ее в телескоп и невооруженным глазом
Занимало довольно много времени, но как было интересно самому окунуться в кухню астрономических вычислений!
Кстати, в книге имеются существенные опечатки, которые могут повлиять на результат
По этому поводу пришлось консультироваться в ГАИШ у Виталия Александровича Бронштэна, тогда еще обычными письмами, ответа через которые приходилось ждать несколько недель...
Но это уже лирика
Желаю Вам получать огромное удовлетворение от получения результатов после написания своих собственных программ!

Если что не так, пишите, подскажем....

С уважением.
Александр
« Последнее редактирование: 12 Июн 2012 [11:05:49] от Astov (Alexandr_Kozlovskiy) »
Я – вояджер, путник.... Все свое ношу с собой. Шагаю от звезды к звезде, где бурлит ЖИЗНЬ ВСЕЛЕННОЙ. Здесь соединяются воедино МГНОВЕНИЕ и ВЕЧНОСТЬ. Здесь одним взглядом можно увидеть ВСЕ и НИЧЕГО.... Здесь рождаются и рушатся МИРЫ, а ЖИЗНЬ продолжается.... если живешь с ЛЮБОВЬЮ в сердце!(с)

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 665
  • Благодарностей: 63
  • Астрокот.ру: astrokot.ru
    • Сообщения от Kirill Grishin
    • АСТРОКОТ
По моему мненнию не важно из какой книиги брать агоритм.
Это могут быть разные книги в том числе
Астрономический календарь.Постоянная часть.
Практиическая астрономия с калькулятором.
Astronomical algorithms
Во второй книге есть данные,кторыевам нужны были,это положение в начальную эпоху и т п



Оффлайн m-d-kАвтор темы

  • Новичок
  • *
  • Сообщений: 19
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от m-d-k
Спасибо за ссылку - придется более основательно учить теорию!
Летом свободного времени будет побольше...