在Python中查找多边形面积的程序

在Python中查找多边形面积的程序

假设我们有一个有序点列表,表示在2D平面上的简单多边形的端点。我们必须找到此多边形的面积。

因此,如果输入为points = [(0,0),(0,5),(3,5),(3,0)],则输出将为15。

要解决这个问题,我们将遵循以下步骤−

  • 定义函数getInfo()。 这将获取x1,y1,x2,y2
  • 返回x1 * y2 – y1 * x2
  • 从主方法开始,执行以下操作
  • N:= points的大小
  • (firstx,firsty):= points [0]
  • (prevx,prevy):=(firstx,firsty)
  • res:= 0
  • 对于i在范围从1到N-1中,执行
    • (nextx,nexty):= points [i]
    • res:= res + getinfo(prevx,prevy,nextx,nexty)
    • prevx:= nextx
    • prevy:= nexty
  • res:= res + getInfo(prevx,prevy,firstx,firsty)
  • 返回| res | / 2.0

实例

让我们看以下实现,以更好地理解−

def getInfo(x1, y1, x2, y2):
   return x1 * y2  - y1 * x2

def solve(points):
   N = len(points)
   firstx, firsty = points [0]
   prevx, prevy = firstx,firsty
   res = 0

   for i in range(1,N):
      nextx,nexty = points [i]
      res = res + getinfo(prevx,prevy,nextx,nexty)
      prevx = nextx
      prevy = nexty
   res = res + getInfo(prevx, prevy, firstx, firsty)
   返回abs(res)/ 2.0

points = [(0,0),(0,5),(3,5),(3,0)]
print(solve(points))

输入

[(0,0),(0,5),(3,5),(3,0)] 

输出

15.0 

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程