boost 几何是不是支持弯曲几何?

Posted

技术标签:

【中文标题】boost 几何是不是支持弯曲几何?【英文标题】:Does boost geometry support curved geometries?boost 几何是否支持弯曲几何? 【发布时间】:2021-01-27 16:53:31 【问题描述】:

是否可以使用 boost 几何构造circular sector?

我想检查矩形是否与圆形扇区重叠,如下图所示。

【问题讨论】:

您的意思是球面几何还是圆/椭圆的弧形扇区? 据我所知,从他们的models 可以看出,后者只能使用近似多边形。 球形几何体(例如在 3d 球体的表面上)在我所见的范围内得到支持。 嗨,@πάνταῥεῖ 感谢您的查找。我需要圆/椭圆的弧形扇区。 因此,如前所述,您需要找到一种方法来提供足够近似的多边形来构建弧形扇区。一般来说,如果您使用近似值,这些数字对于规则多边形形状会很快收敛。另一方面,我怀疑,描述多边形的点越多,执行计算所需的时间就越多。 【参考方案1】:

这显然是不可能的。它还明确记录了如何例如使用buffer算法从一个点生成一个给定半径的圆:

https://www.boost.org/doc/libs/master/libs/geometry/doc/html/geometry/reference/strategies/strategy_buffer_point_circle.html

但是,您必须应用交点以最终得到位于给定形状内的线段(线串概念),以获得该圆的一部分。

【讨论】:

以上是关于boost 几何是不是支持弯曲几何?的主要内容,如果未能解决你的问题,请参考以下文章

使用 boost 将几何体切割成碎片

boost::geometry 中无效几何的数据集

使用 Boost 库分割几何

几何列上的 SQL Server 平面世界地图

在 boost 几何中创建实心多边形

Boost几何:使用开区间的交叉点