我正在使用多边形裁剪库Clipper的 c++ 版本,我想减少多边形中的顶点数量,保持几乎相同的形状。
作为附加要求,我必须“仅向外”近似我的多边形:生成的简化多边形必须与原始多边形一致。
我想过:
- 凸包,它满足“仅向外”的条件,但它过于简化了我的多边形
- Ramer-Douglas-Peucker 算法,这很好,因为它让我选择错误但它不满足“仅向外”条件。
然后我看了一下psimpl 库,最接近我要求的算法似乎是Opheneim 算法,它
使用最小和最大距离容差来约束搜索区域
但最小距离不能为 0。
这个问题有什么可能的解决方案吗?你知道任何解决它的 c++ 库吗?