加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 计算四边形的面积

发布时间:2020-12-16 21:54:26 所属栏目:Python 来源:网络整理
导读:我正在尝试创建一个计算简单四边形面积的计算器. 我知道每个四边形都可以分成两个三角形,无论如何我应该能够分成两部分来计算. 我能在数学中做到这一点,但我不知道如何将它实现到Python. 这是我的四边形课: class Quadrilateral(Shape): def __init__(self,

我正在尝试创建一个计算简单四边形面积的计算器.
我知道每个四边形都可以分成两个三角形,无论如何我应该能够分成两部分来计算.
我能在数学中做到这一点,但我不知道如何将它实现到Python.

这是我的四边形课:

class Quadrilateral(Shape):
   def __init__(self,name):
       # in clockwise order: angles[0],sides[0],angles[1],sides[1],...
       self.sides = [5] * 4
       self.angles = [90] * 4
       super().__init__(self,name)

现在我需要的是实现一个方法get_area()来计算我的四边形的面积,但我不知道如何.

这是我用纸和笔做的方法:

基本上我只需要知道两个角度和三个侧面就可以使用这种技术来计算面积,但我们不用担心.
现在,我知道所有角度和所有方面,我该如何计算面积?

最佳答案
只需在您拥有的两个列表中直接访问边和角度:

import math

area1 = 0.5 * self.sides[0] * self.sides[1] * math.sin(math.radians(self.angles[1]))
area2 = 0.5 * self.sides[2] * self.sides[3] * math.sin(math.radians(self.angles[3]))
area = area1 + area2

假设您的示例为sides = [3,5,4]和angles = [90,95,75,100],则该区域为:

>>> import math
>>> sides = [3,4]
>>> angles = [90,100]
>>> area1 = 0.5 * sides[0] * sides[1] * math.sin(math.radians(angles[1]))
>>> area2 = 0.5 * sides[2] * sides[3] * math.sin(math.radians(angles[3]))
>>> area1 + area2
17.31953776581017

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读