原创文章,作者过冷水,未经授权,禁止私自转载,转载请联系作者,如果您希望加入Matlab仿真秀官方交流群和资料下载可加群:927550334
过冷水最近遇到了这么一个问题,有一系列点组成了如上图所示的封闭图形,该如何求面积?
在过冷水印象中求面积=求积分,之前推送的案例太多了,数值计算——Matlab数值积分原理详讲、数值优化——三种复杂函数数值积分方法实例演示,甚至还有蒙特卡洛法应用,可是该问题不同于以往的是它不能用函数形式去表示啊!这可为难我胖虎了,在网上百度封闭MATLAB封闭图像的面积计算
有现成函数调用,于是就输入
轻松解决我的疑惑,之后有人问我这个求面积的方法靠谱吗?使用的是什么算法,我怎么知道使用什么算法,于是使用 open polyarea查看该函数的算法
好了!求面积就是使用这个长的公式来完成计算的,我们得到了计算面积的底层公式,可是还是看不懂啊!所以的依据算法来设计程序帮我我们理解,根据小学知识知道,欲求多边形的面积可以将多边形转换成多个三角形
所以就转化成求三角形的面积,然而已知三点该如何求三角形的坐标?过冷水当然知道一定可以求,关键是要尽可能的简单,有这么一个公式可以用:
在平面直角坐标系中A(x1,y1)、B(x2,y2)、C(x2,y2)构成的三角形面积公式为:
所以 :
观察公式S可以化简为
多边形面积就可以用该公式做计算
这就是一个完整的计算多边形面积的程序,逻辑性好的读者就会发现两个算面积的程序实际是一样的可以互换,算面积本来也不是很难,过冷水想和大家分享的是解决问题的思路,有时候编程问题其实的返回到数学问题,如果数学上你理解不好,那么好多程序就看不懂,让我们大家在学习数学的道路一起奔跑吧!
原创文章,作者过冷水,未经授权,禁止私自转载,转载请联系作者,如果您希望加入Matlab仿真秀官方交流群和资料下载可加群:927550334