使用Angus Johnsons的Clipper lib中的OffsetPolygon时,Polygon中出现奇怪的"凹槽"

Mik*_*e M 6 c++ polygon offset clipperlib

在此输入图像描述

该代码的最终目标是确保客户定义的形状实际上可以由我们的......呃机器加工.要做到这一点,我们将指定的形状向内偏移到钻头的半径,然后向外向外偏移相同的量,从而将任何太小的部分弄圆,以实际适合钻头.对于多边形偏移,我们使用的是Angus Johnson的Clipper库,版本5.1.6(c ++).

但是从图中可以看出,这导致了一些意想不到的形状.在图片中,我使用-radius偏移原始形状(绿色,大部分被后面的绘图覆盖),ClipperLib::OffsetPolygon以获得黄色形状,然后偏移半径以获得红色形状.

理论上,对于链接中显示的情况,这应该导致红色形状完全匹配绿色形状.

如果出现上述结果可能会出现什么问题?

Tim*_*nen 3

我也有这些工件,在我的例子中,它是在每次偏移操作之前通过 CleanPolygons() 解决的。该问题是由于微自相交和/或重复点造成的,可以使用上述清洁功能来解决。