我一直在研究这个算法,它看起来非常简单。但是,我对如何在封闭的多边形中使用它感到困惑。我见过的所有示例都处理带有开口端的线/曲线。如果我正在可视化该过程正确地绘制一条线,然后对其进行迭代以重新捕获多边形的细节将不起作用,因为它总是至少在多边形的一侧保持打开状态。
我正在考虑编写一个实现,首先制作 4 个点(最远的 topLeft、TopRight、Bottomright 和 BottomLeft 点),然后在这些到点索引之间的顶点上运行算法。
因此,如果底线在原始路径数组中的索引为 40 和 80,那么我将在那里迭代并在点 40-80 上捕获该线的相似性,然后它们移动到下一条边,直到所有边都完成。
众所周知,我自己也很傻,而且事情过于复杂,所以我想知道这是否是一个合理的实现?
我基本上是在尝试复制下面看到的 GPX 数据缩减实施: