求任意多边形面积(凹多边形和凸多边形)

遇到问题:已知多边形的各个左边点,要求多边形的面积

然后我搜索了下看到这篇文章:https://blog.csdn.net/tianyuhang123/article/details/56094559

这个人说的不多,但是简单明了:

首先已知各定点的坐标分别为(x1,y1),(x2,y2),(x3,y3)。。。,(Xn,Yn)

则该多边形的面积公式为

s=1/2*[(x1*y2-x2*y1)+(x2*y3-x3*y2)+...... +(Xk*Yk+1-Xk+1*Yk)+...+(Xn*y1-x1*Yn) ]

这个面积公式可能算出来是正的,也有可能是负的,所以要加绝对值。

最后的面积为:s=abs(s)。

他还附上了C++的代码,有需要的可以看下。

我以为这是算凸多边形面积的公式,心想能不能也有算凹多边形面积的公式。然后我搜到了这篇文章:

http://www.cnblogs.com/TenosDoIt/p/4047211.html

这个人较详细的说明了上面公式也是可以应用于凹多边形的。

在搜索过程中,还发现了另外一种方法:皮克公式。

https://zh.wikipedia.org/wiki/%E7%9A%AE%E5%85%8B%E5%AE%9A%E7%90%86

这个方法也可以求任意多边形面积。不过有限制条件,而且需要栅格的那种。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值