问题标签 [boost-polygon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
781 浏览

boost - 如何将大量多边形与 Boost Polygon 合并?

我正在寻找一种方法,使用 Boost Polygon 从文件中读取大量多边形,并将生成的合并或联合输出到结果文件。在这种情况下,多边形接触但不重叠。我可以以任何格式放置数据。不确定 Boost Polygon 是否使用了标准。我也在寻找更多关于图书馆的文档。任何帮助,将不胜感激。谢谢

0 投票
1 回答
388 浏览

boost - 多边形的导数

我正在研究 boost 多边形库,

但是我无法理解每个顶点是如何生成的,

图片:http: //imm.io/LlIM

多边形导数的规则是什么?

原论文是: http: //www.boost.org/doc/libs/1_52_0/libs/polygon/doc/GTL_boostcon2009.pdf

0 投票
1 回答
434 浏览

c++ - Boost多边形库布尔函数计算时间

有人用过Boost多边形库的布尔函数吗? 增强多边形库

它说该算法的时间复杂度为 O(nlogn),n = #points

我输入了 200000 个随机生成的多边形(有 5~8 个点)

但是 OR 和 XOR 函数大约需要半个小时(是的,只需调用它的函数)

虽然结果是正确的,但是耗时太可怕了

有人遇到过这个问题吗?

0 投票
1 回答
1737 浏览

c++ - boost::polygon 和 boost/geometry/geometries/polygon 的区别?

我有两个问题:

1.) 我刚刚找到了 boost 1.53 Polygon 实现(在http://www.boost.org/doc/libs/1_53_0/libs/polygon上)并想对其进行测试,因为这些功能对于 CAD 程序员来说是惊人的像我这样的。(但我没有得到模板重新初始化的东西“ http://www.boost.org/doc/libs/1_53_0/libs/polygon/doc/voronoi_basic_tutorial.htm ”)有人知道一个很好的教程来解释为什么这个模板需要重新初始化以及如何正确执行。或者没有它如何相处。

2.) 在寻找教程时,我发现很多网站都使用#include "boost/geometry/geometries/polygon..." 这与 #include "boost/polygon..." 是否相同或者 boost 使用两个同一事物(多边形)的实现?或者它只是一个版本控制的事情?

感谢任何可以帮助我清除此问题的人。问候

0 投票
1 回答
400 浏览

c++ - 提升多边形丢弃输入多边形

我正在尝试使用 Boost::Polygon 逐步构建一组多边形。下面代码中的实时数据集取自我在使用 Boost::Polygon 的真实系统中找到的病态输入。

这是最低限度的复制代码(您需要在包含路径中使用 boost 开发标头):

这是我使用 matplotlib 在 python 中编写的一个极小的可视化脚本。只需将上述程序的输出通过管道传输到此脚本,您就会看到结果。它工作正常,我只是将它包括在内以帮助您帮助我:)

这是我的期望: 上述程序的预期输出

这是我得到的: 上述程序的错误输出

我的问题是:为什么 Boost::Polygon 会丢弃我的一些输入,我该如何阻止它这样做?

0 投票
2 回答
836 浏览

c++ - 使用 boost 从 minkowski 和的结果中提取非凸包

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

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

0 投票
1 回答
555 浏览

c++ - boost::polygon 的分段错误

我有我处理的多边形数据。现在我想看看我处理的数据与原始数据的匹配程度。对于这个任务,我想使用 BOOST 的多边形集合运算符。下面的代码给了我一个段错误:

gdb 输出:

我的数据由大约 2000 个多边形组成,每个多边形大约有 10 个顶点,我希望有足够的内存来处理它。我究竟做错了什么?谢谢你的帮助!

0 投票
1 回答
943 浏览

c++ - 使用 boost::polygon 遍历 Voronoi 图边缘的非递归算法

什么是使用boost而不递归遍历Voronoi图边缘的好算法?

我知道它必须检查单元格中的无限边缘,然后检查其邻居并从那里重复,但我更喜欢不需要递归的方法,因为我正在处理大量数据。

这可能没有递归吗?

编辑,以获得更多说明:

这是一种获取所有边缘单元的方法:

上述方法的问题是它不会以任何特定的顺序遍历边缘单元格,例如顺时针方向。

递归实现会做类似于这个(仓促编写和未经测试的)代码的事情:

这将遍历 Voronoi 图的边缘,直到它回溯到第一个单元格,然后停止,一路填满堆栈。

非递归实现将对第二个示例进行建模,以顺时针或逆时针顺序生成边缘单元的列表,而不使用递归。

0 投票
3 回答
3029 浏览

c++ - 找出一个点是否在 voronoi 单元内

有没有一种简单的方法来确定一个点是否在 voronoi 单元内?

例如,以下代码生成如下图所示的内容:

沃罗诺伊图

在这种情况下,如何确定点 (5,5) 是否在中心单元内?

我可以从每个单元格中创建一个多边形,并使用多边形算法中的一个点来找出答案,但我很想知道该库提供“免费”的东西。

0 投票
1 回答
926 浏览

c++ - 使用 Boost.Polygon 对曼哈顿多边形进行切片

我无法使用get_rectangles(output_container_type& output, const T& polygon_set)Boost.Polygon 中的方法将曼哈顿(直线)多边形切成矩形。它似乎不适用于自相交多边形,例如下面的多边形。

这是我的尝试:

这是输出:

此方法适用于不相交的多边形,但在这里它只产生一个矩形,而不是两个。似乎表明我正在尝试做的事情应该是可能的。我做错了什么,或者这可能吗?