精华内容
下载资源
问答
  • python计算多边形面积

    2021-02-18 11:25:57
    本文提供一个简单的方法计算多边形面积,参考维基百科 实现代码: def polygon_area(polygon): """ compute polygon area polygon: list with shape [n, 2], n is the number of polygon points """ area = 0 ...

    本文提供一个简单的方法计算多边形面积,参考维基百科

    在这里插入图片描述

    实现代码:

    def polygon_area(polygon):
        """
        compute polygon area
        polygon: list with shape [n, 2], n is the number of polygon points
        """
        area = 0
        q = polygon[-1]
        for p in polygon:
            area += p[0] * q[1] - p[1] * q[0]
            q = p
        return area / 2.0
        
    polygon = np.array([[0, 0], [-1, 1], [0, 2], [1, 1]]).astype("float32")
    area = polygon_area(polygon)
    print(area)
    # 2.0
    
    展开全文
  • 最近业务上有一个需求,给出多边形面积。 Google了一下,发现国内论坛给的算法都是你抄我我抄你,也不验证一下是否正确, 从 博客园到csdncsdn 然后传播到国内各个角落。。。真是无力吐槽了。 直接纯英文Google...

    最近业务上有一个需求,给出多边形面积。

    Google了一下,发现国内论坛给的算法都是你抄我我抄你,也不验证一下是否正确,

    博客园到csdncsdn

    然后传播到国内各个角落。。。真是无力吐槽了。

    直接纯英文Google。发现了一个非常快捷的面积算法。直接附上链接 

    鞋带公式

     

    这个算法,算面积是不是就很简单了:

    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

    展开全文
  • https://www.cnblogs.com/zzcpy/p/10524348.html 维基百科-鞋带公式:... def polygon_area(points): """返回多边形面积 """ area = 0 q = points[-1] for p in points: area += p[0] * q[1] - p[1] * q[0]

    https://www.cnblogs.com/zzcpy/p/10524348.html

    维基百科-鞋带公式: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

    最后记得绝对值一下

     

    展开全文
  • 利用python计算任意多边形面积

    千次阅读 2019-05-24 18:10:08
    利用python计算任意多边形面积python代码. 将n边形分割为n-2个三角形,利用向量叉乘法计算三角形面积分别计算每个三角形面积后累加得多边形面积。 第一次写博客,见笑了。 python代码. import math import re ...

    利用python计算任意多边形面积

    将n边形分割为n-2个三角形,利用向量叉乘法计算三角形面积分别计算每个三角形面积后累加得多边形面积。
    第一次写博客,见笑了。

    python代码.

    import math
    import re
    VERTICES_FILE = "vertices.txt"
    
    class Point:
        def __init__(self, x, y):
            self.x = x
            self.y = y
    
        def move(self, x, y):
            self.x = x
            self.y = y
    
        def reset(self):
            self.x = 0
            self.y = 0
    
        def calculate_distance(self, other_point):
            """计算两点间距离"""
            distance = math.sqrt((self.x - other_point.x) ** 2 + (self.y - other_point.y) ** 2)
            return distance
    
        def __str__(self):
            return "({},{})".format(self.x, self.y)
    
    
    class Polygon:
        def __init__(self):
            self.vertices = []
            self.points2vertices()
    
        def points2vertices(self):
            """读取坐标文件,并转换为顶点对象"""
            with open(VERTICES_FILE, "r", encoding="utf-8") as fr:
                # 定义一个用于切割字符串的正则
                seq = re.compile(",")
                for d in fr.readlines():
                    # 读取出来的数据d为字符串,需切割后拼接为列表
                    point = seq.split(d.strip())
                    # 将列表转为坐标元组,测绘坐标与绘图坐标x,y互换
                    point = (float(point[1]), float(point[0]))
                    if isinstance(point, tuple):
                        point = Point(*point)
                        self.vertices.append(point)
        
        def perimeter(self):
            perimeter = 0
            points = self.vertices + [self.vertices[0]]
            for i in range(len(self.vertices)):
                perimeter += points[i].calculate_distance(points[i + 1])
            return perimeter
    
        def area(self):
            """给出任意一个多边形,其顶点坐标依次为(x0,y0),(x1,y1),(x2,y2),...,(xn,yn)(其中n=234,…),
            则其面积可表示为:
    
                         |Xi      Yi     |
            AREA = sigma |               | /2
            (i= 0,...n)  |X(i+1)  Y(i+1) |
    
            """
            n = len(self.vertices)
            if n < 3:
                return 0
            area = 0
            for i in range(n-2):
                # 以第一个坐标点为原点,将多边形分割为n-2个三角形,分别计算每个三角形面积后累加得多边形面积
                area += self.calculate_triangle_area(self.vertices[0], self.vertices[i+1], self.vertices[i+2])
            return abs(area)
    
        @staticmethod
        def calculate_triangle_area(point_a, point_b, point_c):
            """向量叉乘法计算三角形面积"""
            triangle_area = 0.5*((point_b.x - point_a.x)*(point_c.y - point_a.y) -
                                 (point_b.y - point_a.y)*(point_c.x - point_a.x))
            return triangle_area
    
    
    if __name__ == "__main__":
        polygon1 = Polygon()
        print("面积:{:.3f},周长:{:.3f}".format(polygon1.area(), polygon1.perimeter()))
    

    将以下坐标复制至记事本,保存为坐标文件 vertices.txt:
    18453.751,114760.926
    18449.551,114777.988
    18441.985,114777.334
    18442.764,114768.321
    18444.064,114766.257
    18444.309,114766.273
    18445.070,114756.212
    18448.973,114758.467

    [参考资料]
    1.相思明月楼-计算任意多边形的面积(已知各顶点的坐标)(https://blog.csdn.net/Adusts/article/details/80546770)

    展开全文
  • python计算任意多边形面积

    千次阅读 热门讨论 2019-03-05 18:02:57
    然后看到这个大神的博客(《计算任意多边形面积》),我就服气了。 我把代码转换为python: # 计算任意多边形面积,顶点按照顺时针或者逆时针方向排列 def compute_polygon_area(points): point_num = len(points...
  • Python计算任意多边形面积算法

    万次阅读 2013-02-20 17:22:07
    多边形面积求解的方法很多,其中比较多见的就是增加一个点P,然后分别连接多边形各个定点与P点,然后计算每个三角形的符号面积(面积有正负之分),求和就可以计算出面积。  鉴于上面的方法,我们也可以用...
  • n=eval(input()) s=eval(input()) import math area=(ns**2)/(4math.tan(math.pi/n)) print(“该正5边形的面积为:”,end="") print("{:.2f}".format(area))
  • 计算任意多边形面积Python实现

    千次阅读 2019-02-18 19:56:30
    最近需要实现一个计算非凸多边形面积的功能,需要输入是顺次排序的多边形顶点坐标,假设输入的多边形顶点是V={v0, v1, v2, …, vn-1},则多边形的边为E={<v0, v1>, <v1, v2>, <v2, v3>,...,<vn...
  • 图像处理中经常遇到,两个凹多边形交叉的面积计算python实现多边形交叉面积计算。实例
  • 如果pip直接安装失败,则采用手动安装的形式,需要浏览网站Python Extension Packages for Windows – Christoph Gohlke 寻找合适的版本进行下载,有32位和64位以及python2和3的不同版本 找到相对应的whl文件,以...
  • 计算多边形面积

    2016-11-08 13:03:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • 计算多边形(polygon)的面积其实很简单,假设是n边形,分割为n-2个三角形,积分别计算每个三角形面积后累加得多边形面积。 如下图所示: 那么如何计算三角形的面积呢? △ABC的面积是“向量AB”和“向量AC”两...
  • 多边形面积计算 Sholl 分析(使用 Gutierrez & Davies 的 MATLAB 脚本使用的方程计算,2007 年)- 显示为折线图,结果导出为 csv 文件 肖尔曲线下面积 - 使用梯形模型计算。 这包含在 Sholl 分析输出文件中。 先决...
  • Python | 任意多边形间的重叠面积计算

    千次阅读 热门讨论 2019-10-19 23:49:03
    简介 跟某人讨论一个排样问题。 他说,算法搜索速度很慢,每两个物体间的重叠面积计算时间若按1s来算,300个物体需要...给定的数据为多边形的各个顶点,为N*2的矩阵,N 为多边形的顶点个数,计算任意两个多边形重叠...
  • 一般有两种算法来计算平面上给定n个点的凸包:Graham扫描法(Graham’s scan),时间复杂度为O(nlgn);Jarvis步进法(Jarvis march),时间复杂度为O(nh),其中h为凸包顶点的个数。这两种算法都按逆时针方向输出凸包顶点...
  • Python求凸包及多边形面积

    千次阅读 2018-08-02 19:17:19
    一般有两种算法来计算平面上给定n个点的凸包:Graham扫描法(Graham’s scan),时间复杂度为O(nlgn);Jarvis步进法(Jarvis march),时间复杂度为O(nh),其中h为凸包顶点的个数。这两种算法都按逆时针方向输出凸包顶点...
  • 这篇文章主要介绍了Python计算...还有类似python计算任意多边形方法也不理想的情况下,自己探索出的一种效果还不错的计算多圈及不规则图形的面积的算法。 能较为准确的计算出不规则图形的面积 正文:算法的思想很简单,
  •  多边形外选取一点,连接各点构成三角形,计算求和...... 详细链接 http://blog.csdn.net/hemmingway/article/details/7814494  已知三角形三边长,求三角形面积------>海伦公式 链接:...
  • 这里有个前提是:你的经纬度点是依次相连接的点,不是...附python代码: import mathdef ConvertToRadian(input): return input * math.pi / 180; def CalculatePolygonArea0(data): area = 0; arr = data.split('...
  • 求复杂多边形面积的算法

    千次阅读 2014-04-15 17:03:31
    在skeinforge上看到一个计算复杂多边形面积python代码,它可看成是利用2+1维的叉积的z坐标的累积,非常巧妙,把它翻译成C++代码和大家共享,如有不足,欢迎指正。
  • 计算每个轮廓的弧长与面积,像素单位 多边形拟合 获取轮廓的多边形拟合结果 approxPolyDP 多边拟合函数 #contour #epsilon越小越折线越逼近真实形状 #close 是否为闭合区域 几何矩计算 原点矩 中心矩 图像的...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • opencv 对象测量 1、 opencv 中轮廓特征包括: ...cv2.HuMoments() 用于由中心矩计算Hu矩,同时配合函数cv2.contourArea()函数计算轮廓面积,和cv2.arcLength()来计算轮廓或曲线长度 *cv.approxPolyDP(多边形逼近
  • python编程

    2020-03-04 20:07:41
    问一下大神,怎样用python代码编写计算多边形面积 area=(ns²)/(4tan(π/n) )这是公式,n为边长,s为边数 感谢大神
  • 根据直线方程画直线是一个比较直观且容易实现的方法,那么如何...文章目录1 画线段2 计算多边形面积 1 画线段 参考博客 matplotlib画直线 from matplotlib.lines import Line2D import matplotlib.pyplot as ...
  • Python_作业02

    2019-08-12 09:45:00
    作业1 #1.写一个矩形,并计算面积和周长 ...写一个多边形计算周长和面积 作业5 5、2*2线性方程 作业6 6、求两个线段的交点 转载于:https://www.cnblogs.com/gaoyanan/p/...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

python计算多边形面积

python 订阅