鞋带公式(高斯面积公式)通过坐标交叉相乘计算简单多边形面积。

定义

其中 是多边形顶点, 循环闭合。

原理

本质是格林定理的离散应用,将多边形分解为多个有向面积后累加。

Python 实现

def shoelace_area(vertices):
    n = len(vertices)
    area = 0.0
    for i in range(n):
        j = (i + 1) % n
        area += vertices[i][0] * vertices[j][1]
        area -= vertices[j][0] * vertices[i][1]
    return abs(area) / 2.0
 
polygon = [(2,4), (3,-8), (-7,2), (8,10)]
print(shoelace_area(polygon))  # 76.0

应用场景

领域应用
GIS地块面积计算
图形学多边形处理
机器人路径规划区域
竞赛编程几何问题

注意事项

  • 顶点必须按顺序排列
  • 必须取绝对值
  • 适用于任意简单多边形