boost-geometry相关内容

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

相关问题: An algorithm for inflating/deflating (offsetting, buffering) polygons 不同之处在于,我在寻找一种将给定折线膨胀为多边形的方法: 我得到了以下输入: 形成多段线的二维点列表(草图中为亮绿色) 线条宽度 输出应为显示按宽度扩展的线条外观的多边形。 我原本以为我可以使用Boost::Geo ..
发布时间:2022-04-11 16:38:18 C/C++开发

ID 字段在自定义点类中间歇性丢失

我正在构建一个需要处理几何的 C++ 程序.我一直在尝试让 boost::geometry 工作,但我遇到了以下问题.我的点需要维护一个 ID 值或其他识别标签(我需要将它们链接到存储在其他对象中的属性).我可以使用 BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET 成功注册这一点并执行 boost::geometry 操作,但是当我用它执行任何操作时 boost: ..
发布时间:2021-12-24 15:26:37 C/C++开发

如何覆盖 boost::geometry::equals 算法中的浮点容差?

我正在使用 boost 几何库来比较两个不同的多边形.具体来说,我正在使用 equals algorithm 以查看两个多边形是否全等(相等尺寸). 问题是算法的容差太紧,两个应该全等的多边形(经过一些浮点运算后)不在算法定义的容差范围内. 我几乎可以肯定该库正在使用 std::numeric_limits::epsilon() (~2.22e-16) 来建立容差.我想 ..
发布时间:2021-08-30 18:59:39 C/C++开发

Boost几何相交无法正确输出

从以下代码中,我计算出两个多边形的交点.我希望如果不是多边形,则输出可以为NULL.但是输出为((((240,52.9999),(240,53),(240,53),(240,52.9999)))).这不是多边形.有什么方法可以检查输出是否真的是多边形? #include#include#include#include ..
发布时间:2021-04-15 20:55:01 C/C++开发

用boost :: geometry扩展多边形?

我知道可以通过boost :: geometry向彼此添加/减去不同的多边形,示例可以在网络的不同位置找到.现在,我要做的是不同的事情: 我有一个2D多边形,我想按给定的大小进行扩展/缩小.因此,我不是在谈论简单的缩放操作,而是在讨论一个函数,该函数将从输入数据中计算出一个新的多边形: 在使用扩展功能的情况下,必须在输入多边形的角上添加新的坐标点,例如在这个位置的圆角或平坦角上 ..
发布时间:2021-04-15 20:52:36 C/C++开发

如何找到两个矩形之间最接近的距离的两个点?

我正在尝试找到一种算法,该算法将找到代表两个矩形之间最接近距离的两个点.像 C 和 J 这样的点在下面的图像中形成最小的距离: boost :: geometry :: distance ,但它只会返回距离,而不会返回点. 解决方案 不使事物过于通用(通过假定浮点坐标和笛卡尔坐标系),这是点到线段距离的实现,该距离返回投影点和距离: struct DistancePoint {双 ..
发布时间:2021-04-15 20:42:15 其他开发

相交线Poly Boost几何

我想计算一条线之间的交点: l := direction * x + origin for x e R or x e [0,R+) 和默认的Boost多边形.在文档中,我仅发现有可能与线段(固定的起点和终点)相交 此刻,我正在使用boost几何体并用于交集: http://www.boost.org/doc/libs/1_57_0/libs/geometry/doc/html/ge ..
发布时间:2020-09-22 06:38:42 C/C++开发

boost :: geometry :: difference提供具有属性的自定义点

我想使用具有多边形属性的2D点. 应根据某种策略将属性分配给任何新点. 您知道是否可行以及如何做到? 是否有任何文档描述该怎么做? 解决方案 上次我查看了事实证明它是不可能的.这是因为该库确实使用可用的(访问者)特征来构造新点. 类似/相关问题: 在自定义点类中间歇性丢失的ID字段 实际上,让我欺骗投票吧! ..
发布时间:2020-09-22 06:34:02 C/C++开发

提升内点的几何多边形距离

我正在使用boost::geometry来处理一些几何任务.我需要满足两个要求: 处理点->多边形相交(是否在内部). boost::geometry::within可以很好地工作,所以很好 获取任意点到多边形最近边缘的距离.虽然boost::geometry::distance可以正确处理多边形外部的点,但是似乎将多边形视为实体.因此,多边形内的每个点到多边形的距离显然为0. 我尝 ..
发布时间:2020-09-22 06:24:48 C/C++开发

在Boost几何中创建实体多边形

我是Boost几何的新手,我用boost::geometry::assign_points()创建了多边形.但是我只创建多边形的外部和内部为空.因此,我尝试在两个多边形A,B和A在B内的情况下测试boost::geometry::overlaps(),结果不重叠. 那么,我该怎么做才能创建实体多边形(仅知道多边形的外点和多边形的内部是有效的)? 解决方案 根据定义,多边形是 ,直到减 ..
发布时间:2020-09-22 05:38:22 C/C++开发