23

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

基本上,我想从这个开始:

在此处输入图像描述

对此:

在此处输入图像描述

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

4

2 回答 2

28

考虑Douglas–Peucker_algorithm

在此处输入图像描述

于 2011-11-02T14:34:16.250 回答
14

有几种算法可以解决这个问题。

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

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

于 2011-11-02T12:53:34.297 回答