鞋带公式——多边形面积求和

个人博客:The Blog Of WaiterXiaoYY 欢迎来互相交流学习。

啥是鞋带公式(shoelace)

Shoelace公式,也叫高斯面积公式,是一种数学算法,可求确定区域的一个简单多边形的面积。

该多边形是由它们顶点描述笛卡尔坐标中的平面

用户交叉相乘相应的坐标以找到包围该多边形的区域,

并从周围的多边形中减去该区域以找到其中的多边形的区域。

之所以称为鞋带公式,是因为对构成多边形的坐标进行恒定的交叉乘积,就像系鞋带一样。

——以上来自维基百科。


长的很像鞋带

为什么叫做鞋带公式,这是因为在计算的过程很像鞋带一样缠绕着,

比如一个多边形(三角形),

三个顶点分别是 A:(x1, y1) , B:(x2, y2) , C:(x3, y3)

鞋带公式是这样子算的:

鞋带公式——多边形面积求和

S=0.5((x1y2+x2y3+x3y1)(y1x2+y2x3+y3x1)) S三角形 = 0.5 * ((x1 * y2 + x2 * y3 + x3 * y1) - (y1 * x2 + y2 * x3 + y3* x1))

我们代个数进去试试A:(0, 4) , B:(0, 0) , C:(3, 0)

代进公式中:

S=0.5((00+00+34)(40+03+00))=6 S三角形 = 0.5 * ((0 * 0 + 0 * 0 + 3 * 4) - (4 * 0 + 0 * 3 + 0 * 0)) = 6

在计算多边形面积的时候很方便。


终极公式

鞋带公式——多边形面积求和
公式中约定: 当下标大于 n 时,
Xn+1=X1,Yn+1=Y1 Xn+1=X1, Yn+1=Y1。