雙線性插值計算器

根據四個已知角點值,對矩形網格內的數值進行插值。

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. 選取「計算插值」,求出四個角點的加權估計值。

雙線性插值常見問題

雙線性插值與線性插值相同嗎?

它在兩個座標方向而非單一方向套用線性插值。即使每個一維切片都是線性的,產生的曲面仍可能包含交叉項。

目標一定要在矩形內嗎?

公式也能回傳矩形外的外推值。但這類結果將趨勢延伸到四個已知樣本之外,因此可能較不可靠。

為什麼矩形寬度或高度不能為零?

此方法須除以兩個座標跨度來計算正規化位置。跨度為零會使比值無法定義,也無法描述二維網格單元。

插值順序會影響結果嗎?

不會。除了微小的浮點捨入差異,先水平後垂直與先垂直後水平的插值結果相同。

何時應改用雙三次插值?

有更多鄰近樣本時,雙三次插值可產生更平滑的導數,並更準確近似彎曲資料。雙線性插值速度較快,對密集網格通常已足夠。