一种充气/放气(偏移、缓冲)折线的算法

An algorithm for inflating/deflating (offsetting, buffering) polylines(一种充气/放气(偏移、缓冲)折线的算法)
本文介绍了一种充气/放气(偏移、缓冲)折线的算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

相关问题:
An algorithm for inflating/deflating (offsetting, buffering) polygons

不同之处在于,我在寻找一种将给定折线膨胀为多边形的方法:

我得到了以下输入:

  • 形成多段线的二维点列表(草图中为亮绿色)
  • 线条宽度

输出应为显示按宽度扩展的线条外观的多边形。

我原本以为我可以使用Boost::Geometry::buffer来解决这个问题,但不幸的是,目前它似乎只支持Box。最好使用Boost::Geometry或GDAL/OGR解决方案。

更新:
我选择使用Clipper库及其OffsetPolyLines函数。一旦发布了支持折线缓冲区的Boost几何图形,我就会切换到Boost(因为在我的软件中其他一切都是使用Boost运行的)。

推荐答案

我知道OP更喜欢Boost::Geomety或GDAL/OGR中的解决方案,但是,如果其他人也在关注这个线程,我的Clipper library也可以进行折线偏移。(SourceForge存储库中即将发布的version 6简化了这一点,它现在也支持开放路径(折线)剪辑。)

这篇关于一种充气/放气(偏移、缓冲)折线的算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Boost module machine type #39;X86#39; conflicts with target machine type #39;x64#39;(Boost模块计算机类型#39;x86#39;与目标计算机类型#39;x64#39;)
Trouble running LLVM examples(运行LLVM示例时出现问题)
Linker error while linking some windows APIs(链接某些Windows API时出现链接器错误)
Python ctypes, C++ object destruction(Python ctype,C++对象销毁)
DllGetClassObject return amp;quot;No such interface supportedamp;quot; while CoCreateInstance can find it successful(DllGetClassObject返回amp;不支持这样的接口,而CoCreateInstance发现它成功了)
Is static_castamp;lt;doubleamp;gt;(std::nanf(amp;quot;amp;quot;)) well defined?(Static_castamp;lt;doubleamp;gt;(std::nanf(amp;quot;amp;quot;))是否定义良好?)