计算简单多边形的面积

Calculating the area of a simple polygon

给定一个多边形P,我想计算多边形的面积。

我的解决方案: 找到一个三角剖分,然后将三角形的所有面积求和。

总时间复杂度:o(nlogn)。

有没有更好的解决方案?

不需要显式分解,使用鞋带公式。这很容易,而且复杂度为 O(n)。

https://en.wikipedia.org/wiki/Shoelace_formula


该方法推广到计算几何矩

https://en.wikipedia.org/wiki/Second_moment_of_area#Any_polygon