python计算梯形面积_Python - 任意多边形面积计算

本文介绍了使用Python计算多边形面积的鞋带公式,该公式通过对每个顶点向x轴作垂线,计算边与坐标轴构成的梯形面积矢量和来求解。示例包括计算曲线与坐标轴围成的区域面积以及detectron2中mask的面积计算。
摘要由CSDN通过智能技术生成

发现一个很有意思且有用的多边形面积计算方式 - 鞋带公式.

b1f95fc8a46e6d66.jpg

鞋带公式的表达式为:

c01cda093e07474e.png

可以理解为,是把每个顶点向x轴做垂线,每个边和坐标轴构成的梯形面积矢量和,结果就是多边形面积.

也可理解为用最大矩形的面积减去各个三角形面积得到中间的多边形面积.

1. 鞋带公式实现def polygon_area(x,y):

return 0.5*np.abs(np.dot(x,np.roll(y,1))-np.dot(y,np.roll(x,1)))

2. 示例1 - 计算曲线与坐标轴的面积import numpy as np

import matplotlib.pyplot as plt

from numpy import trapz

x = np.arange(0,1,0.001)

y = np.sqrt(1-x**2)

#

plt.plot(x, y)

plt.show()

#

area_value = polygon_area(np.append(x, 0), np.append(y, 0))

3. 示例2 - detectron2 mask 面积def area(self):

"""

Computes area of the ma

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值