В прошлой статье про солнечные часы, отмечалось, что самым простым типом солнечных часов являются экваториальные солнечные часы, но их простота приводит к тому, что пользоваться этими часами в Северном полушарии можно только астрономической весной (от весеннего равноденствия до летнего солнцестояния) и астрономическим летом (от летнего солнцестояния до осеннего равноденствия), когда Солнце располагается выше небесного экватора. Этого недостатка лишены горизонтальные солнечные часы. Они могут работать весь год, но заметно сложнее в изготовлении, так как их циферблат необходимо разбивать на неравномерные сектора [1].

Для изготовления горизонтальных солнечных часов можно воспользоваться методикой описанной в книге «Энциклопедический словарь юного астронома» [2] на страницах 260-261.
1) На заготовке циферблата чертится линия север-юг, на ее северном конце ставится отметка «12 часов».
2) Отмечается точка, в которой будет установлен гномон.
3) Из точки установки гномона от линии север-юг под определенными углами откладываются отрезки соответствующие нужным моментам времени. Необходимые углы вычисляются по формуле
где - географическая широта,
- интервал времени от полудня до нужного часа дня (1 час соответствует 15 градусам). Готовую таблицу углов можно найти в [3] на странице 305.
4) На второй половине будущего циферблата зеркально откладываем отрезки под теми же углами.
Так как сейчас на дворе третье десятилетие XXI, то выполнять все эти операции вручную уже не обязательно. Особенно грустно все рисовать с помощью транспортира, если интересно посмотреть, как будет меняться вид циферблата для разных широт. Поэтому автор решил использовать всю мощь современных информационных технологий и написал небольшую программу для разметки циферблата горизонтальных солнечных часов на языке Pascal :)
Код программы
{Программа для разметки циферблата горизонтальных солнечных часов}
const
dt=15; //шаг, через который ставятся метки (1 час = 15 градусов)
Tmin=-9*dt; // начальное значение шага 9 часов до истинного солнечного полудня
Tmax=9*dt; // конечное значение шага 9 часов после истинного солнечного полудня
phi=40; //широта места установки часов, в градусах
var
DATA: text;
dt_r,Tmin_r,phi_r: double; //переменные для перевода констант из градусной в радианную меру
u,t: double; //u - угол под которым откладывается метка, соответствующая времени t
tg_t,sin_phi_r: double; //вспомогательные переменные для вычисления тангенса t и синуса широты phi
t_r: double; //текущее значение угла в радианах
BEGIN
Assign(DATA,'ciferblat.dat');
Rewrite(DATA);
//перевод констант из градусной меры в радианную
dt_r:=dt*Pi/180;
Tmin_r:=Tmin*Pi/180;
phi_r:=phi*Pi/180;
t_r:=Tmin_r;
t:=Tmin;
sin_phi_r:=sin(phi_r);
while t<=Tmax do
begin
//часть циферблата раньше 6 часов после полудня
if t<(-90) then
begin
tg_t:=sin(t_r)/cos(t_r);
u:=arctan(tg_t*sin_phi_r);
//вывод в файл в форме пригодной для gnuplot
writeln(DATA,0,' ',0);
writeln(DATA,-cos(u),' ',-sin(u));
writeln(DATA);
writeln(DATA);
end;
//основная часть циферблата в диапазоне от 6 до полудня до 6 часов после полудня
if (t<90) and (t>=(-90)) then
begin
tg_t:=sin(t_r)/cos(t_r);
u:=arctan(tg_t*sin_phi_r);
//вывод в файл в форме пригодной для gnuplot
writeln(DATA,0,' ',0);
writeln(DATA,cos(u),' ',sin(u));
writeln(DATA);
writeln(DATA);
end;
//обработка случая, когда cos(t_r)=0 (6 часов до полудня, t=90 градусов)
if t=90 then
begin
writeln(DATA,0,' ',0);
writeln(DATA,0,' ',1);
writeln(DATA);
writeln(DATA);
end;
//часть циферблата после 6 часов до полудня
if t<(-90) then
begin
tg_t:=sin(t_r)/cos(t_r);
u:=arctan(tg_t*sin_phi_r);
//вывод в файл в форме пригодной для gnuplot
writeln(DATA,0,' ',0);
writeln(DATA,-cos(u),' ',sin(u));
writeln(DATA);
writeln(DATA);
end;
t_r:=t_r+dt_r;
t:=t+dt;
end;
Close(DATA);
writeln('Ok');
readln();
END.
Эта программа формирует файл с данными, которые можно отобразить в программе Gnuplot.
Скрипт Gnuplot
set size square
set terminal png large font arial size 800,600
unset grid
unset key
set out "ciferblat.png"
plot [-1:1] [-1:1] "ciferblat.dat" index 0 with lines lt 1, \
"ciferblat.dat" index 1 with lines lt 1, \
"ciferblat.dat" index 2 with lines lt 3, \
"ciferblat.dat" index 3 with lines lt 3, \
"ciferblat.dat" index 4 with lines lt 3, \
"ciferblat.dat" index 5 with lines lt 3, \
"ciferblat.dat" index 6 with lines lt 1, \
"ciferblat.dat" index 7 with lines lt 3, \
"ciferblat.dat" index 8 with lines lt 3, \
"ciferblat.dat" index 9 with lines lt 1, \
"ciferblat.dat" index 10 with lines lt 3, \
"ciferblat.dat" index 11 with lines lt 3, \
"ciferblat.dat" index 12 with lines lt 1, \
"ciferblat.dat" index 13 with lines lt 3, \
"ciferblat.dat" index 14 with lines lt 3, \
"ciferblat.dat" index 15 with lines lt 1, \
"ciferblat.dat" index 16 with lines lt 3, \
"ciferblat.dat" index 17 with lines lt 3, \
"ciferblat.dat" index 18 with lines lt 1
pause -1
Используя код, представленный выше, можно получить циферблат горизонтальных солнечных часов для нужной широты. Ниже представлены циферблаты, построенные для широт от 65 до 40 градусов с шагом 5 градусов.
Циферблаты






5) Остается каким-либо образом получить материальный образец циферблата. В простейшем случае его можно распечатать и наклеить на плотное картонное основание.
После этого необходимо установить гномон так, чтобы угол между ним и линии отмечающей 12 часов, т.е. направлением на север, был равен широте места наблюдения. В простейшем случае гномон можно сделать из проволоки.
При этом гномон будет указывать на Северный полюс небесной сферы, а показания часов не будут зависеть от склонения Солнца [4].
При использовании солнечных часов следует помнить, что они показывают местное истинное солнечное время. Для того, чтобы показания солнечных часов перевести к используемому нами местному времени необходимо внести поправку, рассчитываемую по формуле
где - уравнение времени [1], которое зависит от номера дня в году и меняется в диапазоне от +14,3 мин (12 февраля) до -16,4 мин (4 ноября),
- разница времени между вашим городом и Москвой,
- разница между московским и всемирным временем (3 часа с учетом декретного времени, раньше, когда в России использовалось летнее время в период действия летнего времени разница была 4 часа),
- географическая долгота города, выраженная в единицах времени (1 градус равен 4 минутам). Как видно для стационарных часов все компоненты, кроме уравнения времени можно определить один раз.
В конце статьи предлагаю вашему вниманию видеоклип композитора Андрея Климковского на музыкальную композицию "Северная корона" из одноименного альбома, в котором фигурирую горизонтальные солнечные часы с первой иллюстрации.
Источники.
Солнечные часы. - URL: https://habr.com/ru/articles/746772/
Энциклопедический словарь юного астронома. Составитель Н.П.Ерпылев - М.: Педагогика, 1986 г.
Астрономия. Энциклопедия для детей – М.: Аванта плюс,1998 г.
Системы небесных координат. - URL: http://www.astronet.ru/db/msg/1175352/node4.html