为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据坐标创建向量?

如何根据坐标创建向量?

慕容森 2024-01-15 15:19:45
我有一组经纬度格式的坐标和一组基于这些坐标的方向。我可以使用 ax.quivers 将它们绘制为箭头,但是我可以制作一个记录这些箭袋方向的向量集吗?ax.quiver(lons,lats,dx,dy,headwidth=0.8,headlength=0,scale=35,width=0.008,       transform=ccrs.PlateCarree())这里我有经度、纬度和 dx,dy 作为箭头方向。我可以将这些箭头提取为向量并创建一个数组吗?添加 - 我试图获取这些箭头的方向(以度为单位)。非常感谢!
查看完整描述

1 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

给定两个向量 dx 和 dy,您可以使用以下方法计算方向:


dir_rad = np.arctan2(dy, dx)

它以弧度为单位,所以如果你想将其转换为度数:


dir_deg = dir_rad*180/np.pi

此外,这将用+/-符号表示,指示方向是在上象限还是下象限。例如,-45°表示右下象限。如果您想要 0 到 360 度范围内的值,请使用:


dir_360deg = (dir_deg+360)%360

例子:


x = np.arange(-10,10)

y = np.arange(-10,10)

xx,yy = np.meshgrid(x,y)

plt.quiver(xx,yy)


dir_360deg = (360+np.arctan2(yy,xx)*180/np.pi)%360


plt.imshow(dir_360deg)

plt.colorbar()

https://img1.sycdn.imooc.com/65a4dcae00015a0a05800477.jpg

https://img1.sycdn.imooc.com/65a4dcb40001753205700480.jpg

查看完整回答
反对 回复 2024-01-15
  • 1 回答
  • 0 关注
  • 37 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信