大家早上好!我必须使用python计算多边形的面积.这样做的公式是由(抱歉,不能发布图片..)
(x 0*y 1 - y 0*x 1)+(x 1*y 2 - y 1*x 2)+ ... +(x n-1*y 0 - y n-1*x 0)
2
这是我提出的代码.但是,它会导致(正确的)负值,我不知道为什么.简单地将面积时间乘以-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
Run Code Online (Sandbox Code Playgroud)