下面给出的是一个示例图像,其中“中心点”是(x0,y0)(车轮的中心)。其他点是轮辐的另一端。“中心点”与轮辐另一端之间的距离可能不同(轮辐长度不同)。这些点都在笛卡尔坐标系中。在
我要找出任何两个连续轮辐形成的最大角度。在这个图中,所有的角度都是一样的,但是假设其中任何一个辐条缺失,那么我们将把这个角度作为原点处的最大角度。在
我的看法: 我计算每个边相对于x轴创建的角度,一次一个减去上一个(即两个轮辐之间的角度)。我一直在跟踪最大的角度,每次更新它,如果我遇到一个比以前大的角度。我的方法有效,但只是想知道是否有有效的方法可以找到相同的方法。在
{1美元^
假设您需要两个辐条之间的角度,我建议您将数据点转换为极坐标/复坐标,这在
cmath
模块中很容易实现,并允许您执行如下操作(phase
只去掉关于中心的角度):我想我应该这样做:
这基本上就是你描述的解决方案。我只添加了最后一个和第一个之间的检查,以确保角度顺序正确。在
相关问题 更多 >
编程相关推荐