鞋带公式(高斯面积公式)通过坐标交叉相乘计算简单多边形面积。
定义
其中 是多边形顶点, 循环闭合。
原理
本质是格林定理的离散应用,将多边形分解为多个有向面积后累加。
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 | 地块面积计算 |
| 图形学 | 多边形处理 |
| 机器人 | 路径规划区域 |
| 竞赛编程 | 几何问题 |
注意事项
- 顶点必须按顺序排列
- 必须取绝对值
- 适用于任意简单多边形