我试图用 boost::geometry::difference 从另一个多边形中减去一个多边形。
首先,我创建了 2 个多边形,我们称它们为红色和蓝色。我知道多边形是正确创建的,因为 y 绘制了它们。
现在,如果我像这样计算这些多边形之间的差异:
boost::geometry::difference( blue, red,green);
绿色应该是减法的结果。
然后我使用 green.outer() 从绿色中获取点(我知道绿色实际上是一个容器,但鉴于我知道我只会得到一个多边形,因此我想简化我的示例)并绘制它们。
这是我得到的结果:
那不是我想要得到的结果。我怎样才能让 boost 返回蓝色多边形减去红色多边形?像这样:
编辑:我尝试计算这些多边形之间的交集,我得到了我想要的。那很奇怪。不知道是我做错了什么,还是提高了不懂数学的人。