最近业务上有一个需求, 给出多边形面积.
Google 了一下, 发现国内论坛给的算法都是你抄我我抄你, 也不验证一下是否正确,
从 博客园到 csdn
然后传播到国内各个角落... 真是无力吐槽了.
直接纯英文 Google. 发现了一个非常快捷的面积算法. 直接附上链接
鞋带公式 https://en.wikipedia.org/wiki/Shoelace_formula
这个算法, 算面积是不是就很简单了:
- def polygon_area(points):
- """ 返回多边形面积
- """
- area = 0
- q = points[-1]
- for p in points:
- area += p[0] * q[1] - p[1] * q[0]
- q = p
- return area / 2
来源: https://www.cnblogs.com/zzcpy/p/10524348.html