双线性插值计算器

根据四个已知角点值,对矩形网格内的数值进行插值。

2D 网格插值
输入矩形边界、四个角点值及目标点。

关于双线性插值

双线性插值在已知矩形四个角点值时,估算矩形内某一点的数值。它是普通线性插值在二维空间的扩展。该方法不是拟合一条直线,而是沿两个坐标方向进行混合,广泛用于图像重采样、网格科学数据求值、计算机图形纹理映射、表格数值估算,以及根据矩形网格测量值建立平滑近似。 四个角点值通常按坐标命名。左下角对应 x1 和 y1,右下角对应 x2 和 y1,左上角对应 x1 和 y2,右上角对应 x2 和 y2。目标坐标为 x 和 y。计算器先求归一化的水平和垂直位置,再按各角点对侧矩形的面积分配权重。靠近目标的角点权重较大,远处角点权重较小。目标位于矩形内时,四个权重之和为一。 也可将算法理解为依次进行两轮线性插值:先分别在底边两个值之间和顶边两个值之间水平插值,再在两个中间结果之间垂直插值。反过来先在左、右边垂直插值,再水平插值,答案相同。这种对称性有助于核对实现,也解释了最终表达式为何含有水平因子与垂直因子的乘积。 此方法能精确还原所有角点值。对于固定 y 时关于 x 线性、固定 x 时关于 y 线性的函数,也能精确还原,包括含 x 与 y 乘积交叉项的曲面。但一般不能精确还原弯曲曲面。当真实曲面弯曲较强时,采用更细网格或双三次插值等高阶方法可减小近似误差。双线性插值仍因速度快、连续、易核查且仅需四个样本而广受使用。 各轴两端坐标必须不同,因为宽度或高度为零的矩形无法定义插值比例。公式虽可用于矩形外的外推,但已知数据范围之外的估计可能不可靠,因为一个或多个权重会变为负数。请保持每个轴内的坐标单位一致,并确保角点值描述同一种测量量。结果将与这四个值具有相同单位。

双线性插值示例

以下示例使用矩形网格及内部一致的角点值。

网格与目标结果说明
单位正方形;角点 0, 10, 20, 30;目标 (0.5, 0.5)15在中心处,四个角点的权重相同。
单位正方形;角点 0, 10, 20, 30;目标 (0, 0)0目标位于角点时,会精确还原该角点值。
矩形范围 0 到 2 与 0 到 4;角点 2, 6, 10, 14;目标 (1, 2)8中点值是四个角点值的平均数。
单位正方形;角点 5, 5, 5, 5;目标 (0.3, 0.8)5常量曲面在所有位置都保持相同数值。

如何使用双线性插值计算器

  1. 输入矩形左、右侧的 x 坐标及底部、顶部的 y 坐标。
  2. 输入四个标注角点各自的已知函数值。
  3. 使用同一坐标系输入目标点的 x 和 y 坐标。
  4. 选择“计算插值”,求出四角点加权估计值。

双线性插值常见问题

双线性插值与线性插值相同吗?

它在两个坐标方向而非一个方向应用线性插值。虽然每个一维切片都是线性的,所得曲面仍可能含有交叉项。

目标必须位于矩形内吗?

公式也能返回矩形外的外推值。但这类结果将趋势延伸到四个已知样本之外,因此可能不够可靠。

为什么矩形宽度或高度不能为零?

该方法要除以两个坐标跨度来计算归一化位置。跨度为零会使比值无定义,也无法描述二维网格单元。

插值顺序会影响结果吗?

不会。除了微小的浮点舍入差异,先水平后垂直与先垂直后水平的插值结果相同。

何时应改用双三次插值?

有更多邻近样本时,双三次插值可获得更平滑的导数,并更好地近似弯曲数据。双线性插值速度更快,对于密集网格通常已足够。