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

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

啥是鞋带公式(shoelace)

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

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

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

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

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

——以上来自维基百科。


长的很像鞋带

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

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

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

鞋带公式是这样子算的:

鞋带公式——多边形面积求和_第1张图片

S 三 角 形 = 0.5 ∗ ( ( x 1 ∗ y 2 + x 2 ∗ y 3 + x 3 ∗ y 1 ) − ( y 1 ∗ x 2 + y 2 ∗ x 3 + y 3 ∗ x 1 ) ) S三角形 = 0.5 * ((x1 * y2 + x2 * y3 + x3 * y1) - (y1 * x2 + y2 * x3 + y3* x1)) S=0.5((x1y2+x2y3+x3y1)(y1x2+y2x3+y3x1))

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

代进公式中:

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

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


终极公式

在这里插入图片描述
公式中约定: 当下标大于 n 时,
X n + 1 = X 1 , Y n + 1 = Y 1 。 Xn+1=X1, Yn+1=Y1。 Xn+1=X1,Yn+1=Y1

你可能感兴趣的:(随笔)