Autorem poniższego opracowania jest dr Piotr A. Dybczyński z Instytutu Obserwatorium Astronomiczne UAM w Poznaniu.
Transformacje między astronomicznymi układami współrzędnych
Rysunek 1
Na Rysunku 1 mamy zdefiniowane trzy operatory obrotu: `R_x()`, `R_y()` oraz `R_z()`. Wszystkie transformacje, o których mowa w tym materiale, realizujemy poprzez obroty lub ciągi obrotów z użyciem tych operatorów.
Mając dane jakieś kątowe współrzędne sferyczne, np. `(u, v)`, gdzie `u in <0^circ, 360^circ)` oraz `v in <-90^circ, +90^circ>` wyliczamy (po przeliczeniu kątów na radiany!) składowe wersora:
`x=cos u cos v`
`y=sin u cos v`
`z=sin v`
Taki wersor, traktowany jako wektor kolumnowy `[[x],[y],[z]]`, oznaczymy jako `hat r_{u,v}`. Będziemy na niego działać operatorami obrotu (czyli mnożyć lewostronnie wersor - raz lub kolejno kilka razy - przez odpowiednie macierze obrotu) uzyskując nowy wersor, z którego będziemy wyliczali współrzędne sferyczne w nowym układzie ze wzorów:
`v="asin"(z)`
`u= "atan2"(y,x)`
Funkcje asin i atan2 to nazwy bibliotecznych funkcji matematycznych języka C, realizujących arcsin() oraz dwuargumentowy arctan() wyliczający arcus tangens od razu we właściwej ćwiartce. Kąt `v` otrzymamy od razu w prawidłowym przedziale `<-pi/2,+pi/2>`, natomiast kąt `u` otrzymamy w przedziale `<-pi,+pi>` i trzeba go przenieść do przedziału `<0, 2pi)` dodając `2 pi` gdy kąt `u` będzie ujemny.
Transformacje między układami: równikowym równonocnym `(alpha,delta)` a ekliptycznym `(lambda,beta)`:
`hat r_{lambda,beta} = R_x(epsilon) hat r_{alpha,delta}`
`hat r_{alpha,delta} = R_x(-epsilon) hat r_{lambda,beta}`
gdzie `epsilon` jest nachyleniem ekliptyki do równika niebieskiego. Proszę używać wartości dla epoki J2000: `epsilon_{"J2000"}` = 23° 26' 21.448" .
Transformacje między układami: równikowym godzinnym `(t,delta)` a horyzontalnym `(A,h)` :
`hat r_{t,delta} = R_y(varphi-90^circ) R_z(180^circ) hat r_{A,h}`
`hat r_{A,h} = R_z(-180^circ) R_y(90^circ - varphi) hat r_{t,delta}`
gdzie `varphi` to astronomiczna szerokość geograficzna obserwatora.
Transformacje między układami: równikowym równonocnym `(alpha,delta)` a galaktycznym `(l,b)` :
Układ współrzędnych galaktycznych zdefiniowany jest przez podanie współrzędnych równikowych równonocnych północnego bieguna Galaktyki `alpha_o` i `delta_o` oraz kąta pozycyjnego północnego bieguna świata w układzie galaktycznym, `theta` (por. np. wykład prof. T. Jopka).
Proszę używać następujących wartości tych kątów:
`alpha_o` = 12h51m26.27549s ,
`delta_o` = 27°07'42.7043" ,
`theta` = 122°55'54.9069" ,
a transformacje mają postać:
`hat r_{l,b} = R_z(90^circ-theta) R_x(90^circ-delta_o) R_z(90^circ+alpha_o) hat r_{alpha,delta}`
`hat r_{alpha,delta} = R_z(270^circ-alpha_o) R_x(270^circ+delta_o) R_z(270^circ+theta) hat r_{l,b}`
Transformacje między układami: równikowym równonocnym `(alpha,delta)` a równikowym godzinnym `(t,delta)` :
Transformacja ta wymaga pewnego dodatkowego zabiegu, gdyż oprócz obrotu wymaga przejścia z układu lewoskrętnego na prawoskrętny (lub odwrotnie).
Idąc od `(t,delta)` do `(alpha,delta)` postępujemy tak:
mając dane jakieś współrzędne równikowe godzinne `(t,delta)` wyliczamy troszkę inaczej składowe wersora:
`x=cos u cos v`
`y=color(red){-sin u cos v}`
`z=sin v`
a następnie stosujemy do tego wersora transformację:
`hat r_{alpha,delta} = R_z(-s) hat r_{t,delta}`
gdzie `s` jest miejscowym czasem gwiazdowym.
Transformacja odwrotna:
`hat r_{t,delta} = R_z(s) hat r_{alpha,delta}`
i w tak otrzymanym wersorze zmieniamy znak składowej `y`.