我正在编写一段代码,用于处理遥控飞机喷洒农药的位置数据,并计算横跨的总表面积(不重复计算任何区域)。我无法弄清如何计算给定操作期间的区域面积。
根据以下表格,计算点覆盖的区域面积。
x,y
1,2
1,5
4,3
6,6
3,4
3,1
有什么想法吗?我浏览了Green定理,但是没有实际的概念可以编码。
感谢任何建议。
我不是很擅长数学,但这里的信息看起来可靠:http://www.wikihow.com/Calculate-the-Area-of-a-Polygon,而且在代码中应用也相当容易。
我不确定你是否真正需要的是“表面积”,而不是距离。看起来你想要计算该列表中一个点与下一个点之间的距离。如果是这样,只需使用距离公式即可。
如果飞机在这些点之间飞行时以恒定宽度的灰尘掉落,则该区域仅为这些点之间的距离乘以喷雾的宽度。
现在Python方便地拥有了一个库,实现了Lior提供的方法。https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html将为任何N维空间计算凸包,并为您计算面积/体积。请参见页面底部的示例和返回值属性以获取详细信息。