如何在保持整体形状的同时减少曲线中的点数?

时间:2011-11-02 12:50:40

标签: algorithm graphics points curve simplify

我有一个制作曲线的点列表,我想减少点数,但仍然保持曲线的整体形状。

基本上,我想从此开始:

enter image description here

对此:

enter image description here

因此算法会删除多余的点,但保留那些真正定义形状的点(如曲线底部的点)。有没有已知的算法可以做到这一点?我希望有,但我不确定在Google上搜索什么。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:24)

答案 1 :(得分:14)

有几种算法。

最简单的一个可能是继续移除相邻点之间的角度最接近180度的点,直到某个阈值,或者直到达到所需的点数。

如果曲线在图片中是平滑的,那么通过使用Bezier曲线,您可能会获得更好的近似值(或者如果您愿意,可以使用更少的点)。