我有一个矢量列表。我想获得每个矢量的角度。
import numpy as np
v = np.array([[-3, 4],
[-2, -5],
[2, 6],
[3, -10]])
inv = np.arctan(v[:, 1] / v[:, 0])
degree = np.degrees(inv)
print(degree) # get [-53.13010235, 68.19859051, 71.56505118, -73.30075577]
# use arctan2
inv = np.arctan2(v[:, 1] / v[:, 0])
degree = np.degrees(inv)
print(degree) # get [ 126.86989765, -111.80140949, 71.56505118, -73.30075577]
但我想得到 [127, 248 , 71, 286] (0~360 度角)。 如何解决?
请您参考如下方法:
您可以使用模数来获取 0 - 360 范围内的所有角度。
import numpy as np
v = [
[-3, 4],
[-2, -5],
[2, 6],
[3, -10],
]
v = np.array(v)
inv = np.degrees(np.arctan2(*v.T[::-1])) % 360.0
print(inv)
输出
[ 126.86989765 248.19859051 71.56505118 286.69924423]
