補間点Cを囲む立方体上の8つの頂点周期的な立方格子では、次の値を求めたい。
、
、
一般的には、各座標 (たとえば、
は厳密には格子点ではなく、ある格子点からある距離にある。
そして次に、
。 させて
下側の格子点からその分数距離だけ離れているとする。
他の座標についても同様のアプローチを取ってください。

まず、
(例えば、立方体の面を「押す」と想像してください。
反対側の面は、
) 結果として、

どこ
関数値の意味
次に、これらの値を補間します(
「押し出す」
に
) 結果として、

最後に、これらの値を補間します
(列に並んで歩く):

これはその点の予測値を示しており、次のように表すこともできます。
これにより、三線形補間の結果は、3 つの軸に沿った補間ステップの順序に依存しないことが明らかになります。たとえば、他の順序、
それから沿って
そして最後に沿って
同じ値を生成します。
代替アルゴリズム
補間問題の解を記述する別の方法は次のとおりです。

ここで係数は線形方程式を解くことによって求められる。

結果として
![{\displaystyle {\begin{aligned}a_{0}={}&{\frac {-c_{000}x_{1}y_{1}z_{1}+c_{001}x_{1}y_{1}z_{0}+c_{010}x_{1}y_{0}z_{1}-c_{ 011}x_{1}y_{0}z_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}}+{}\\&{\frac {c_{100}x_{0}y_{1}z_{1}-c_{101}x_{0}y_{1}z_{0}-c_{110}x_{0}y_{0}z_{1}+c_{111}x_{0}y_{0}z_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}},\\[4pt]a_{1}={}&{\frac {c_{000}y_{1}z_{1}-c_{001}y_{1}z_{0}-c_{010}y_{0}z_{1}+c_{011}y_{0}z_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}}+{}\\&{\frac {-c_{100}y_{1}z_{1}+c_{101}y_{1}z_{0}+c_{110}y_{0}z_{1}-c_{111}y_{0}z_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}},\\[4pt]a_{2}={}&{\frac {c_{000}x_{1}z_{1}-c_{001}x_{1}z_{0}-c_{010}x_{1}z_{1}+c_{011}x_{1}z_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}}+{}\\&{\frac {-c_{100}x_{0}z_{1}+c_{101}x_{0}z_{0}+c_{110}x_{0}z_{1}-c_{111}x_{0}z_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}},\\[4pt]a_{3}={}&{\frac {c_{000}x_{1}y_{1}-c_{001}x_{1}y_{1}-c_{010}x_{1}y_{0}+c_{011}x_{1}y_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}}+{}\\&{\frac {-c_{100}x_{0}y_{1}+c_{101}x_{0}y_{1}+c_{110}x_{0}y_{0}-c_{111}x_{0}y_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}},\\[4pt]a_{4}={}&{\frac {-c_{000}z_{1}+c_{001}z_{0}+c_{010}z_{1}-c_{011}z_{0}+c_{100}z_{1}-c_{101}z_{0}-c_{110}z_{1}+c_{111}z_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}},\\[4pt]a_{5}=&{\frac {-c_{000}y_{1}+c_{001}y_{1}+c_{010}y_{0}-c_{011}y_{0}+c_{100}y_{1}-c_{101}y_{1}-c_{110}y_{0}+c_{111}y_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}},\\[4pt]a_{6}={}&{\frac {-c_{000}x_{1}+c_{001}x_{1}+c_{010}x_{1}-c_{011}x_{1}+c_{100}x_{0}-c_{101}x_{0}-c_{110}x_{0}+c_{111}x_{0}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}},\\[4pt]a_{7}={}&{\frac {c_{000}-c_{001}-c_{010}+c_{011}-c_{100}+c_{101}+c_{110}-c_{111}}{(x_{0}-x_{1})(y_{0}-y_{1})(z_{0}-z_{1})}}.\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2017eb73468e519de26c930bdde4137584100afb)
外部リンク
- NASAの擬似コードは、反復逆三線形補間(頂点とCの値が与えられたときにXd、Yd、Zdを求める)を記述しています。
- ポール・バーク著『補間法』(1999年)。二進論理に基づいた、非常に巧妙かつシンプルな三線形補間法を紹介しており、任意の次元(四線形、五線形など)に拡張可能。
- Kenwright、「自由形状四面体変形」。国際ビジュアルコンピューティングシンポジウム。Springer International Publishing、2015年。