Программа Day_night. Краткое описание.

Основа расчетов - две точки (1 и 2) на земной поверхности, между которыми производятся все вычисления. Координаты этих точек приведены в левом верхнем углу программы. Latitude - градусов северной N или южной S широты (число от 0 до 90), Longitude - градусов восточной E или западной W долготы (число от 0 до 180). При запуске программы в обеих точках 1 и 2 выставлены координаты Москвы. Местоположение этих точек отображается на карте при нажатии кнопок show.

Для удобства пользования программой ниже этих координат есть окна с выпадающими списками нескольких заранее введенных пунктов на Земле.
Их состав легко меняется в текстовом файле Day_night.plc, который находится в той же директории, что и сама программа. Формат этого файла прост и понятен. Ошибаться с вводом данных не следует (!), поскольку проверка данных не производится. Загрузка данных из этого файла осуществляется при запуске программы.

Кнопка 1 --> 2 (расположена в правом верхнем углу) вычисляет относительное расположение пунктов с указанными координатами и выводит следующие данные:
- 1-2, km - кратчайшее расстояние между этими точками; Земля при этом считается шаром с радиусом 6371 км
- teta - угол между двумя радиусами, проведенными из центра Земли в эти две точки;
- azimuth - азимут направления из точки 1 в точку 2 (представлено в графическом виде и в виде числа).

При выбранной опции 1-2 draw (под кнопкой 1 --> 2) кратчайший путь отображается на карте. При этом доступна другая опция: air travel (не рекомендуется на слабых компьютерах), которая позволяет визуализировать полет виртуального самолета из пункта 1 в пункт 2 с учетом меняющегося времени и скорости самолета 850 км/ч. Процесс можно остановить с помощью Esc.

Кнопка 1 --> Sun вычисляет текущие координаты солнечного зенита (места на Земле, где Солнце находится строго по вертикали), выставляет эти координаты в точку 2 (при этом там зажигается желтая панелька), после чего вычисляет взаимное расположеине точек 1 и 2. При этом фактически вычисляется положение солнца относительно наблюдателя в пункте 1: направление на Солнце (азимут) и угол отклонения Солнца от вертикали teta (то есть 0 - Солнце строго над головой, 90 - на горизонте).

Слева от кнопки 1 --> Sun - переключатель на Луну. При таком переключении аналогичные вычисления производятся с Луной. Единственное отличие состоит в том, что Луна находится гораздо ближе к Земле, и угол teta вычисляется с поправкой на расстояние Земля-Луна (в то время как в случае Солнца таких поправок не делается в силу их малости, то есть полагается, что Солнце находится от Земли на бесконечном расстоянии). Для Луны зажигается голубая панелька. Положение Луны (равно как и Солнца) при этом можно отобразить на карте нажатием на кнопку show.

В разделе Map при нажатии на кнопку day-night положение Солнца вычисляется для всех точек представленной ниже карты Земли, после чего яркость каждой точки меняется в зависимости от положения Солнца. При этом четко выделяется текущая граница света и тени. Время вычислений отображается под окошком azimuth. На моем процессоре Athlon 1800+ это время составляет 432 мс. Кнопка reset Приводит карту к исходному состоянию.

Дополнительные опции:
- Step gradient - ступенчатое изменение освещенности карты (по 15 градусов);
- Draw over - рисовать поверх предыдущих вычислений;
- Twilight - отобразить границы сумерек. При этом существует 3 типа сумерек: гражданские (Солнце не ниже 6 градусов за горизонтом), при которых в ясную погоду можно чем-нибудь заняться под открытым местом без дополнительного освещения; навигационные (12 градусов), при которых с летательных аппаратов различаются контуры объектов на земле; астрономические (18 градусов) - за этой границей Солнце не вносит заметного вклада в освещенность Земли (полная ночь).

Время и дата в программе отображаются под координатами точек 1 и 2. При запуске программы включена опция Actual time, при этом время для вычислений берется из текущего системного времени компьютера. Следует отметить (!), что текущее время по Гринвичу (GMT) будет вычисляться неверно, если в Системе неправильно выставлен часовой пояс, в котором расположен пользователь. Летнее время отрабатывается нормально, если операционная система делает это корректно (на это обстоятельство следует обратить внимание в странах, недавно изменивших порядок перехода на летнее время, например, в Казахстане). В любом случае полезно убедиться, что расхождение с Гринвичским временем правильное (например, летом для Москвы оно составляет +4 часа, то есть +3 часовых пояса +1 час летнего времени). При отключении опции Actual time пользователь может сам выставить желаемое время и дату расчетов.

На закладке Chart можно вычислить положение Солнца или Луны (в зависимости от положения переключателя Солнце-Луна) на указанную дату плюс-минус 1 день. Этот диапазон (количество дней) меняется при нажатии на число дней в надписи +/- 1 day(s). Кнопка calc вычисляет временной ход положеиня Солнца (Луны) на указанный диапазон и отображает его в виде двух графиков: красной линией - угол подъема над горизонтом (Elevation), синей - азимут (Azimuth). Любая кривая отключается в нижнем правом углу. При движении мыши в левом нижнем углу отображаются ее координаты: X - время и дата по Гринвичу, Y - соответствующий угол. На графике можно подробнее рассмотреть любую область с помощью выделения мышью нужной области (в направлении вправо-вниз). Это масштабирование отключается выделением любой области в любом другом направлении. Уровень горизонта обозначен на графике линией Horizon, при этом этот уровень соответствует значению -0.833. В это значение входит угловой радиус Солнца (и с хорошей точностью аналогично и Луны) - 16 угловых минут, а также значение рефракции на горизонте - 34 угловых минуты. Место пересечения графиков Elevation и Horizon соответствует моменту, когда верхний край Солнца (Луны) совпадает с линией горизонта. Это, соответственно, время восхода (или захода) Солнца (Луны).

Закладка Misc введена для некоторых дополнительных опций. Кнопка moon phase вычисляет текущую фазу Луны (0% соответствует новолунию, 50% - полнолунию), расстояние от Земли до Луны, а также приводит примерный вид Луны в окошке Approximate view. Ниже при расчетах отображается отстройка текущего локального времени от времени Гринвичского, что берется из системных настроек.

Иван Королев, 14:36 09.07.2005, для версии 2.4



**************
История версий

Версия 2.4

Первая рабочая версия программы, которую я выложил на freeware.ru в сентябре 2005. Основные вехи:

Версия 2.5

14.10.2005 - версию 2.5 не стоило, конечно, так называть, поскольку я поправил только некорректное открытие файла справки: он искался не всегда в правильной директории (да и потом это продолжало глючить :).

Версия 2.6

Версия 2.6.2

**************

Contact: daybit@yandex.ru