前言
多边形面积的计算一般是将其剖分为三角形,利用海伦公式计算每个三角形的面积,然后将所有三角形的面积加起来。但是,这种方法程序实现起来比较复杂,因为无法预知多边形的形状,需要判断多边形的“凸凹”,才能避免重复计算。另外,计算边长的计算量也比较大。本文采用“鞋带公式” (Shoelace formula) 计算
,不管坐标原点怎样选取,只要顺序输入多边形每个顶点的坐标,按同样的顺序(顺时针或反时针)两两叉乘。这些叉乘的和的绝对值的一半就是该多边形面积。这个方法编程简单,计算量也比较小,优势明显。
计算公式
设O为原点,多边形由点 P 0 , P 1 , . . . , P n − 1 P_0, P_1, ..., P_{n-1} P0,P1,...,Pn−1连线围成,则面积S为:
S = 1 2 ∣ ∑ i = 0 n − 1 ( O P i ‾ × O P i + 1 ‾ ) ∣ , ( P n = P 0 ) S=\frac{1}{2}|\sum_{i=0}^{n-1}({\overline{OP_i}\times\overline{OP_{i+1}}})|, (P_n=P_0) S=21∣i=0∑n−1(OPi×OPi+1)∣,(