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