我正在尝试实现一种算法来偏移this paper之后的复杂多边形,但是当我试图计算多边形的不同子多边形的绕组数时,我陷入困境。 (有关算法的说明以及图11.(c)和12.(c)),请参阅4.1。
#Edit:有关该算法的更多细节。
目标是将多边形(包括非凸出的)偏移(即膨胀/收缩)一定值。粗略的程序是:
1)通过偏移值将多边形的每个边缘偏向边缘的法线
2)根据一些规则加入偏移边缘。我们现在有一个复杂的多边形,可能有交叉点
3)那是我坚持的阶段:多边形中的交叉点在大的多边形内创建较小的多边形,我需要找到那些较小的多边形并计算它们的绕组数,可能是通过在内部找到一个点并计算这一点的匝数。
4)要获得膨胀的多边形,请将带有正匝数的子多边形连接起来
#endEdit
我想我可以在图中找到循环以获得不同的多边形,然后实现一个算法来找到凹多边形内的一个点,但这非常复杂,而且事实上他们没有详细说明这一点。让我相信我错过了一些相对明显的东西。
非常感谢任何想法,谢谢。