【问题标题】:Odd "notches" in Polygon when using OffsetPolygon from Angus Johnsons's Clipper lib使用 Angus Johnsons 的 Clipper 库中的 OffsetPolygon 时,Polygon 中出现奇怪的“缺口”
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 2020-08-30
    • 2021-03-31
    • 2013-05-05
    • 2015-01-18
    • 2013-12-20
    • 2015-04-08
    相关资源
    最近更新 更多