【发布时间】:2013-12-18 15:23:16
【问题描述】:
此代码的最终目标是确保客户定义的形状实际上可以由我们的……呃,机器加工。为此,我们将指定的形状向内偏移钻头的半径,然后向外返回相同的量,从而将任何太瘦而无法实际放入钻头的部分四舍五入。对于多边形偏移,我们使用 Angus Johnson 的 Clipper 库,版本 5.1.6 (c++)。
但从图片中可以看出,这导致了一些意想不到的形状。在图片中,我使用ClipperLib::OffsetPolygon将原始形状(绿色,大部分被后面的绘图覆盖)偏移了-radius得到黄色形状,然后通过半径偏移得到红色形状。
理论上,对于链接中显示的情况,这应该会导致红色形状与绿色形状完全匹配。
导致上述结果发生的原因可能是什么?
【问题讨论】:
-
Angus 已向here 表示,他的 Clipper 库有支持论坛,他更喜欢使用它们。 (该帖子中的链接。)
-
Mike,首先我建议你下载最新版本的 Clipper(目前是 6.0.0),看看你是否仍然得到“缺口”。然后,如果你是,然后发布一个可以下载和测试的小数据样本。谢谢。 (此外,Clipper 的首选支持论坛已在 SourceForge 结束,在那里上传二进制文件进行调试更容易。)
-
在那边发布了一个链接到一些代码来重现它:sourceforge.net/p/polyclipping/discussion/1148419/thread/… 谢谢!
标签: c++ polygon offset clipperlib