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π) sprowadza kąt do przedziału
[0,2π); 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=86400tunix+2440587.5,MJD=JD−2400000.5
Stulecia i tysiąclecia juliańskie od epoki J2000.0 (astronomia, Meeus 12.1, 22.1):
T=36525JDE−2451545.0,τ=10T
Czas dynamiczny.JDE=JD+ΔT/86400. Poprawka ΔT w sekundach zależy od roku dziesiętnego y
(astronomia AstroDeltaT, dane w app/data/deltat.php):
Zakres y
ΔT
y<−500
−20+32u2, u=(y−1820)/100
−500≤y<500
wielomian 6. stopnia od y/100 (Espenak–Meeus)
500≤y<1600
wielomian 6. stopnia od (y−1000)/100 (Espenak–Meeus)
1600≤y<1657
120−0.9808t−0.01532t2+t3/7129, t=y−1600
1657≤y<1973.1
interpolacja w historycznej tabeli rocznej
1973.1≤y<2023.1
interpolacja kwadratowa w miesięcznych wartościach IERS
2023.1≤y<2032
interpolacja w kwartalnej tabeli prognoz
2032≤y<2050
62.92+32.217t+55.89t2, t=(y−2000)/100
2050≤y<2150
−205.72+56.28u+32u2, u=(y−1820)/100
y≥2150
−20+32u2
Serwis przyjmuje y=2000+(JD−2451545)/365.25. Z JDE do JD wraca jednym krokiem tego samego wzoru.
Epoka juliańska:J=2000+(JDE−2451545)/365.25.
2. Czas gwiazdowy
Średni czas gwiazdowy w Greenwich według IAU 1982 (astronomia AstroSidereal, Meeus 12.2). Niech JD0 będzie
dniem juliańskim o poprzedzającej godzinie 0h UT, f ułamkiem doby, który od niej upłynął, a T0 wartością T
dla JD0:
Prawdziwy czas gwiazdowy dodaje równanie punktów równonocy Δψcosε (w sekundach czasu: kąt w
sekundach łuku dzielony przez 15). Czasy lokalne: LMST=GMST+λ/15∘ godzin oraz
LAST=GAST+λ/15∘, gdzie długość geograficzna λ jest dodatnia na wschód.
3. Nutacja i nachylenie ekliptyki
Argumenty podstawowe w stopniach (astronomia AstroNutation, Meeus 22):
Refrakcja (Observer.php, wzór Saemundssona, Meeus 16.4). Wzór daje refrakcję w minutach łuku dla wysokości
geometrycznej h w stopniach:
R=tan(h+h+5.1110.3)1.02
Wysokość pozorna to h+R dla h≥−1∘. Między −1° a −3° wartość R(−1∘) 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=2arcsinsin22δ2−δ1+cosδ1cosδ2sin22α2−α1
Tego samego wzoru używa się dla par współrzędnych ekliptycznych (λ,β) i horyzontalnych (A,h).
5. Planety i Słońce z teorii VSOP87
Szeregi VSOP87B (astronomia AstroPlanetPosition, Meeus 32). Heliocentryczna długość L, szerokość B
(ekliptyka J2000) i promień wodzący R (AU) mają postać
X=n=0∑5τni∑An,icos(Bn,i+Cn,iτ)
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 t to liczba stuleci juliańskich od J2000 do danej
chwili:
Czas biegu światła to τl=0.0057755183Δ doby (Meeus 33.3). Pozycję planety liczy się
ponownie dla chwili JDE−τl, po czym λ=atan2(y,x) oraz
β=atan2(z,x2+y2).
Aberracja (astronomia AstroApparent, Meeus 23.2). Tu κ=20.49552′′, ⊙ to prawdziwa długość
Słońca, e mimośród orbity Ziemi, a
ϖ=102.93735∘+1.71946∘T+0.00046∘T2 długość jej peryhelium:
Pozycja pozorna:λapp=λ+Δλ+ΔλFK5+Δψ
oraz βapp=β+Δβ+ΔβFK5, przeliczone na (α,δ) przy
prawdziwym nachyleniu ekliptyki ε.
Słońce (astronomia AstroSolar, Meeus 25.9, 25.10). Pozycja geocentryczna to odwrócona pozycja heliocentryczna
Ziemi, ⊙=L0+180∘, β⊙=−B0, z powyższą poprawką FK5. Długość pozorna dodaje nutację i
aberrację:
λapp=⊙−0.09033′′+Δψ−R020.4898′′
Równanie czasu (astronomia AstroEqTime, Meeus 28.1, 28.2):
E sprowadza się do przedziału (−180∘,180∘] i podaje w minutach (1∘=4 min).
Punkty podsłoneczny i podksiężycowy: szerokość =δ, długość =α−θGAST
sprowadzona do (−180∘,180∘].
6. Dane fizyczne planet
Kąt fazowy i oświetlona część tarczy (astronomia AstroIllum, Meeus 41.1, 41.2). Tu r to odległość
planety od Słońca, Δ od Ziemi, a R odległość Ziemi od Słońca:
cosi=2rΔr2+Δ2−R2,k=21+cosi
Jasność wizualna według Astronomical Almanac 1984 (Meeus 41), z i w stopniach:
Planeta
V
Merkury
−0.42+5log10(rΔ)+0.0380i−0.000273i2+0.000002i3
Wenus
−4.40+5log10(rΔ)+0.0009i+0.000239i2−0.00000065i3
Mars
−1.52+5log10(rΔ)+0.016i
Jowisz
−9.40+5log10(rΔ)+0.005i
Saturn
−8.88+5log10(rΔ)+0.044∣ΔU∣−2.60sin∣B∣+1.25sin2B
Uran
−7.19+5log10(rΔ)
Neptun
−6.87+5log10(rΔ)
Dla Saturna B to saturnocentryczna szerokość Ziemi względem płaszczyzny pierścieni, a ΔU (w stopniach)
różnica saturnocentrycznych długości Słońca i Ziemi (Meeus 45, astronomia AstroSaturnRing). Słońcu przypisano
V=−26.74.
Średnica kątowa (Meeus 55): półśrednica s=s0/Δ, gdzie s0 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 2s.
Elongacja:ψ 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π)<π.
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:
Długość pozorna dodaje nutację: λapp=λ+Δψ (Ephemeris.php).
Kąt fazowy i oświetlona część tarczy (SkyService.php, Meeus 48.2, 48.3, 48.1). Tu ψ to geocentryczna
elongacja Księżyca od Słońca, a R i Δ to odległości Słońca i Księżyca w km:
i=atan2(Rsinψ,Δ−Rcosψ),k=21+cosi
Kąt pozycyjny jasnego brzegu (Meeus 48.5), liczony od północy przez wschód:
Przeglądarka obraca rysunek fazy o χ−q, gdzie q to kąt paralaktyczny (Meeus 14.1). Dzięki temu na rysunku
zenit jest u góry:
q=atan2(sinH,tanφcosδ−sinδcosH)
Inne wielkości dla Księżyca:
Jasność: V=−12.73+0.026∣i∣+4⋅10−9i4, z i w stopniach.
Wiek: JDE minus JDE poprzedniego nowiu (rozdział 9).
Numer lunacji Browna: BLN=k+953, gdzie k to numer lunacji Meeusa poprzedniego nowiu.
Nazwa fazy wynika z E=pmod(λK−⊙,360∘):
Zakres E
Faza
<7∘ lub ≥353∘
nów
7∘–83∘
przybywający sierp
83∘–97∘
pierwsza kwadra
97∘–173∘
przybywający garb
173∘–187∘
pełnia
187∘–263∘
ubywający garb
263∘–277∘
ostatnia kwadra
277∘–353∘
ubywający sierp
8. Wschód, górowanie, zachód i zmierzch
Poszukiwanie obejmuje lokalną dobę kalendarzową [t0,t1) chwili odniesienia (23 lub 25 godzin w dniu zmiany
czasu) (SkyService.php).
Pozorne geocentryczne (α,δ,Δ) każdego ciała liczy się w węzłach co 3 godziny, od 3 godzin
przed t0 do 3 godzin po t1. Rektascensję „rozwija się” przez przejście 0/360°.
Między węzłami wartości interpoluje się 4-punktowym wzorem Lagrange'a z węzłów tj−1…tj+2 wokół
t:
f(t)=j∑fjm=j∏tj−tmt−tm
Wschód i zachód to miejsca zerowe funkcji g(t)=hgeo(t)−h0, gdzie hgeo to
geometryczna wysokość geocentryczna. Wysokości standardowe (Meeus 15):
Ciało lub zjawisko
h0
Słońce
−0.8333∘
Planety
−0.5667∘
Księżyc
0.7275π−0.5667∘, π=arcsin(6378.14/Δkm)
Zmierzch cywilny
−6∘
Zmierzch żeglarski
−12∘
Zmierzch astronomiczny
−18∘
Funkcję g 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ół.
Górowanie to miejsce zerowe kąta godzinnego H∈(−π,π] przechodzącego od wartości ujemnych do
dodatnich.
Długość dnia to tz−tw. Jeśli w danej dobie Słońce zachodzi przed wschodem, jest to
(tz−t0)+(t1−tw). 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 k, przy czym k=0 to nów z 6 stycznia 2000. Nów
odpowiada całkowitemu k, pierwsza kwadra k+0.25, pełnia k+0.5, a ostatnia kwadra k+0.75. Wtedy
T=k/1236.85, a średni moment fazy to
Serwis wywołuje te funkcje z y=2000+k/12.3685, co wybiera dokładnie lunację k (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)/1000. Iteruje się je, dopóki poprawka nie spadnie poniżej 5⋅10−6 doby:
JDE←JDE+58sin(λ0−λ⊙(JDE))
Tu λ0 wynosi 0°, 90°, 180° lub 270°, a λ⊙ to pozorna długość Słońca z VSOP87.
11. Perygeum i apogeum Księżyca
(astronomia AstroApsis, Meeus 50.) Dla perygeum k jest liczbą całkowitą, dla apogeum k+0.5,
T=k/1325.55, a średni moment to
Czas i równikowa paralaksa horyzontalna π dostają poprawki okresowe z tabel 50.A i 50.B Meeusa. Odległość to
Δ=6378.137km/sinπ. Serwis podaje y=1999.97+k/13.2555.
12. Zaćmienia
(astronomia AstroEclipse, Meeus 54.) Dla lunacji k (całkowitej dla zaćmień Słońca, k+0.5 dla zaćmień
Księżyca) mamy T=k/1236.85 oraz
Zaćmienie nie jest możliwe, gdy ∣sinF∣>0.36. W przeciwnym razie moment maksimum to średnia faza z
poprawkami z równania 54.1 Meeusa, przy F1=F−0.02665∘sinΩ, a dalej
γ to najmniejsza odległość osi cienia od środka Ziemi, a u 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. W przeciwnym razie:
Warunek
Typ
∣γ∣>0.9972, a cień nie dosięga Ziemi
częściowe
0.9972<∣γ∣<min(1.026,0.9972+∣u∣)
niecentralne całkowite (u<0) lub obrączkowe (u>0)
∣γ∣<0.9972, u<0
całkowite
∣γ∣<0.9972, u>0.0047
obrączkowe
∣γ∣<0.9972, 0≤u≤0.0047
hybrydowe, gdy u<0.004641−γ2, inaczej obrączkowe
Wielkość fazy zaćmienia częściowego (Meeus 54.2):
mag=0.5461+2u1.5433+u−∣γ∣
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):
Lokalny przebieg zaćmienia Słońca (Eclipses.php) wyznacza się numerycznie w oknie ±4 h od maksimum.
Topocentryczną odległość środków tarcz d liczy się ze współrzędnych horyzontalnych obu ciał. Półśrednice to
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.
Zaćmienia Księżyca (Meeus 54.3, 54.4). Promień półcienia to ρ=1.2848+u, a promień cienia
σ=0.7403−u. Wielkości fazy w cieniu (U) i w półcieniu (P) to:
magU=0.5451.0128−u−∣γ∣,magP=0.5451.5573+u−∣γ∣
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.04cosM′ (promienie Ziemi na godzinę) połowy czasów trwania faz półcieniowej (P), cieniowej (U) i całkowitej (C)
w dobach to
Kontakty to P1,P4=tmax∓sP, U1,U4=tmax∓sU oraz
U2,U3=tmax∓sC. 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
Koniunkcja dolna / górna
koniunkcja Merkurego lub Wenus przy Δp<R⊙ / Δp>R⊙
Opozycja
λp−⊙=180∘ (planety zewnętrzne)
Maksymalna elongacja (wsch./zach.)
lokalne maksimum ψ dla Merkurego i Wenus; wschodnia, gdy λp−⊙>0
Zbliżenie dwóch planet
lokalne minimum odległości d, d≤5∘
Zbliżenie Księżyca do planety
lokalne minimum d (Księżyc co 2 h), d≤3∘, najbliższe 30 dni
Miejsca zerowe zawęża się metodą regula falsi w wariancie Illinois:
c=f(b)−f(a)af(b)−bf(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−5 doby.
Ekstrema zawęża się metodą złotego podziału wokół próbki t (±1 doba; ±2 godziny dla Księżyca), ze
współczynnikiem (5−1)/2 i tolerancją 10−4 doby. Różnice długości bierze się modulo 2π w przedziale
(−π,π].
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 (φ,λ) wczytuje się kafle pokrywające prostokąt
±30km/111km w szerokości i ±30/(111cosφ) w długości, a odległość liczy się
wzorem haversine na kuli o promieniu 6371 km:
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.