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

lau*_*ent 20 algorithm graphics curve points simplify

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

基本上,我想从这个:

在此输入图像描述

对此:

在此输入图像描述

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

aio*_*obe 14

有几种算法可供选择.

最简单的一个可能是只保留消除相邻点之间,其角度是最接近于180度的角度,直到某个阈值,或直到你到达点的所需数量.

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