相关问题:
An algorithm for inflating/deflating (offsetting, buffering) polygons
不同之处在于我正在寻找一种方法将给定的折线膨胀成多边形:
我有以下输入:
输出应该是一个多边形,显示线条的宽度扩展方式。
我原本以为我可以使用Boost::Geometry::buffer,不幸的是它现在似乎只支持盒子。使用Boost::Geometry或GDAL/OGR的解决方案将得到优先考虑。
更新
我选择使用Clipper库及其OffsetPolyLines函数。一旦Boost Geometry与Polyline-Buffer支持一起发布,我将切换到Boost(因为其他所有东西都在我的软件中使用Boost运行)。
答案 0 :(得分:2)
Boost.Geometry扩展(来自Trunk)可以做到这一点。它还没有发布。它可以缓冲多边形,多边形,点和多种几何形状。您可以指定尖角(斜角)或圆角。它还不完美,但上面的示例中的行不应该出现任何问题。
发布的版本(1.54)还没有这个,而且下一个版本还没有它。所以现在你必须使用Trunk(来自SVN)
答案 1 :(得分:2)
据我所知,OP更倾向于使用Boost :: Geometry或GDAL / OGR中的解决方案,但是,如果其他人遵循此主题,我的Clipper library也可以进行折线偏移。 (即将发布的version 6已经在SourceForge存储库中进行了简化,现在它也支持开放路径(折线)剪切。)