一般方法很简单:您的区域面积计算为外部轮廓面积减去孔面积。这解决了“漏洞”问题,因此我们可以忘记漏洞。
现在的问题是计算“广义多边形”的面积:边缘是直线段或弧线的伪多边形。
普通的鞋带公式会给你任何普通多边形的面积。但是由于我们正在处理“广义多边形”,由于弧边,该公式不能立即适用。
然而,鞋带公式背后的基本思想也可以适应这种情况。
鞋带公式基本上计算三角形的带符号面积的总和,三角形OAB由点O(0,0)和点A以及B所AB讨论的多边形的每条边构成。在这种情况下,面积的符号性意味着面积在OAB逆时针三角形时为正,否则为负。有关多边形面积计算如何工作的说明,请参见此处。
为了使这个公式适合您的情况,您必须找到一种方法来计算“广义三角形”的带符号面积:一个伪三角形OAB,其中OA和OB是直线段,而AB可以是弧。这是一个非常简单的问题,完全可以解决。
这基本上就是你需要做的所有事情。整个问题被简化为一组基本问题:计算上述“广义三角形”的有符号面积。