早上好! 我必须使用python来计算多边形的面积。 做到这一点的公式由(对不起,不能发布的图片的又一..)给出Python - 不规则多边形区域会导致负值?
(X * Y - ý * X )+(X * Y - ý * X )+ ... +(X n-1个 * Y - ý n-1个 * X )
这是我想出了的代码。然而,它会导致(正确)负值,我不知道为什么。 简单地乘以面积时间-0.5还是有我的代码有问题是有效的? 任何帮助非常感谢!
polygon = [[0,0],[-1,5],[2,3],[1,5],[3,6],[4,5],[5,3],[8,-2],[4,-4],[2,-5]]
area = 0.0
n = len(polygon)
for i in range(n):
i1 = (i+1)%n
area += polygon[i][0]*polygon[i1][1] - polygon[i1][0]*polygon[i][1]
area *= 0.5
print 'area = ', area
我想你会发现结果的标志只是取决于你是顺时针还是逆时针旋转点。所以,只要拿出结果的abs(),你就会好起来的。 – Duncan