Приложения
А. Основные формулы
А.1. Часовой угол для заданной высоты Солнца
\[ \cos(H_0) = \frac{\sin(h_0) - \sin(\phi)\sin(\delta)}{\cos(\phi)\cos(\delta)} \]
А.2. Склонение Солнца (приближённое)
\[ \delta \approx 23{,}44° \times \sin\left(\frac{360°}{365}(n + 284)\right) \]
где \( n \) — номер дня в году.
А.3. Уравнение времени (приближённое)
\[ B = \frac{360°}{365}(n - 81) \]
\[ E = 9{,}87 \sin(2B) - 7{,}53 \cos(B) - 1{,}5 \sin(B) \quad \text{[минуты]} \]
А.4. Время истинного полудня
\[ T_{\text{полдень}} = 12:00 - \frac{\lambda - \lambda_{\text{ref}}}{15} \times 60 - E \]
А.5. Высота Солнца для Аср
\[ h_{\text{Аср}} = \arctan\left(\frac{1}{t + \tan(|\phi - \delta|)}\right) \]
где \( t = 1 \) (стандарт) или \( t = 2 \) (Ханафи).
А.6. Среднее новолуние
\[ \text{JDE} = 2451550{,}09766 + 29{,}530588861 \times k \]
А.7. Юлианская дата
\[ \text{JD} = 367Y - \left\lfloor\frac{7(Y + \lfloor\frac{M+9}{12}\rfloor)}{4}\right\rfloor + \left\lfloor\frac{275M}{9}\right\rfloor + D + 1721013{,}5 \]
Б. Таблицы и константы
Б.1. Астрономические константы
| Константа | Значение |
|---|---|
| Наклон эклиптики (J2000) | 23° 26’ 21,448“ |
| Средний синодический месяц | 29,530589 суток |
| Средний тропический год | 365,24219 суток |
| Средний сидерический месяц | 27,321662 суток |
| Атмосферная рефракция (горизонт) | 0,567° |
| Видимый радиус Солнца | 0,266° |
| Высота захода/восхода | −0,833° |
| Гравитационная постоянная | 6,674 × 10⁻¹¹ Н·м²/кг² |
Б.2. Конвенции для Фаджр и Иша
| Конвенция | Фаджр | Иша | Регион |
|---|---|---|---|
| MWL | −18° | −17° | Общемировая |
| ISNA | −15° | −15° | Северная Америка |
| Egypt | −19,5° | −17,5° | Египет |
| Umm al-Qura | −18,5° | 90мин | Саудовская Аравия |
| Karachi | −18° | −18° | Пакистан |
| Diyanet | −18° | −17° | Турция |
Б.3. Координаты некоторых городов
| Город | Широта | Долгота | Часовой пояс |
|---|---|---|---|
| Мекка | 21,4225° | 39,8262° | UTC+3 |
| Медина | 24,4686° | 39,6142° | UTC+3 |
| Каир | 30,0444° | 31,2357° | UTC+2 |
| Стамбул | 41,0082° | 28,9784° | UTC+3 |
| Москва | 55,7558° | 37,6173° | UTC+3 |
| С-Петербург | 59,9343° | 30,3351° | UTC+3 |
| Казань | 55,7887° | 49,1221° | UTC+3 |
| Махачкала | 42,9849° | 47,5047° | UTC+3 |
| Грозный | 43,3125° | 45,6981° | UTC+3 |
| Лондон | 51,5074° | −0,1278° | UTC+0 |
| Куала-Лумпур | 3,1390° | 101,6869° | UTC+8 |
| Джакарта | −6,2088° | 106,8456° | UTC+7 |
В. Алгоритм вычисления времени всех намазов (псевдокод)
ФУНКЦИЯ prayer_times(дата, широта, долгота, часовой_пояс, конвенция, мазхаб_аср):
// 1. Юлианская дата и столетия
JD = julian_date(дата)
T = (JD - 2451545.0) / 36525
// 2. Положение Солнца
δ = sun_declination(T)
E = equation_of_time(T)
// 3. Истинный полдень
λ_ref = часовой_пояс × 15
полдень = 12:00 - (долгота - λ_ref)/15 × 60 - E
// 4. Восход и заход (h = -0.833°)
H_sunrise = hour_angle(-0.833°, широта, δ)
восход = полдень - H_sunrise / 15
заход = полдень + H_sunrise / 15
// 5. Фаджр
α_фаджр = конвенция.fajr_angle // напр. 18°
H_fajr = hour_angle(-α_фаджр, широта, δ)
фаджр = полдень - H_fajr / 15
// 6. Аср
h_max = 90° - |широта - δ|
t = ЕСЛИ мазхаб_аср == ХАНАФИ ТО 2 ИНАЧЕ 1
h_asr = arctan(1 / (t + tan(90° - h_max)))
H_asr = hour_angle(h_asr, широта, δ)
аср = полдень + H_asr / 15
// 7. Иша
α_иша = конвенция.isha_angle // напр. 17°
H_isha = hour_angle(-α_иша, широта, δ)
иша = полдень + H_isha / 15
ВЕРНУТЬ {фаджр, восход, полдень, аср, заход, иша}
ФУНКЦИЯ hour_angle(h0, φ, δ):
cos_H = (sin(h0) - sin(φ)sin(δ)) / (cos(φ)cos(δ))
ЕСЛИ |cos_H| > 1: ВЕРНУТЬ АНОМАЛИЯ // Солнце не достигает этой высоты
ВЕРНУТЬ arccos(cos_H)