我目前正在从事一个私人项目,该项目依赖于使用 Boost C++ 库对多边形进行的一些操作。
我目前正在尝试使用内部多边形/负多边形概念。
我现在需要做的是连接三个多边形,其中两个有一个正(逆时针)外多边形和一个负(顺时针)内多边形。
第三个是负多边形,一个具有负面积的新多边形对象 - 指向顺时针方向。这就是我不完全确定如何处理这种情况的地方。
这是这三个多边形的图片。连接左上多边形和右下多边形的中间那个是负多边形。
现在我想做的是通过联合函数连接所有三个多边形。我期望 union 做的是切掉多边形 1 和 3(正多边形)的正部分,并返回剩余的两个多边形 1 和 3。
我实际上得到的是我的多边形 1 和 3 未触及,因为不会有负多边形 2。
任何帮助将不胜感激。
编辑:
我需要得到的是矢量而不是位图或图片或其他任何东西。这些图片只是用来更好地可视化我拥有的和需要的。
这三个多边形实际上不超过 x 和 y 点的向量。
这是我期望的所有三个多边形联合的正确结果的图片:
Edit2:更正了结果