你如何计算一系列随机点的面积?

时间:2010-08-30 19:29:13

标签: python math area rc redgreen

所以我正在编写一段代码来获取RC平面裁剪器的位置数据并计算横向的总表面积(不重复计算任何区域)。我无法弄清楚如何计算给定操作期间的面积。

鉴于以下表格计算积分所涵盖的面积。

x,y
1,2
1,5
4,3
6,6
3,4
3,1

任何想法?我浏览了格林斯定理,但我没有一个实用的概念来编码。

感谢您的任何建议

6 个答案:

答案 0 :(得分:8)

  1. 从给定点构建convex hull

    算法描述为here

    See a very nice python demo + src

  2. 计算其面积

    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对区域进行三角测量,然后对得到的三角形的面积求和。