向量的方向以下列格式给出:
- 风向:单位矢量在 X 轴上的投影
- 风向:单位矢量在 Y 轴上的投影
如何以度为单位获得方向?
原来风向是一个向量(x, y),需要找到坐标系之间的夹角,即 向量 (0, 0)?
def __projection2angle(self, x,y):
delta_x = x - 0
delta_y = y - 0
rad = math.atan2(delta_y, delta_x)
deg = rad * (180 / math.pi)
if deg<=0:
deg+=360
elif deg>=360:
deg-=360
return deg
我怀疑的东西。
一般来说,这似乎是真的,但我会缩短它:
甚至更漂亮的版本:
完整代码:https ://ideone.com/c9MQJa和https://ideone.com/sGXhgr
您可以使用以下方法找到两个向量之间的角度
dot product:fi = arccos(dot(vec1,vec2));相同的选项:
fi = arccos(vec1*vec2/|vec1|*|vec2|),其中
|val|是向量的长度。也就是说,如果您有一个向量
A并且需要找到它与 axis 之间的角度x,那么:fi = arccos(dot(A,x));