提升计算距离(各种几何形状)

boost calculate distance (of various geometry)

最近我在一个项目中计算各种几何体之间的距离,例如多边形到多边形、环到环。

现在我有一些问题:

  1. 在定义多边形或环时,我需要将第一个点附加到定义的多边形上以使其封闭? (我见过一些这样的例子)

  2. 计算距离时,总是计算一个点到另一个几何体的点?可能是线串或其他东西?

这完全取决于模型的参数化。具体来说,您可以配置 Ring 类型的方向 (CW/CCW) 和开放度 (open/closed)。

就算法而言,文档列出了适用的概念:https://www.boost.org/doc/libs/1_69_0/libs/geometry/doc/html/geometry/reference/algorithms/distance/distance_2.html#geometry.reference.algorithms.distance.distance_2.supported_geometries

专业提示:

使用 bg::is_valid 和/或 bg::correct 自动修复常见问题(如未闭合的多边形)