看了一些方法网上的资料,也自己倒腾了一些想法。 然后看到这个大神的博客(《计算任意多边形的面积》),我就服气了。

我把代码转换为python:

# 计算任意多边形的面积,顶点按照顺时针或者逆时针方向排列
def compute_polygon_area(points):point_num = len(points)if(point_num < 3): return 0.0s = points[0][1] * (points[point_num-1][0] - points[1][0])#for i in range(point_num): # (int i = 1 i < point_num ++i):for i in range(1, point_num): # 有小伙伴发现一个bug,这里做了修改,但是没有测试,需要使用的亲请测试下,以免结果不正确。s += points[i][1] * (points[i-1][0] - points[(i+1)%point_num][0])return abs(s/2.0)if __name__ == '__main__':# polygon = [[0,0], [2,0],[2,2], [0,2]] #4.0polygon = [[3,3],[4,2],[6,1],[7,6],[9,7],[3,16],[0,3],[2,4],[1,5],[6,6]] #62.0# polygon = [[3,3],[4,2],[6,4],[7,6],[9,7],[3,9],[0,5],[2,4],[4,4]] #29.0print(compute_polygon_area(polygon))

做了基础验证, 没有问题,注意给出多边形顶点的顺序,建议逆时针方向依次输入。

参考:
《计算任意多边形的面积》

python计算任意多边形面积相关推荐

  1. vue+d3.js计算任意多边形面积

    效果图 代码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF ...

  2. 再说不会用python计算地球表面多边形面积,可不能了!(记录五种可行方法)

    由于地理投影导致导致每个像元实际地面面积不同,越靠近北极实际面积越小,越靠近赤道实际面积越大,如果不进行面积加权就简单平均,会导致温度较实际温度偏低. 直接使用卫星地图的计算面积功能就会遇到这样的问题 ...

  3. python计算多边形的面积并保留两位小数_计算任意多边形面积的Python实现

    最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, -, vn-1},则多边形的边为E={, , ,...,, }.要求输 ...

  4. 计算任意多边形面积的Python实现

    最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, -, vn-1},则多边形的边为E={<v0, v1>, ...

  5. python计算多边形的面积并保留两位小数_Python计算任意多边形面积算法

    多边形面积求解的方法很多,其中比较多见的就是增加一个点P,然后分别连接多边形各个定点与P点,然后计算每个三角形的符号面积(面积有正负之分),求和就可以计算出面积. 鉴于上面的方法,我们也可以用另外一种 ...

  6. python计算图形面积的方法_Python计算任意多边形面积算法

    多边形面积求解的方法很多,其中比较多见的就是增加一个点P,然后分别连接多边形各个定点与P点,然后计算每个三角形的符号面积(面积有正负之分),求和就可以计算出面积. 鉴于上面的方法,我们也可以用另外一种 ...

  7. 【几何】计算任意多边形面积

      给定一系列有序的线段(比如按顺序给定每个线段的左端点坐标),求这些线段围成的多边形的面积,公式为:   任意一个点与顺序相邻两点组成的三角形面积之和   分为凸多边形和凹多边形分别证明: 一.凸多 ...

  8. Java计算任意多边形面积

    任意多边形的面积可由任意一点与多边形上依次两点连线构成的三角形矢量面积求和得出. 矢量面积=三角形两边矢量的叉乘.![在这里插入图片描述](https://img-blog.csdnimg.cn/ad ...

  9. 凸多边形面积_C++计算任意多边形的面积

    任意多边形的面积计算_拾忆楓灵的博客-CSDN博客​blog.csdn.net 计算任意多边形的面积 - tenos - 博客园​www.cnblogs.com 完美解决计算3D空间任意多边形面积_S ...

最新文章

  1. python3入门(三)字典的使用
  2. 易宝典文章——玩转Office 365中的Exchange Online服务 之五 怎样利用PSl连接Exchange Online实现管理...
  3. 【300】◀▶ IDL - ENVI API
  4. matlab中fill函数的使用方法
  5. 新国货品牌数字营销系列报告丨探析鞋服行业数字营销一体化建设
  6. java 正则表达式语法_Java 正则表达式基础语法
  7. 开发文件服务器,易语言开发文件服务器
  8. java返回属性_java – 根据对象属性确定哪个枚举返回
  9. codeforces 153d(日期转换)特殊题目
  10. 2018黄河奖设计大赛获奖_宣布我们的freeCodeCamp 2018杰出贡献者奖获奖者
  11. RESTful API标准设计教程
  12. java io 字节流_Java之IO-字节流
  13. rust投递箱连接箱子_海门市围板箱定制围板箱内衬
  14. Word部分选项卡消失问题
  15. 【搜索】训练E - Crazy Robot
  16. C++入门:让计算机“开口说话”
  17. 本项目基于paddlex实现目标检测
  18. 树莓派4B系统烧录——Raspberry Pi Imager
  19. 网络中的中间商(CDN)
  20. latex 表格如何精细控制行高,行距,行与行之间的距离

热门文章

  1. Apollo Planning决策规划算法代码详细解析 (1):Scenario选择
  2. python新建word文档_使用Python 自动生成 Word 文档的教程
  3. 搭建go语言开发环境
  4. 2020笔记本选购推荐
  5. failed to accept an incoming connection: connection from 127.0.0.1
  6. 基于Scrapy的链家二手房爬虫
  7. 金融行业的VC风险投资,PE私募股权,LP有限合伙人,GP普通合伙人
  8. 【原创】【百度之星2017资格赛1003】度度熊与邪恶大魔王
  9. 利用随机森林对特征重要性进行评估 方法一
  10. linux怎样通过手机上网,Linux系统通过手机GPRS上网的设置教程