我需要用一条线分割一个多边形,类似于这样:我如何用一条线分割一个多边形?,但我实际上并不关心由此产生的多边形,我只想知道线的每一边的区域。
我知道我可以做分割并计算每个结果部分的面积,但是我想知道如果我只需要面积,是否有更有效的算法。
例如,在下图中,黄色形状显示了一个原始多边形,穿过它的线显示了我想如何分割它。请注意,分割线总是在顶点之间,但不一定穿过整个多边形。(注意:切割线似乎穿过第三个顶点的事实只是一个意外:可能是这样,但不一定是这样)。
红色和绿色的形状显示了产生的分割,我感兴趣的是红色多边形的总面积(或者绿色,无论哪种方式)
如果你能确定分割的交点,那么你可以计算第一个的面积,并从总面积中减去它,以确定第二个的面积。