使用boost从minkowski sum的结果中提取非凸壳

时间:2013-11-19 07:13:04

标签: c++ boost polygon convex-hull boost-polygon

http://postimg.org/image/sgl1q3vf5/ http://postimg.org/image/787d8ogy9/

如上图所示,我试图计算折线和圆的minkowski和,并且得到的形状覆盖了我想要生成的多边形的区域。我使用boost中的示例代码来实现minkowski总和。 我的问题是什么是提取minkowski总和结果(边界)的非凸壳(缺乏更好的术语)的一些有效方法,谢谢。

2 个答案:

答案 0 :(得分:0)

要提取非凸包,你必须实现Alpha Shapes,我现在正在为我的项目实现算法,不幸的是,这并不容易。

自己实现它的另一种方法是使用CGAL,它有一个Alpha Shapes实现(虽然该库的那部分是GPL)。

答案 1 :(得分:0)

如果有任何帮助,我最近将Minkowski总和添加到我的Clipper库中: http://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Functions/MinkowskiSum.htm

enter image description here