因此,我正在编写一段代码来获取 RC 平面作物除尘器的位置数据并计算横向的总表面积(不重复计算任何面积)。我无法弄清楚如何计算给定操作期间的面积。
给定下表计算点覆盖的面积。
x,y
1,2
1,5
4,3
6,6
3,4
3,1
有任何想法吗?我浏览了 Greens Theorem,但我没有一个实用的编码概念。
感谢您的任何建议
比我更数学的人可能需要在这里验证信息。但它看起来是合法的:http: //www.wikihow.com/Calculate-the-Area-of-a-Polygon并且相当容易在代码中应用。
我不完全确定您正在寻找“表面区域”,就像您正在寻找距离一样。似乎您想计算该列表的一个点与下一个点之间的距离。如果是这种情况,只需使用距离公式。
如果飞机在这些点之间飞行时会掉落恒定宽度的灰尘,那么面积就是这些点之间的距离乘以喷雾的宽度。
如果你的点保证在一个整数网格上——就像在你的例子中一样——(而且你真的在寻找封闭区域)Pick's Theorem会有帮助吗?
您必须将复杂多边形大致划分为标准多边形(三角形、矩形等),然后找到所有这些多边形的面积。这就像常规积分一样(唯一的区别是您还没有找到一个公式来近似您的数据)。
以上几点是当您假设您正在用您的数据形成一个封闭的多边形时。
使用QHull对区域进行三角剖分,然后将所得三角形的面积相加。