请参阅两个屏幕截图,数据存储为2D C数组中的双精度数据。
第一个是我的原始数据,第二个是我想要的。所以我需要删除带有红色圆圈的点。我的第一个尝试是将每个点的y值与前一个和下一个点的y值进行比较。如果它低于两者,则将其删除。
然而,这也将删除绿色圆圈的点,不应删除。
有关算法的任何建议只能删除带有红色圆圈的点吗?我不能使用阈值,因为还会有像绿色圆圈更接近x轴的点。
答案 0 :(得分:2)
怎么样:通过寻找绿点(最高点),然后再次通过并删除低于该值的所有倾角?
答案 1 :(得分:0)
我找到了另一种方法。
不是在生成之后过滤所有值,而是在生成点期间过滤。因此,例如,我计算它所属的曲线的特定x值的y值,还计算其两条相邻曲线的y值。然后我检查点是否位于相邻曲线之一或之上,并根据它将它们添加到我的曲线中。
仍然稍微调整一下,但它似乎比我最初想的更容易,更快。