已知四边形四个顶点坐标,求面积

def calcArea(m1,m2,n1,n2,j1,j2,k1,k2):
q1 = Point(m1,m2)
q2 = Point(n1,n2)
q3 = Point(j1,j2)
q4 = Point(k1,k2)
d12 = calcDistance(q1.y, q1.x, q2.y, q2.x)
d23 = calcDistance(q2.y, q2.x, q3.y, q3.x)
d34 = calcDistance(q3.y, q3.x, q4.y, q4.x)
d41 = calcDistance(q4.y, q4.x, q1.y, q1.x)
d24 = calcDistance(q2.y, q2.x, q4.y, q4.x)
k1 = (d12+d41+d24)/2
k2 = (d23+d34+d24)/2
s1 = (k1*(k1-d12)(k1-d41)(k1-d24))**0.5
s2 = (k2*(k2-d23)(k2-d34)(k2-d24))**0.5
s = s1+s2
return s
将四边形分为两个三角形,根据海伦公式:s=(a+b+c)/2,则面积=√s(s-a)(s-b)(s-c)

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值