避免图表中的过冲或下冲

时间:2014-12-04 09:36:36

标签: c++ cairo sampling resampling

在当前的应用中,我们有1000个数据点用于使用Cairo库绘制图形。它正在生成图形文件,但它在图形中有过冲。我需要从图表中删除这个过冲或下冲。我听说人们使用采样定理来消除下冲或过冲。 该应用程序是用C ++编写的。如果我需要提供更多信息,请告诉我。 我尝试使用以下代码来消除这种过冲(我无法理解下面的代码更好)

int samplesize = 4;
double prevSample = 0;
double prevslope = 0;
int thePoint = 0;

for (unsigned int i = samplesize, j = startXIndex; i < endXIndex; i++, j++) {
    double sample = 0;

    for (unsigned int k = j; k <= i; k++) {
        sample += (xvals[k]*xvals[k]);
    }

    sample /= (i-j);
    sample = sqrt(sample);

    double slope = atan(prevSample-sample);

    if (((prevslope <= 0 && slope > 0) || (prevslope >= 0 && slope < 0))) {
        thePoint = j;
    }

    prevslope = slope;
    prevSample = sample;
}

lowX = xvals[thePoint];

任何人都可以提供修改此问题的输入。enter image description here

0 个答案:

没有答案