Healpy:旋转函数给出不同的结果
Healpy: Rotator function gives different results
我正在使用以下脚本来计算银河坐标(以度为单位)到天体坐标的银河中心 (GC) 位置:
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
首先,天体坐标和银河坐标中的数字都是错误的。有可能我使用的函数有误(我希望如此),或者函数本身有问题。有人知道出了什么问题吗?
其次:我好像把弧度数取回来了,对吗?
deg
仅指 rot
中的角度,而不是 Rotator
本身。 Rotator
需要 theta
(纬度)和 phi
(经度)以弧度表示,请参阅:
import healpy as hp
import numpy as np
r = hp.Rotator(coord = ['G', 'C'])
ri = hp.Rotator(coord = ['C', 'G'])
gz, ga = np.pi/2, 0. # position of GC
gz_e, ga_e = r(gz, ga)
print("Galactic center in Celestial Coordinates")
print(gz_e, ga_e)
zg, ag = ri(gz_e, ga_e)
print("Back to galactic coordinates")
print(zg, ag)
输出:
Galactic center in Celestial Coordinates
2.07582709512 -1.63354890767
Back to galactic coordinates
1.57079632679 -1.11022302489e-16
我正在使用以下脚本来计算银河坐标(以度为单位)到天体坐标的银河中心 (GC) 位置:
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
首先,天体坐标和银河坐标中的数字都是错误的。有可能我使用的函数有误(我希望如此),或者函数本身有问题。有人知道出了什么问题吗?
其次:我好像把弧度数取回来了,对吗?
deg
仅指 rot
中的角度,而不是 Rotator
本身。 Rotator
需要 theta
(纬度)和 phi
(经度)以弧度表示,请参阅:
import healpy as hp
import numpy as np
r = hp.Rotator(coord = ['G', 'C'])
ri = hp.Rotator(coord = ['C', 'G'])
gz, ga = np.pi/2, 0. # position of GC
gz_e, ga_e = r(gz, ga)
print("Galactic center in Celestial Coordinates")
print(gz_e, ga_e)
zg, ag = ri(gz_e, ga_e)
print("Back to galactic coordinates")
print(zg, ag)
输出:
Galactic center in Celestial Coordinates
2.07582709512 -1.63354890767
Back to galactic coordinates
1.57079632679 -1.11022302489e-16