如何将任意角度x的值(以弧度表示)从区间]-infinite,无限[]转换为区间-pi,pi中的等效角
这种转换的例子,以程度表示:
>H 114380 deg => 20 degH 215f 216
发布于 2020-04-28 16:26:04
如果您可以访问至少3.7版的Python,那么math模块有一个函数math.remainder,它可以在单个函数调用中执行您想要的功能。只需使用math.remainder(my_angle, 2*math.pi) (或者为了好玩,使用math.tau而不是2 * math.pi)。
示例:
>>> from math import remainder, tau
>>> math.remainder(2.7, tau)
2.7
>>> math.remainder(3.7, tau) # note wraparound to 3.7 - 2*pi
-2.583185307179586
>>> math.remainder(1000.0, tau)
0.9735361584457891发布于 2020-04-28 11:32:06
输入域]-inf,inf[
a1 = np.array([45, 180, 181, -200, 380, -721])输出域]-180,180[ ]
a2 = np.rad2deg(np.arctan2(np.sin(np.deg2rad(a1)), np.cos(np.deg2rad(a1))))
print(a2) # [45., 180., -179., 160., 20., -1.]输出域]0,360[
a3 = [i if i>=0 else i+360 for i in a2]
print(a3) # [45., 180., 181., 160., 20., 359.]https://stackoverflow.com/questions/61479191
复制相似问题