Я использую следующий скрипт для того, чтобы вычислить галактической центр (GC) положение в галактических координатах (в градусах) к небесным координатам:Healpy: функция ротатор дает разные результаты
import healpy as hp
r = hp.Rotator(coord = ['G', 'C'], deg=True)
ri = hp.Rotator(coord = ['C', 'G'], deg=True)
gz, ga = 0., 0. # position of GC
gz_e, ga_e = r(gz, ga)
print gz_e, ga_e
zg, ag = ri(gz_e, ga_e)
print zg, ag
Таковы результаты Я получаю:
1.09730865695 -2.91715324734 # celestial
0.0 -1.57079632679 # back to galactical
Прежде всего, цифры неверны в небесной, а также в галактической системе координат. Есть вероятность, что я неправильно использую функцию (надеюсь), или что-то не так с самой функцией. Кто-нибудь знает, что происходит не так?
Во-вторых: кажется, что я получу цифры в радиане, верно?
вы можете попробовать использовать все в радианах и конвертировать в конце? 'healpy' использует colatitude, поэтому центр находится под углом 90 градусов. –
Немного запутанно, что значение по умолчанию deg равно True. Я установил его в False и установил gz, ga = np.pi/2., 0. Снова первая координата, по-видимому, вычисляется правильно (gz_e и zg), но вторая по-прежнему неправа (ga_e & ag): gz_e = 2.07582709512, ga_e = -1.63354890767 , zg = 1.57079632679, ag = 1.11022302489e-16 (почти очень близко к правильному значению). – user4050567