Algorytmy i wzory

← Niebo teraz

Wzory, których używa serwis, zapisane tak, jak są zaimplementowane. Numery „(Meeus n.m)” odnoszą się do książki J. Meeus, Astronomical Algorithms, wyd. 2 (1998). Obliczenia oznaczone „(astronomia)” pochodzą z portu biblioteki astronomia do PHP (app/lib/astro/). Pozostałe są w usługach serwisu (app/lib/). Długie tabele współczynników nie są tu powtórzone. Przy każdym temacie podany jest plik, który je zawiera.

Oznaczenia: kąty w radianach, o ile nie podano jednostki; pmod(x,2π)\mathrm{pmod}(x, 2\pi) sprowadza kąt do przedziału [0,2π)[0, 2\pi); atan2⁡(y,x)\operatorname{atan2}(y, x) to arcus tangens dwóch argumentów.

1. Skale czasu

Dzień juliański z czasu uniksowego (Time.php). Czas uniksowy liczy sekundy UTC i pomija sekundy przestępne:

JD=tunix86400+2440587.5,MJD=JD−2400000.5 JD = \frac{t_\mathrm{unix}}{86400} + 2440587.5, \qquad MJD = JD - 2400000.5

Stulecia i tysiąclecia juliańskie od epoki J2000.0 (astronomia, Meeus 12.1, 22.1):

T=JDE−2451545.036525,τ=T10 T = \frac{JDE - 2451545.0}{36525}, \qquad \tau = \frac{T}{10}

Czas dynamiczny. JDE=JD+ΔT/86400JDE = JD + \Delta T / 86400. Poprawka ΔT w sekundach zależy od roku dziesiętnego yy (astronomia AstroDeltaT, dane w app/data/deltat.php):

Zakres yy ΔT
y<−500y < -500 −20+32u2-20 + 32u^2, u=(y−1820)/100u = (y - 1820)/100
−500≤y<500-500 \le y < 500 wielomian 6. stopnia od y/100y/100 (Espenak–Meeus)
500≤y<1600500 \le y < 1600 wielomian 6. stopnia od (y−1000)/100(y - 1000)/100 (Espenak–Meeus)
1600≤y<16571600 \le y < 1657 120−0.9808t−0.01532t2+t3/7129120 - 0.9808t - 0.01532t^2 + t^3/7129, t=y−1600t = y - 1600
1657≤y<1973.11657 \le y < 1973.1 interpolacja w historycznej tabeli rocznej
1973.1≤y<2023.11973.1 \le y < 2023.1 interpolacja kwadratowa w miesięcznych wartościach IERS
2023.1≤y<20322023.1 \le y < 2032 interpolacja w kwartalnej tabeli prognoz
2032≤y<20502032 \le y < 2050 62.92+32.217t+55.89t262.92 + 32.217t + 55.89t^2, t=(y−2000)/100t = (y - 2000)/100
2050≤y<21502050 \le y < 2150 −205.72+56.28u+32u2-205.72 + 56.28u + 32u^2, u=(y−1820)/100u = (y - 1820)/100
y≥2150y \ge 2150 −20+32u2-20 + 32u^2

Serwis przyjmuje y=2000+(JD−2451545)/365.25y = 2000 + (JD - 2451545)/365.25. Z JDE do JD wraca jednym krokiem tego samego wzoru.

Epoka juliańska: J=2000+(JDE−2451545)/365.25J = 2000 + (JDE - 2451545)/365.25.

2. Czas gwiazdowy

Średni czas gwiazdowy w Greenwich według IAU 1982 (astronomia AstroSidereal, Meeus 12.2). Niech JD0JD_0 będzie dniem juliańskim o poprzedzającej godzinie 0h UT, ff ułamkiem doby, który od niej upłynął, a T0T_0 wartością TT dla JD0JD_0:

θ0=24110.54841+8640184.812866 T0+0.093104 T02−0.0000062 T03+1.00273790935⋅86400 f[s] \theta_0 = 24110.54841 + 8640184.812866\,T_0 + 0.093104\,T_0^2 - 0.0000062\,T_0^3 + 1.00273790935 \cdot 86400\,f \quad [\mathrm{s}]

Prawdziwy czas gwiazdowy dodaje równanie punktów równonocy Δψcos⁡ε\Delta\psi\cos\varepsilon (w sekundach czasu: kąt w sekundach łuku dzielony przez 15). Czasy lokalne: LMST=GMST+λ/15∘\mathrm{LMST} = \mathrm{GMST} + \lambda/15^\circ godzin oraz LAST=GAST+λ/15∘\mathrm{LAST} = \mathrm{GAST} + \lambda/15^\circ, gdzie długość geograficzna λ\lambda jest dodatnia na wschód.

3. Nutacja i nachylenie ekliptyki

Argumenty podstawowe w stopniach (astronomia AstroNutation, Meeus 22):

D=297.85036+445267.111480 T−0.0019142 T2+T3/189474M=357.52772+35999.050340 T−0.0001603 T2−T3/300000M′=134.96298+477198.867398 T+0.0086972 T2+T3/56250F=93.27191+483202.017538 T−0.0036825 T2+T3/327270Ω=125.04452−1934.136261 T+0.0020708 T2+T3/450000 \begin{aligned} D &= 297.85036 + 445267.111480\,T - 0.0019142\,T^2 + T^3/189474 \\ M &= 357.52772 + 35999.050340\,T - 0.0001603\,T^2 - T^3/300000 \\ M' &= 134.96298 + 477198.867398\,T + 0.0086972\,T^2 + T^3/56250 \\ F &= 93.27191 + 483202.017538\,T - 0.0036825\,T^2 + T^3/327270 \\ \Omega &= 125.04452 - 1934.136261\,T + 0.0020708\,T^2 + T^3/450000 \end{aligned}

Nutacja w długości i w nachyleniu to suma po 63 wierszach tabeli 22.A Meeusa, ze współczynnikami w jednostkach 0.0001″:

Δψ=∑i(Si+Si′T)sin⁡ai,Δε=∑i(Ci+Ci′T)cos⁡ai,ai=diD+miM+niM′+fiF+ωiΩ \Delta\psi = \sum_i (S_i + S'_i T)\sin a_i, \qquad \Delta\varepsilon = \sum_i (C_i + C'_i T)\cos a_i, \qquad a_i = d_i D + m_i M + n_i M' + f_i F + \omega_i \Omega

Średnie i prawdziwe nachylenie ekliptyki (Meeus 22.2):

ε0=23∘26′21.448′′−46.815′′ T−0.00059′′ T2+0.001813′′ T3,ε=ε0+Δε \varepsilon_0 = 23^\circ 26' 21.448'' - 46.815''\,T - 0.00059''\,T^2 + 0.001813''\,T^3, \qquad \varepsilon = \varepsilon_0 + \Delta\varepsilon

4. Przeliczenia współrzędnych

Z ekliptycznych na równikowe (Meeus 13.3, 13.4):

α=atan2⁡(sin⁡λcos⁡ε−tan⁡βsin⁡ε, cos⁡λ),δ=arcsin⁡(sin⁡βcos⁡ε+cos⁡βsin⁡εsin⁡λ) \alpha = \operatorname{atan2}(\sin\lambda\cos\varepsilon - \tan\beta\sin\varepsilon,\ \cos\lambda), \qquad \delta = \arcsin(\sin\beta\cos\varepsilon + \cos\beta\sin\varepsilon\sin\lambda)

Stałe paralaksy obserwatora na szerokości geodezyjnej φ\varphi i wysokości hh w metrach (Observer.php, Meeus 11):

u=arctan⁡(0.99664719tan⁡φ),ρsin⁡φ′=0.99664719sin⁡u+h6378140sin⁡φ,ρcos⁡φ′=cos⁡u+h6378140cos⁡φ u = \arctan(0.99664719\tan\varphi), \quad \rho\sin\varphi' = 0.99664719\sin u + \frac{h}{6378140}\sin\varphi, \quad \rho\cos\varphi' = \cos u + \frac{h}{6378140}\cos\varphi

Poprawka topocentryczna (paralaksa dobowa, Meeus 40.2, 40.3). Tu H=θGAST+λ−αH = \theta_\mathrm{GAST} + \lambda - \alpha to kąt godzinny, a Δ\Delta odległość w AU:

sin⁡π=sin⁡8.794′′ΔΔα=atan2⁡(−ρcos⁡φ′sin⁡πsin⁡H, cos⁡δ−ρcos⁡φ′sin⁡πcos⁡H)δ′=atan2⁡((sin⁡δ−ρsin⁡φ′sin⁡π)cos⁡Δα, cos⁡δ−ρcos⁡φ′sin⁡πcos⁡H),H′=H−Δα \begin{aligned} \sin\pi &= \frac{\sin 8.794''}{\Delta} \\ \Delta\alpha &= \operatorname{atan2}(-\rho\cos\varphi'\sin\pi\sin H,\ \cos\delta - \rho\cos\varphi'\sin\pi\cos H) \\ \delta' &= \operatorname{atan2}\big((\sin\delta - \rho\sin\varphi'\sin\pi)\cos\Delta\alpha,\ \cos\delta - \rho\cos\varphi'\sin\pi\cos H\big), \qquad H' = H - \Delta\alpha \end{aligned}

Współrzędne horyzontalne, z azymutem liczonym od północy przez wschód (Meeus 13.5, 13.6 przesunięte o 180°):

h=arcsin⁡(sin⁡φsin⁡δ′+cos⁡φcos⁡δ′cos⁡H′),A=atan2⁡(sin⁡H′, cos⁡H′sin⁡φ−tan⁡δ′cos⁡φ)+180∘ h = \arcsin(\sin\varphi\sin\delta' + \cos\varphi\cos\delta'\cos H'), \qquad A = \operatorname{atan2}(\sin H',\ \cos H'\sin\varphi - \tan\delta'\cos\varphi) + 180^\circ

Refrakcja (Observer.php, wzór Saemundssona, Meeus 16.4). Wzór daje refrakcję w minutach łuku dla wysokości geometrycznej hh w stopniach:

R=1.02tan⁡(h+10.3h+5.11) R = \frac{1.02}{\tan\left(h + \dfrac{10.3}{h + 5.11}\right)}

Wysokość pozorna to h+Rh + R dla h≥−1∘h \ge -1^\circ. Między −1° a −3° wartość R(−1∘)R(-1^\circ) maleje liniowo do zera, żeby krzywe wysokości nie miały skoku. Poniżej −3° refrakcji się nie dodaje.

Odległość kątowa (postać haversine, dokładna także dla małych kątów):

d=2arcsin⁡sin⁡2δ2−δ12+cos⁡δ1cos⁡δ2sin⁡2α2−α12 d = 2\arcsin\sqrt{\sin^2\frac{\delta_2 - \delta_1}{2} + \cos\delta_1\cos\delta_2\sin^2\frac{\alpha_2 - \alpha_1}{2}}

Tego samego wzoru używa się dla par współrzędnych ekliptycznych (λ,β)(\lambda, \beta) i horyzontalnych (A,h)(A, h).

5. Planety i Słońce z teorii VSOP87

Szeregi VSOP87B (astronomia AstroPlanetPosition, Meeus 32). Heliocentryczna długość LL, szerokość BB (ekliptyka J2000) i promień wodzący RR (AU) mają postać

X=∑n=05τn∑iAn,icos⁡(Bn,i+Cn,i τ) X = \sum_{n=0}^{5} \tau^n \sum_i A_{n,i}\cos(B_{n,i} + C_{n,i}\,\tau)

Serwis używa pełnych szeregów Bretagnona i Francou. Współczynniki są w plikach app/data/vsop87b-<planeta>.php.

Precesja do ekliptyki daty (Meeus 21.5, 21.7), gdzie tt to liczba stuleci juliańskich od J2000 do danej chwili:

η=(47.0029′′−0.03302′′ t+0.000060′′ t2) tΠ=174.876384∘−869.8089′′ t+0.03536′′ t2p=(5029.0966′′+1.11113′′ t−0.000006′′ t2) t \begin{aligned} \eta &= (47.0029'' - 0.03302''\,t + 0.000060''\,t^2)\,t \\ \Pi &= 174.876384^\circ - 869.8089''\,t + 0.03536''\,t^2 \\ p &= (5029.0966'' + 1.11113''\,t - 0.000006''\,t^2)\,t \end{aligned}

A=cos⁡ηcos⁡βsin⁡(Π−λ)−sin⁡ηsin⁡β,B=cos⁡βcos⁡(Π−λ),C=cos⁡ηsin⁡β+sin⁡ηcos⁡βsin⁡(Π−λ),λ′=p+Π−atan2⁡(A,B),β′=arcsin⁡C \begin{aligned} A &= \cos\eta\cos\beta\sin(\Pi - \lambda) - \sin\eta\sin\beta, \qquad B = \cos\beta\cos(\Pi - \lambda), \\ C &= \cos\eta\sin\beta + \sin\eta\cos\beta\sin(\Pi - \lambda), \qquad \lambda' = p + \Pi - \operatorname{atan2}(A, B), \quad \beta' = \arcsin C \end{aligned}

Pozycja geocentryczna planety (Ephemeris.php, według Meeus 33). Pozycja heliocentryczna planety to (L,B,R)(L, B, R), a Ziemi (L0,B0,R0)(L_0, B_0, R_0):

x=Rcos⁡Bcos⁡L−R0cos⁡B0cos⁡L0y=Rcos⁡Bsin⁡L−R0cos⁡B0sin⁡L0z=Rsin⁡B−R0sin⁡B0Δ=x2+y2+z2 \begin{aligned} x &= R\cos B\cos L - R_0\cos B_0\cos L_0 \\ y &= R\cos B\sin L - R_0\cos B_0\sin L_0 \\ z &= R\sin B - R_0\sin B_0 \end{aligned} \qquad \Delta = \sqrt{x^2 + y^2 + z^2}

Czas biegu światła to τl=0.0057755183 Δ\tau_\mathrm{l} = 0.0057755183\,\Delta doby (Meeus 33.3). Pozycję planety liczy się ponownie dla chwili JDE−τlJDE - \tau_\mathrm{l}, po czym λ=atan2⁡(y,x)\lambda = \operatorname{atan2}(y, x) oraz β=atan2⁡(z,x2+y2)\beta = \operatorname{atan2}(z, \sqrt{x^2 + y^2}).

Aberracja (astronomia AstroApparent, Meeus 23.2). Tu κ=20.49552′′\kappa = 20.49552'', ⊙\odot to prawdziwa długość Słońca, ee mimośród orbity Ziemi, a ϖ=102.93735∘+1.71946∘T+0.00046∘T2\varpi = 102.93735^\circ + 1.71946^\circ T + 0.00046^\circ T^2 długość jej peryhelium:

Δλ=κ ecos⁡(ϖ−λ)−cos⁡(⊙−λ)cos⁡β,Δβ=−κsin⁡β (sin⁡(⊙−λ)−esin⁡(ϖ−λ)) \Delta\lambda = \kappa\,\frac{e\cos(\varpi - \lambda) - \cos(\odot - \lambda)}{\cos\beta}, \qquad \Delta\beta = -\kappa\sin\beta\,\big(\sin(\odot - \lambda) - e\sin(\varpi - \lambda)\big)

Przejście do układu FK5 (Meeus 32.3), gdzie λ′=λ−1.397∘T−0.00031∘T2\lambda' = \lambda - 1.397^\circ T - 0.00031^\circ T^2:

ΔλFK5=−0.09033′′+0.03916′′(cos⁡λ′+sin⁡λ′)tan⁡β,ΔβFK5=0.03916′′(cos⁡λ′−sin⁡λ′) \Delta\lambda_\mathrm{FK5} = -0.09033'' + 0.03916''(\cos\lambda' + \sin\lambda')\tan\beta, \qquad \Delta\beta_\mathrm{FK5} = 0.03916''(\cos\lambda' - \sin\lambda')

Pozycja pozorna: λapp=λ+Δλ+ΔλFK5+Δψ\lambda_\mathrm{app} = \lambda + \Delta\lambda + \Delta\lambda_\mathrm{FK5} + \Delta\psi oraz βapp=β+Δβ+ΔβFK5\beta_\mathrm{app} = \beta + \Delta\beta + \Delta\beta_\mathrm{FK5}, przeliczone na (α,δ)(\alpha, \delta) przy prawdziwym nachyleniu ekliptyki ε\varepsilon.

Słońce (astronomia AstroSolar, Meeus 25.9, 25.10). Pozycja geocentryczna to odwrócona pozycja heliocentryczna Ziemi, ⊙=L0+180∘\odot = L_0 + 180^\circ, β⊙=−B0\beta_\odot = -B_0, z powyższą poprawką FK5. Długość pozorna dodaje nutację i aberrację:

λapp=⊙−0.09033′′+Δψ−20.4898′′R0 \lambda_\mathrm{app} = \odot - 0.09033'' + \Delta\psi - \frac{20.4898''}{R_0}

Równanie czasu (astronomia AstroEqTime, Meeus 28.1, 28.2):

L0=280.4664567∘+360007.6982779∘τ+0.03032028∘τ2+τ349931−τ415300−τ52000000 L_0 = 280.4664567^\circ + 360007.6982779^\circ\tau + 0.03032028^\circ\tau^2 + \frac{\tau^3}{49931} - \frac{\tau^4}{15300} - \frac{\tau^5}{2000000}

E=L0−0.0057183∘−α⊙+Δψcos⁡ε E = L_0 - 0.0057183^\circ - \alpha_\odot + \Delta\psi\cos\varepsilon

EE sprowadza się do przedziału (−180∘,180∘](-180^\circ, 180^\circ] i podaje w minutach (1∘=41^\circ = 4 min).

Punkty podsłoneczny i podksiężycowy: szerokość =δ= \delta, długość =α−θGAST= \alpha - \theta_\mathrm{GAST} sprowadzona do (−180∘,180∘](-180^\circ, 180^\circ].

6. Dane fizyczne planet

Kąt fazowy i oświetlona część tarczy (astronomia AstroIllum, Meeus 41.1, 41.2). Tu rr to odległość planety od Słońca, Δ\Delta od Ziemi, a RR odległość Ziemi od Słońca:

cos⁡i=r2+Δ2−R22rΔ,k=1+cos⁡i2 \cos i = \frac{r^2 + \Delta^2 - R^2}{2 r \Delta}, \qquad k = \frac{1 + \cos i}{2}

Jasność wizualna według Astronomical Almanac 1984 (Meeus 41), z ii w stopniach:

Planeta VV
Merkury −0.42+5log⁡10(rΔ)+0.0380 i−0.000273 i2+0.000002 i3-0.42 + 5\log_{10}(r\Delta) + 0.0380\,i - 0.000273\,i^2 + 0.000002\,i^3
Wenus −4.40+5log⁡10(rΔ)+0.0009 i+0.000239 i2−0.00000065 i3-4.40 + 5\log_{10}(r\Delta) + 0.0009\,i + 0.000239\,i^2 - 0.00000065\,i^3
Mars −1.52+5log⁡10(rΔ)+0.016 i-1.52 + 5\log_{10}(r\Delta) + 0.016\,i
Jowisz −9.40+5log⁡10(rΔ)+0.005 i-9.40 + 5\log_{10}(r\Delta) + 0.005\,i
Saturn −8.88+5log⁡10(rΔ)+0.044 ∣ΔU∣−2.60sin⁡∣B∣+1.25sin⁡2B-8.88 + 5\log_{10}(r\Delta) + 0.044\,\lvert\Delta U\rvert - 2.60\sin\lvert B\rvert + 1.25\sin^2 B
Uran −7.19+5log⁡10(rΔ)-7.19 + 5\log_{10}(r\Delta)
Neptun −6.87+5log⁡10(rΔ)-6.87 + 5\log_{10}(r\Delta)

Dla Saturna BB to saturnocentryczna szerokość Ziemi względem płaszczyzny pierścieni, a ΔU\Delta U (w stopniach) różnica saturnocentrycznych długości Słońca i Ziemi (Meeus 45, astronomia AstroSaturnRing). Słońcu przypisano V=−26.74V = -26.74.

Średnica kątowa (Meeus 55): półśrednica s=s0/Δs = s_0/\Delta, gdzie s0s_0 to półśrednica w odległości 1 AU (Słońce 959.63″, Merkury 3.36″, Wenus 8.41″, Mars 4.68″, Jowisz 98.44″, Saturn 82.73″, Uran 35.02″, Neptun 33.50″). Podawana średnica to 2s2s.

Elongacja: ψ\psi to odległość kątowa planety od Słońca. Ma znak dodatni (na wschód od Słońca, widoczność wieczorna), gdy pmod(λ−⊙,2π)<π\mathrm{pmod}(\lambda - \odot, 2\pi) < \pi.

7. Księżyc

Pozycja (astronomia AstroMoonPosition, Meeus 47; po 60 wyrazów z tabel 47.A i 47.B jest w tym pliku). Argumenty w stopniach:

L′=218.3164477+481267.88123421 T−0.0015786 T2+T3/538841−T4/65194000D=297.8501921+445267.1114034 T−0.0018819 T2+T3/545868−T4/113065000M=357.5291092+35999.0502909 T−0.0001536 T2+T3/24490000M′=134.9633964+477198.8675055 T+0.0087414 T2+T3/69699−T4/14712000F=93.2720950+483202.0175233 T−0.0036539 T2−T3/3526000+T4/863310000A1=119.75+131.849 T,A2=53.09+479264.290 T,A3=313.45+481266.484 TE=1−0.002516 T−0.0000074 T2 \begin{aligned} L' &= 218.3164477 + 481267.88123421\,T - 0.0015786\,T^2 + T^3/538841 - T^4/65194000 \\ D &= 297.8501921 + 445267.1114034\,T - 0.0018819\,T^2 + T^3/545868 - T^4/113065000 \\ M &= 357.5291092 + 35999.0502909\,T - 0.0001536\,T^2 + T^3/24490000 \\ M' &= 134.9633964 + 477198.8675055\,T + 0.0087414\,T^2 + T^3/69699 - T^4/14712000 \\ F &= 93.2720950 + 483202.0175233\,T - 0.0036539\,T^2 - T^3/3526000 + T^4/863310000 \\ A_1 &= 119.75 + 131.849\,T, \qquad A_2 = 53.09 + 479264.290\,T, \qquad A_3 = 313.45 + 481266.484\,T \\ E &= 1 - 0.002516\,T - 0.0000074\,T^2 \end{aligned}

Σl=∑iliE∣mi∣sin⁡(diD+miM+mi′M′+fiF)+3958sin⁡A1+1962sin⁡(L′−F)+318sin⁡A2Σr=∑iriE∣mi∣cos⁡(diD+miM+mi′M′+fiF)Σb=∑ibiE∣mi∣sin⁡(diD+miM+mi′M′+fiF)−2235sin⁡L′+382sin⁡A3+175sin⁡(A1−F)+175sin⁡(A1+F)+127sin⁡(L′−M′)−115sin⁡(L′+M′) \begin{aligned} \Sigma_l &= \sum_i l_i E^{\lvert m_i\rvert}\sin(d_i D + m_i M + m'_i M' + f_i F) + 3958\sin A_1 + 1962\sin(L' - F) + 318\sin A_2 \\ \Sigma_r &= \sum_i r_i E^{\lvert m_i\rvert}\cos(d_i D + m_i M + m'_i M' + f_i F) \\ \Sigma_b &= \sum_i b_i E^{\lvert m_i\rvert}\sin(d_i D + m_i M + m'_i M' + f_i F) - 2235\sin L' + 382\sin A_3 \\ &\quad + 175\sin(A_1 - F) + 175\sin(A_1 + F) + 127\sin(L' - M') - 115\sin(L' + M') \end{aligned}

λ=L′+Σl⋅10−6 ∘,β=Σb⋅10−6 ∘,Δ=385000.56+Σr/1000 km \lambda = L' + \Sigma_l \cdot 10^{-6\,\circ}, \qquad \beta = \Sigma_b \cdot 10^{-6\,\circ}, \qquad \Delta = 385000.56 + \Sigma_r/1000\ \mathrm{km}

Długość pozorna dodaje nutację: λapp=λ+Δψ\lambda_\mathrm{app} = \lambda + \Delta\psi (Ephemeris.php).

Kąt fazowy i oświetlona część tarczy (SkyService.php, Meeus 48.2, 48.3, 48.1). Tu ψ\psi to geocentryczna elongacja Księżyca od Słońca, a RR i Δ\Delta to odległości Słońca i Księżyca w km:

i=atan2⁡(Rsin⁡ψ, Δ−Rcos⁡ψ),k=1+cos⁡i2 i = \operatorname{atan2}(R\sin\psi,\ \Delta - R\cos\psi), \qquad k = \frac{1 + \cos i}{2}

Kąt pozycyjny jasnego brzegu (Meeus 48.5), liczony od północy przez wschód:

χ=atan2⁡(cos⁡δ⊙sin⁡(α⊙−α), sin⁡δ⊙cos⁡δ−cos⁡δ⊙sin⁡δcos⁡(α⊙−α)) \chi = \operatorname{atan2}\big(\cos\delta_\odot\sin(\alpha_\odot - \alpha),\ \sin\delta_\odot\cos\delta - \cos\delta_\odot\sin\delta\cos(\alpha_\odot - \alpha)\big)

Przeglądarka obraca rysunek fazy o χ−q\chi - q, gdzie qq to kąt paralaktyczny (Meeus 14.1). Dzięki temu na rysunku zenit jest u góry:

q=atan2⁡(sin⁡H, tan⁡φcos⁡δ−sin⁡δcos⁡H) q = \operatorname{atan2}\big(\sin H,\ \tan\varphi\cos\delta - \sin\delta\cos H\big)

Inne wielkości dla Księżyca:

8. Wschód, górowanie, zachód i zmierzch

Poszukiwanie obejmuje lokalną dobę kalendarzową [t0,t1)[t_0, t_1) chwili odniesienia (23 lub 25 godzin w dniu zmiany czasu) (SkyService.php).

  1. Pozorne geocentryczne (α,δ,Δ)(\alpha, \delta, \Delta) każdego ciała liczy się w węzłach co 3 godziny, od 3 godzin przed t0t_0 do 3 godzin po t1t_1. Rektascensję „rozwija się” przez przejście 0/360°.

  2. Między węzłami wartości interpoluje się 4-punktowym wzorem Lagrange'a z węzłów tj−1…tj+2t_{j-1} \ldots t_{j+2} wokół tt:

    f(t)=∑jfj∏m≠jt−tmtj−tm f(t) = \sum_{j} f_j \prod_{m \ne j} \frac{t - t_m}{t_j - t_m}

  3. Wschód i zachód to miejsca zerowe funkcji g(t)=hgeo(t)−h0g(t) = h_\mathrm{geo}(t) - h_0, gdzie hgeoh_\mathrm{geo} to geometryczna wysokość geocentryczna. Wysokości standardowe (Meeus 15):

    Ciało lub zjawisko h0h_0
    Słońce −0.8333∘-0.8333^\circ
    Planety −0.5667∘-0.5667^\circ
    Księżyc 0.7275 π−0.5667∘0.7275\,\pi - 0.5667^\circ, π=arcsin⁡(6378.14/Δkm)\pi = \arcsin(6378.14/\Delta_\mathrm{km})
    Zmierzch cywilny −6∘-6^\circ
    Zmierzch żeglarski −12∘-12^\circ
    Zmierzch astronomiczny −18∘-18^\circ

    Funkcję gg próbkuje się co 600 s. Zmianę znaku zawęża się 11 krokami bisekcji, do około 0.3 s. Wschód to pierwsze przejście w górę, a zachód pierwsze przejście w dół. Dla zmierzchów świt to pierwsze przejście w górę, a zmierzch ostatnie przejście w dół.

  4. Górowanie to miejsce zerowe kąta godzinnego H∈(−π,π]H \in (-\pi, \pi] przechodzącego od wartości ujemnych do dodatnich.

  5. Długość dnia to tz−twt_\mathrm{z} - t_\mathrm{w}. Jeśli w danej dobie Słońce zachodzi przed wschodem, jest to (tz−t0)+(t1−tw)(t_\mathrm{z} - t_0) + (t_1 - t_\mathrm{w}). W dniu polarnym to długość całej lokalnej doby, a w nocy polarnej 0.

Krzywe wysokości korzystają z tych samych interpolowanych pozycji, z poprawką topocentryczną i refrakcją.

9. Fazy Księżyca

(astronomia AstroMoonPhase, Meeus 49.) Numer lunacji to kk, przy czym k=0k = 0 to nów z 6 stycznia 2000. Nów odpowiada całkowitemu kk, pierwsza kwadra k+0.25k + 0.25, pełnia k+0.5k + 0.5, a ostatnia kwadra k+0.75k + 0.75. Wtedy T=k/1236.85T = k/1236.85, a średni moment fazy to

JDE0=2451550.09766+29.530588861 k+0.00015437 T2−0.000000150 T3+0.00000000073 T4 JDE_0 = 2451550.09766 + 29.530588861\,k + 0.00015437\,T^2 - 0.000000150\,T^3 + 0.00000000073\,T^4

Prawdziwy moment fazy dodaje wyrazy okresowe zależne od MM, M′M', FF, Ω\Omega i EE (Meeus 49.4–49.9):

W=0.00306−0.00038 Ecos⁡M+0.00026cos⁡M′−0.00002cos⁡(M′−M)+0.00002cos⁡(M′+M)+0.00002cos⁡2F W = 0.00306 - 0.00038\,E\cos M + 0.00026\cos M' - 0.00002\cos(M' - M) + 0.00002\cos(M' + M) + 0.00002\cos 2F

Serwis wywołuje te funkcje z y=2000+k/12.3685y = 2000 + k/12.3685, co wybiera dokładnie lunację kk (MoonPhases.php).

10. Równonoce i przesilenia

(astronomia AstroSolstice, Meeus 27.) Przybliżenie początkowe daje wielomian z tabeli 27.B Meeusa w zmiennej Y=(y−2000)/1000Y = (y - 2000)/1000. Iteruje się je, dopóki poprawka nie spadnie poniżej 5⋅10−65\cdot 10^{-6} doby:

JDE←JDE+58sin⁡(λ0−λ⊙(JDE)) JDE \leftarrow JDE + 58\sin(\lambda_0 - \lambda_\odot(JDE))

Tu λ0\lambda_0 wynosi 0°, 90°, 180° lub 270°, a λ⊙\lambda_\odot to pozorna długość Słońca z VSOP87.

11. Perygeum i apogeum Księżyca

(astronomia AstroApsis, Meeus 50.) Dla perygeum kk jest liczbą całkowitą, dla apogeum k+0.5k + 0.5, T=k/1325.55T = k/1325.55, a średni moment to

JDE0=2451534.6698+27.55454989 k−0.0006691 T2−0.000001098 T3+0.0000000052 T4 JDE_0 = 2451534.6698 + 27.55454989\,k - 0.0006691\,T^2 - 0.000001098\,T^3 + 0.0000000052\,T^4

Czas i równikowa paralaksa horyzontalna π\pi dostają poprawki okresowe z tabel 50.A i 50.B Meeusa. Odległość to Δ=6378.137 km/sin⁡π\Delta = 6378.137\ \mathrm{km}/\sin\pi. Serwis podaje y=1999.97+k/13.2555y = 1999.97 + k/13.2555.

12. Zaćmienia

(astronomia AstroEclipse, Meeus 54.) Dla lunacji kk (całkowitej dla zaćmień Słońca, k+0.5k + 0.5 dla zaćmień Księżyca) mamy T=k/1236.85T = k/1236.85 oraz

F=160.7108∘+390.67050284∘k−0.0016118∘T2−0.00000227∘T3+0.000000011∘T4 F = 160.7108^\circ + 390.67050284^\circ k - 0.0016118^\circ T^2 - 0.00000227^\circ T^3 + 0.000000011^\circ T^4

Zaćmienie nie jest możliwe, gdy ∣sin⁡F∣>0.36\lvert\sin F\rvert > 0.36. W przeciwnym razie moment maksimum to średnia faza z poprawkami z równania 54.1 Meeusa, przy F1=F−0.02665∘sin⁡ΩF_1 = F - 0.02665^\circ\sin\Omega, a dalej

P=0.2070 Esin⁡M+0.0024 Esin⁡2M−0.0392sin⁡M′+0.0116sin⁡2M′−0.0073 Esin⁡(M′+M)+0.0067 Esin⁡(M′−M)+0.0118sin⁡2F1Q=5.2207−0.0048 Ecos⁡M+0.0020 Ecos⁡2M−0.3299cos⁡M′−0.0060 Ecos⁡(M′+M)+0.0041 Ecos⁡(M′−M)W=∣cos⁡F1∣,γ=(Pcos⁡F1+Qsin⁡F1)(1−0.0048 W)u=0.0059+0.0046 Ecos⁡M−0.0182cos⁡M′+0.0004cos⁡2M′−0.0005cos⁡(M+M′) \begin{aligned} P &= 0.2070\,E\sin M + 0.0024\,E\sin 2M - 0.0392\sin M' + 0.0116\sin 2M' - 0.0073\,E\sin(M' + M) \\ &\quad + 0.0067\,E\sin(M' - M) + 0.0118\sin 2F_1 \\ Q &= 5.2207 - 0.0048\,E\cos M + 0.0020\,E\cos 2M - 0.3299\cos M' - 0.0060\,E\cos(M' + M) + 0.0041\,E\cos(M' - M) \\ W &= \lvert\cos F_1\rvert, \qquad \gamma = (P\cos F_1 + Q\sin F_1)(1 - 0.0048\,W) \\ u &= 0.0059 + 0.0046\,E\cos M - 0.0182\cos M' + 0.0004\cos 2M' - 0.0005\cos(M + M') \end{aligned}

γ\gamma to najmniejsza odległość osi cienia od środka Ziemi, a uu promień stożka cienia w płaszczyźnie podstawowej, oba w promieniach równikowych Ziemi.

Zaćmienia Słońca. Nie ma zaćmienia, gdy ∣γ∣>1.5433+u\lvert\gamma\rvert > 1.5433 + u. W przeciwnym razie:

Warunek Typ
∣γ∣>0.9972\lvert\gamma\rvert > 0.9972, a cień nie dosięga Ziemi częściowe
0.9972<∣γ∣<min⁡(1.026, 0.9972+∣u∣)0.9972 < \lvert\gamma\rvert < \min(1.026,\ 0.9972 + \lvert u\rvert) niecentralne całkowite (u<0u < 0) lub obrączkowe (u>0u > 0)
∣γ∣<0.9972\lvert\gamma\rvert < 0.9972, u<0u < 0 całkowite
∣γ∣<0.9972\lvert\gamma\rvert < 0.9972, u>0.0047u > 0.0047 obrączkowe
∣γ∣<0.9972\lvert\gamma\rvert < 0.9972, 0≤u≤0.00470 \le u \le 0.0047 hybrydowe, gdy u<0.004641−γ2u < 0.00464\sqrt{1 - \gamma^2}, inaczej obrączkowe

Wielkość fazy zaćmienia częściowego (Meeus 54.2):

mag=1.5433+u−∣γ∣0.5461+2u \mathrm{mag} = \frac{1.5433 + u - \lvert\gamma\rvert}{0.5461 + 2u}

Dla zaćmień centralnych i niecentralnych całkowitych lub obrączkowych serwis podaje stosunek średnic kątowych Księżyca i Słońca widzianych z punktu Ziemi najbliższego osi cienia (Eclipses.php):

mag=arcsin⁡(1737.4/(ΔK−6378.141−γ2))arcsin⁡(696000/Δ⊙)(km) \mathrm{mag} = \frac{\arcsin\big(1737.4/(\Delta_\mathrm{K} - 6378.14\sqrt{1 - \gamma^2})\big)} {\arcsin(696000/\Delta_\odot)} \qquad (\mathrm{km})

Lokalny przebieg zaćmienia Słońca (Eclipses.php) wyznacza się numerycznie w oknie ±4 h od maksimum. Topocentryczną odległość środków tarcz dd liczy się ze współrzędnych horyzontalnych obu ciał. Półśrednice to

s⊙=arcsin⁡696000Δ⊙,sK=arcsin⁡1737.4ΔK−6378.14sin⁡hK s_\odot = \arcsin\frac{696000}{\Delta_\odot}, \qquad s_\mathrm{K} = \arcsin\frac{1737.4}{\Delta_\mathrm{K} - 6378.14\sin h_\mathrm{K}}

a lokalna wielkość fazy

m(t)=s⊙+sK−d2s⊙ m(t) = \frac{s_\odot + s_\mathrm{K} - d}{2 s_\odot}

obsc=1πs⊙2[ s⊙2arccos⁡d2+s⊙2−sK22ds⊙+sK2arccos⁡d2+sK2−s⊙22dsK−12(−d+s⊙+sK)(d+s⊙−sK)(d−s⊙+sK)(d+s⊙+sK) ] \begin{aligned} \mathrm{obsc} = \frac{1}{\pi s_\odot^2}\Big[\, &s_\odot^2\arccos\frac{d^2 + s_\odot^2 - s_\mathrm{K}^2}{2 d s_\odot} + s_\mathrm{K}^2\arccos\frac{d^2 + s_\mathrm{K}^2 - s_\odot^2}{2 d s_\mathrm{K}} \\ &- \tfrac12\sqrt{(-d + s_\odot + s_\mathrm{K})(d + s_\odot - s_\mathrm{K})(d - s_\odot + s_\mathrm{K}) (d + s_\odot + s_\mathrm{K})}\,\Big] \end{aligned}

Wzór dotyczy częściowego nałożenia tarcz. Gdy jedna tarcza leży w całości wewnątrz drugiej, zakryta część wynosi 1, jeśli Księżyc jest większy, a w przeciwnym razie (sK/s⊙)2(s_\mathrm{K}/s_\odot)^2.

Zaćmienia Księżyca (Meeus 54.3, 54.4). Promień półcienia to ρ=1.2848+u\rho = 1.2848 + u, a promień cienia σ=0.7403−u\sigma = 0.7403 - u. Wielkości fazy w cieniu (U) i w półcieniu (P) to:

magU=1.0128−u−∣γ∣0.545,magP=1.5573+u−∣γ∣0.545 \mathrm{mag}_\mathrm{U} = \frac{1.0128 - u - \lvert\gamma\rvert}{0.545}, \qquad \mathrm{mag}_\mathrm{P} = \frac{1.5573 + u - \lvert\gamma\rvert}{0.545}

Zaćmienie jest całkowite, gdy wielkość fazy w cieniu przekracza 1, częściowe, gdy przekracza 0, i półcieniowe, gdy nieujemna jest wielkość fazy w półcieniu. W pozostałych przypadkach zaćmienia nie ma. Przy n=0.5458+0.04cos⁡M′n = 0.5458 + 0.04\cos M' (promienie Ziemi na godzinę) połowy czasów trwania faz półcieniowej (P), cieniowej (U) i całkowitej (C) w dobach to

sP=(1.5573+u)2−γ224 n,sU=(1.0128−u)2−γ224 n,sC=(0.4678−u)2−γ224 n s_\mathrm{P} = \frac{\sqrt{(1.5573 + u)^2 - \gamma^2}}{24\,n}, \quad s_\mathrm{U} = \frac{\sqrt{(1.0128 - u)^2 - \gamma^2}}{24\,n}, \quad s_\mathrm{C} = \frac{\sqrt{(0.4678 - u)^2 - \gamma^2}}{24\,n}

Kontakty to P1,P4=tmax∓sPP_1, P_4 = t_\mathrm{max} \mp s_\mathrm{P}, U1,U4=tmax∓sUU_1, U_4 = t_\mathrm{max} \mp s_\mathrm{U} oraz U2,U3=tmax∓sCU_2, U_3 = t_\mathrm{max} \mp s_\mathrm{C}. Lokalną widoczność sprawdza się, próbkując co 5 minut wysokość Księżyca z refrakcją w trakcie fazy cieniowej, a przy zaćmieniu półcieniowym w trakcie fazy półcieniowej.

13. Zjawiska planetarne i zbliżenia

(EventScan.php.) Geometryczne pozycje geocentryczne z VSOP87, bez czasu biegu światła i aberracji, liczy się codziennie przez 375 dni. Kandydatów zawęża się potem pełnymi pozycjami pozornymi z rozdziału 5:

Zjawisko Warunek
Koniunkcja ze Słońcem λp−⊙=0\lambda_\mathrm{p} - \odot = 0
Koniunkcja dolna / górna koniunkcja Merkurego lub Wenus przy Δp<R⊙\Delta_\mathrm{p} < R_\odot / Δp>R⊙\Delta_\mathrm{p} > R_\odot
Opozycja λp−⊙=180∘\lambda_\mathrm{p} - \odot = 180^\circ (planety zewnętrzne)
Maksymalna elongacja (wsch./zach.) lokalne maksimum ψ\psi dla Merkurego i Wenus; wschodnia, gdy λp−⊙>0\lambda_\mathrm{p} - \odot > 0
Zbliżenie dwóch planet lokalne minimum odległości dd, d≤5∘d \le 5^\circ
Zbliżenie Księżyca do planety lokalne minimum dd (Księżyc co 2 h), d≤3∘d \le 3^\circ, najbliższe 30 dni

Miejsca zerowe zawęża się metodą regula falsi w wariancie Illinois:

c=af(b)−bf(a)f(b)−f(a) c = \frac{a f(b) - b f(a)}{f(b) - f(a)}

Gdy ten sam koniec przedziału zostaje zachowany dwa razy z rzędu, jego wartość funkcji dzieli się na pół. Iteracja kończy się, gdy przedział jest krótszy niż 10−510^{-5} doby.

Ekstrema zawęża się metodą złotego podziału wokół próbki tt (±1\pm 1 doba; ±2\pm 2 godziny dla Księżyca), ze współczynnikiem (5−1)/2(\sqrt5 - 1)/2 i tolerancją 10−410^{-4} doby. Różnice długości bierze się modulo 2π2\pi w przedziale (−π,π](-\pi, \pi].

14. Strefa czasowa ze współrzędnych

(TimeZoneLookup.php, port biblioteki tz-lookup.) Kula ziemska jest podzielona na siatkę 48 × 24 komórek, każda o boku 7.5°. Komórka zawiera dwuznakowy kod: albo bezpośrednio numer strefy, albo węzeł drzewa czwórkowego. Każdy węzeł dzieli się na 2 × 2 części, a położenie wewnątrz węzła, podwajane w każdym kroku, wybiera część, aż do liścia z numerem strefy. Liście zawierają nazwy stref IANA wyznaczone z danych timezone-boundary-builder. Na morzu są to strefy żeglarskie Etc/GMT±n. Przesunięcie względem UTC, skrót i informację o czasie letnim dla danej chwili podaje potem baza stref czasowych PHP.

15. Najbliższa miejscowość

(Places.php, dane GeoNames z paczki cities.json.) Około 171 tysięcy miejscowości jest podzielonych na kafle 10° × 10°. Dla punktu (φ,λ)(\varphi, \lambda) wczytuje się kafle pokrywające prostokąt ±30 km/111 km\pm 30\ \mathrm{km}/111\ \mathrm{km} w szerokości i ±30/(111cos⁡φ)\pm 30/(111\cos\varphi) w długości, a odległość liczy się wzorem haversine na kuli o promieniu 6371 km:

s=2Rarcsin⁡sin⁡2φ2−φ12+cos⁡φ1cos⁡φ2sin⁡2λ2−λ12 s = 2R\arcsin\sqrt{\sin^2\frac{\varphi_2 - \varphi_1}{2} + \cos\varphi_1\cos\varphi_2\sin^2\frac{\lambda_2 - \lambda_1}{2}}

Wynikiem jest najbliższa miejscowość w promieniu 30 km. Strona dopisuje odległość, gdy przekracza 3 km, a poza Polską także polską nazwę kraju z przeglądarkowego Intl.DisplayNames.