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简化了这一点,它现在也支持开放路径(折线)剪辑。)
这篇关于一种充气/放气(偏移、缓冲)折线的算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:一种充气/放气(偏移、缓冲)折线的算法
基础教程推荐
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- 设计字符串本地化的最佳方法 2022-01-01
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04
- C++,'if' 表达式中的变量声明 2021-01-01
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01