Tag: 插值

线性插值:基于2D表计算校正

我尝试做的事情应该只是一个二维的线性插值,但目前我找不到正确的方法。 为了简单地描述问题:有一个大小为3000×3000像素的绘图区域,我必须画一条水平线。 为此,我从每个像素位置到下一个像素位置绘制点或短线,然后形成一条线。 现在必须对整个事物应用校正,其中校正信息可以在(对于该示例简化)4×4arrays中找到,其中每个元素包含描述校正后的值的一对坐标。 所以中性数组(没有校正)看起来像这样: 0,0 1000,0 2000,0 3000,0 0,1000 1000,1000 2000,1000 3000,1000 0,2000 1000,2000 2000,2000 3000,2000 0,3000 1000,3000 2000,3000 3000,3000 真正的校正表将包含描述要进行的校正的其他坐标: 因此,作为输入数据,我在没有校正的情况下具有点上的点的坐标,没有校正的字段值和校正数据。 但是,如何计算现在应用校正值的线点,以便绘制如图像右侧所示的扭曲线? 我目前使用X和Y的两个单独线性插值的方法不起作用,Y位置在单元格边界上跳跃但在单元格内没有平滑变化。 所以…任何想法如何做到这一点?

机器精度

我想知道是否有类似eps的东西代表C ++中机器精度的价值? 我可以将它用作双重可以代表的最小正数吗? 是否可以使用1.0 / eps作为双倍可以表示的最大正数? 我在哪里可以找到C ++和C标准库中的eps? 感谢致敬! 更新: 出于我的目的,我想计算一个权重作为距离的倒数,例如反距离加权插值( http://en.wikipedia.org/wiki/Inverse_distance_weighting )。 double wgt = 0, wgt_tmp, result = 0; for (int i = 0; i < num; i++) { wgt_tmp = 1.0/dist[i]; wgt += wgt_tmp; result += wgt_tmp * values[i]; } results /= wgt; 但是距离可以是0,我需要使重量适合计算。 如果只有一个距离dist [i]为0,我希望其对应的值[i]占优势。 如果有几个距离为0,我希望它们的值对结果的贡献相同。 知道如何实现它吗?