我有一组构成曲线的点,我想减少点的数量,但仍保持曲线的整体形状。
基本上,我想从这个:
变成这个:
因此,算法将删除冗余的点,但保留那些真正定义形状的点(例如曲线底部的点)。是否存在已知的算法来完成此操作?我认为有,但我不确定在Google上该如何搜索。任何帮助都将不胜感激。
我有一组构成曲线的点,我想减少点的数量,但仍保持曲线的整体形状。
基本上,我想从这个:
变成这个:
因此,算法将删除冗余的点,但保留那些真正定义形状的点(例如曲线底部的点)。是否存在已知的算法来完成此操作?我认为有,但我不确定在Google上该如何搜索。任何帮助都将不胜感激。
考虑使用道格拉斯-普克算法
这方面有几种算法。
最简单的算法可能就是不断删除相邻点之间角度最接近180度的点,直到达到某个阈值或者所需点数为止。
如果曲线像你的图片一样平滑,可以使用贝塞尔曲线来得到更好的逼近(或者更少的点,如果你需要的话)。