##

###

###

###

###

###

###

    PyStars
    PyStars - это программа-планетарий на языке Python3.

    Для того, чтобы программа заработала под ОС Windows, на компьютер нужно установить интерпретатор Python3
    с официального сайта языка программирования Python.
    Для старта программы необходимы только модули, которые входят в стандартный дистрибутив Python.
    После установки интерпретатора Python на компьютере можно будет запускать файлы с расширением *.py
    На ПЭВМ с ОС Linux Python3 как правило уже установлен и есть некоторая вероятность, что программа запустится
    без всякого вмешательства, но скорее всего придется доустановить/переустановить какие-нибудь модули.
    Как правило, проблема возникает с модулем tkinter. В этом случае необходимо установить пакет python3-tk:

    sudo apt-get install python3-tk

    При запуске программы откроются два окна. Первое окно - это консоль, она предназначена для вывода текстовой
    информации. Во втором окне рисуется карта звездного неба с объектами Cолнечной системы.

    Поля ввода, кнопки и другие элементы управления
    LAT:    географическая широта места наблюдения (в градусах)

    LON:    географическая долгота места наблюдения (в градусах)

    dT:     смещение времени относительно UTC (в часах, может быть отрицательным)

    Date:   дата, три поля ввода - год, месяц, число

    Time:   время, три поля ввода - часы, минуты, секунды

    NOW     кнопка для установки текущих даты/времени

    < >     кнопки для уменьшения/увеличения времени на 15 минут

    +days   (кнопка, поле ввода и элемент управления LABELS) для получения изображений треков объектов Солнечной
    	системы

    Find    (кнопка и поле ввода) для поиска объектов на карте (и некоторых других функций, см. ниже)

    mLIM:   поле ввода для установки предельной звездной величины астероидов и комет, отображаемых на карте

    GRID:   элемент управления для выбора типа координатной сетки

    DIR:    элемент управления для выбора угла поворота карты

    ZOOM:   элемент управления для выбора масштаба карты

    RiseSet кнопка для вывода в консоль времени восхода/захода Солнца, Луны, планет и времени начала/окончания
    	сумерек

    h       кнопка предназначена для того, чтобы спрятать/показать элементы управления окна (кроме даты, времени
    	и географических координат)

    d       кнопка предназначена для того, чтобы открыть в браузере DSS-изображение участка звездного неба

    i       кнопка предназначена для того, чтобы открыть в браузере страницу поиска информации об объекте

    Apply   построить карту неба

    Управление программой (клавиши)
    ЛЕВАЯ КЛАВИША МЫШИ         перемещение по карте, центрирование, измерение углов (в консоль), получение
                               координат (в консоль)

    ЛЕВАЯ КЛАВИША МЫШИ + CTRL  измерение углов (в консоль), получение координат (в консоль и в поле Find)

    СРЕДНЯЯ КЛАВИША МЫШИ       нанесение на карту текстовых меток из поля Find. Если в поле Find набран текст
                               "Del" или "Delete", то все метки будут удалены

    ПРАВАЯ КЛАВИША МЫШИ        получение информации об объекте (в консоль)

    INSERT                     отключить/включить перемещение по карте по клику левой клавиши мыши

    ALT+СТРЕЛКИ                перемещение по карте

    ALT+F                      полноэкранный режим

    ESC                        выход из полноэкранного режима

    ALT+H                      спрятать/показать элементы управления (кроме даты, времени и географических
                               координат)

    ALT+D                      открыть в браузере DSS-изображение участка звездного неба (после клика левой
                               кнопкой мыши или поиска), позиционный угол не учитывается

    ALT+I                      открыть в браузере страницу поиска информации об объекте (после клика правой
                               кнопкой мыши или поиска)

    ALT+N                      установить текущие дату/время

    ALT+R                      вывод в консоль времени восхода/захода Солнца, Луны, планет и времени
                               начала/окончания сумерек

    ALT+Print Screen           скопировать изображение в буфер обмена (функция ОС)

    ALT+S		           сохранить карту в файл "map.gif", необходим установленный модуль Pillow
    			   (для Windows и macOS). Для ОС Linux нужен еще и модуль pyscreenshot.

    CTRL+LEFT                  время -15 минут

    CTRL+RIGHT                 время +15 минут

    Построение треков объектов Солнечной системы

    Кнопка и поле ввода +days используются для получения изображений треков объектов Солнечной системы. В поле
    ввода +days можно вводить целые и дробные положительные и отрицательные числа, обозначающие количество суток
    от текущей даты. По нажатию кнопки +days будут строиться изображения объектов для заданных значений
    DateTime=DateTime+deltad, где deltad - это сумма значений из поля ввода +days (по каждому нажатию кнопки
    +days к deltad прибавляется число из поля +days). Для обнуления deltad в поле +days нужно ввести 0. Это нужно
    для того, чтобы начать строить трек другого объекта начиная с первоначальной даты. Для построения треков
    конкретных объектов в поле Find нужно ввести имя объекта (частично или полностью). Имеется возможность
    наносить на треки объектов метки с датой (элемент управления LABELS)

    Поиск объектов

    Для поиска объектов на карте используются кнопка и поле ввода Find. Информация о найденных объектах выводится
    в консоль. Последний найденный объект показывается в центре окна программы (если это возможно).

    Примеры поиска объектов:

    ТЕКСТ В ПОЛЕ Find          РЕЗУЛЬТАТ
    Sirius                     звезда Сириус (альфа Большого Пса)
    siri                       звезда Сириус (альфа Большого Пса)
    9 cma                      звезда Сириус (альфа Большого Пса)
    alp cma                    звезда Сириус (альфа Большого Пса)
    alp canis ma               звезда Сириус (альфа Большого Пса)
    alp canis mi               звезда Процион (альфа Малого Пса)
    bsc 2943                   звезда Процион (альфа Малого Пса, номер в каталоге ярких звезд 2943)
    hr 2943                    --//--
    sao 151881		   звезда Сириус (альфа Большого Пса, номер в каталоге SAO 151881)
    hd 48915                   звезда Сириус (альфа Большого Пса, номер в каталоге HD 48915)
    hic 32349                  звезда Сириус (альфа Большого Пса, номер в каталоге Hipparcos 32349), поиск
    			   работает если на карте отображен каталог Hipparcos
    hipparcos 32349            --//--
    hip 32349                  --//--
    nu dra                     звезды ню1 и ню2 Дракона
    nu1 dra                    звезда ню1 Дракона
    var r and		   Переменная звезда R Андромеды. Если на карте отображен каталог Hipparcos, будет
    			   найдена еще и GR And
    var and			   Все переменные звезды, в идентификаторе которых есть "and"
    uma                        звезды ню2 Дракона (Kuma), дзета Пегаса (Humam), созвездие Ursa Major (UMa)
                               (Большая Медведица)
    ursa ma                    созвездие Ursa Major (UMa) (Большая Медведица)
    m 31                       галактика Андромеды
    ngc 224                    галактика Андромеды
    dso andr                   галактика Андромеды
    m 1                        Крабовидная туманность M1
    dso crab                   Крабовидная туманность M1
    dso m1                     все объекты дальнего космоса, в описании которых есть "m1", например M1, M11, M110
    			   и т.д.
    dso pinw                   галактика M33/NGC598/Pinwheel_Galaxy
    king 11                    рассеянное скопление King 11 (если оно есть на карте)
    dso king                   все объекты дальнего космоса, в названии которых есть "king"
    moon                       Луна
    jupit                      Юпитер
    encke                      комета 2P Encke
    2p                         комета 2P Encke
    panstarrs                  все кометы PANSTARRS
    vesta                      астероид Веста
    europa			   спутник Юпитера Европа
    Titan			   спутник Сатурна Титан
    1.22 -10                   точка с экваториальными координатами (прямое восхождение 1.22 часа, склонение -10
                               градусов)

    Точность вычислений

    В программе используются достаточно точные алгоритмы, поэтому ошибка при вычислении координат Солнца, Луны и
    планет должна составлять единицы угловых секунд (если эти алгоритмы правильно реализованы в программе). Для
    комет и астероидов погрешность больше (до одной угловой минуты). Луна и Солнце изображаются в соответствии со
    своими угловыми размерами. Планеты и астероиды при малых увеличениях изображаются в соответствии с блеском
    (но не менее четырех пикселей диаметром), планеты при больших увеличениях - в соответствии со своими угловыми
    размерами (также диаметром не менее четырех пикселей). Солнце, Луна, планеты рисуются в виде кругов (не
    учитываются отклонения от формы окружности). При изображении спутников Юпитера не учитывается тень планеты
    (спутник рисуется всегда, даже если он находится в тени Юпитера). Тени спутников на диске Юпитера не
    изображаются.
    Топоцентрические координаты рассчитываются только для Луны, комет и астероидов. Атмосферная рефракция берется
    в расчет только при вычислении восходов/заходов светил. Кроме того, на карте изображены две линии горизонта
    (математический горизонт и горизонт с учетом рефракции). Высота наблюдателя над уровнем моря не учитывается.
    При вычислении координат звезд вносятся поправки на их собственные движения. Поправка на аберрацию света не
    рассчитывается.
    Вычисление времени восходов и заходов объектов производится двумя способами:
    1. Кнопка RiseSet, рассчитывается высота Солнца, планет и Луны на каждую минуту суток (с помощью упрощенных
    алгоритмов, точность 1-2 угловых минуты), по результату принимается решение о восходе/заходе светила. Способ
    медленный, но дает более достоверные результаты и учитывает двойные восходы/заходы светил.
    2. Вычисление восходов/заходов при выведении информации об объекте. Выполняется по следующему алгоритму.

    Источники данных
    Файлы программы содержат в себе данные из следующих источников:

    ФАЙЛ             	ИСТОЧНИК                                 ИНТЕРНЕТ-ССЫЛКА

    constlabel.dat   	constlabel.cla из "Cartes du Ciel"       https://www.ap-i.net/skychart/ru/start
    asteroids.txt    	Minor Planet Center                      https://www.minorplanetcenter.net/iau/Ephemerides/Bright/2018/Soft01Bright.txt
    comets.txt       	--//--		                	 https://minorplanetcenter.net/iau/Ephemerides/Comets/Soft01Cmt.txt
    catalog.dat      	The Bright Star Catalogue                http://tdc-www.harvard.edu/catalogs/bsc5.html
    hipparcos.dat    	запрос VizieR                            http://vizier.u-strasbg.fr/viz-bin/VizieR
    hip_notes.dat    	--//--		                         --//--
    hip_double.dat   	--//--		                         --//--
    sao.dat		 	--//--		                         --//--
    dso1.dat         	Deepsky level 1.hnd из "HNSKY"           http://www.hnsky.org/
    dso2.dat         	Deepsky level 2.hnd из "HNSKY"           --//--
    ConstLCoord.dat  	DefaultConstL.cln из "Cartes du Ciel"    https://www.ap-i.net/skychart/ru/start
    constb.dat       	constb.cby из "Cartes du Ciel"           --//--
    mercury_terms.dat	Jean Meeus "Astronomical algorithms"
    venus_terms.dat		--//--
    earth_terms.dat	 	--//--
    moon_terms.dat	 	--//--
    mars_terms.dat	 	--//--
    jupiter_terms.dat	--//--
    saturn_terms.dat	--//--
    uranus_terms.dat	--//--
    neptune_terms.dat	--//--
    constb_1875.dat		Roman, N. G. "Identification of a 	 http://articles.adsabs.harvard.edu/cgi-bin/nph-iarticle_query?1987PASP...99..695R
    			constellation from a position"

    Некоторые важные ссылки:
    Вычисление позиций Солнца, Луны, планет, комет, астероидов (ссылка уже не работает)
    Вычисление позиций Солнца, Луны, планет, комет, астероидов
    Вычисление времени восхода и захода небесного тела
    Коническая конформная проекция
    Вычисление разницы между земным и всемирным временем
    Алгоритм определения созвездия по экваториальным координатам

    Книги:
    1. Оливер Монтенбрук, Томас Пфлегер "Астрономия на персональном компьютере"
    2. П. Даффет-Смит "Практическая астрономия с калькулятором"
    3. Jean Meeus "Astronomical algorithms"

    Кроме этого, использовано много информации из сети Интернет по программированию на языке Python, с сайтов и
    из книг с астрономической тематикой.

    Автор программы: Костерев Е.А. Беларусь г.Гомель
    сайт:
    http://www.ekosterev.belastro.net/index.htm
    страница программы:
    http://www.ekosterev.belastro.net/pystars.htm