我有两个来源的icrs坐标(SkyCoord)。使用astropy directive_offset_by()方法,我找到了它们之间的位置角和间距。
所以,当我把这个位置角和间隔加到第一个Skycoord时,我应该得到第二个Skycoord,我做到了。
但是当我试图从第二个来源获取第一个SkyCoord时,我得到了不同的结果。
间隔应相同,但位置角应旋转180度,对吗?
我错过了一些明显的东西,但看不到什么。
我在下面举了一个最低限度的工作示例
Alpheratz = SkyCoord.from_name('Alpheratz')
Peg = SkyCoord.from_name("Psi Pegasi")
Pos_ang = Alpheratz.position_angle(Peg)
Sep = Alpheratz.separation(Peg)
print("Pos_ang:",Pos_ang,"Sep:", Sep)
Peg_from_A = Alpheratz.directional_offset_by(position_angle = Pos_ang, separation = Sep)
Alphe_back_from_Peg = Peg_from_A.directional_offset_by(position_angle = Pos_ang - 180*u.deg, separation = Sep)
print("Peg from name:",Peg,"\nPeg from A:", Peg_from_A)
print("Alphe from Name:", Alpheratz, "\nAlphe back from P from A", Alphe_back_from_Peg)
我理解这个问题,我不认为反角应该是180度,因为这些位置在一个球体上,从一个点到另一个点的位置角由两点之间的大圆路径定义
我发现这是在两极附近最容易想象的。想象两个点,p1在(0,89)处,p2和(45,89)处,都在磁极附近相同的磁偏角处,但在RA中相隔45度
从p1到p2的pos角度约为67度,但从p2到p1的pos角度约为292度,这与180度相差不大。这对我来说是很有意义的,当我描绘球体时,这些点靠近极点
相关问题 更多 >
编程相关推荐