三线性插值

来自testwiki
imported>InternetArchiveBot2021年2月10日 (三) 23:27的版本 (补救3个来源,并将0个来源标记为失效。) #IABot (v2.0.8)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

三线性插值是在三维离散采样数据的张量积网格上进行线性插值的方法。这个张量积网格可能在每一维度上都有任意不重叠的网格点,但并不是三角化的有限元分析网格。这种方法通过网格上数据点在局部的矩形棱柱上线性地近似计算点 (x,y,z) 的值。

三线性插值经常用于数值分析数据分析以及计算机图形学等领域。

特性以及与线性插值双线性插值的关系

  • 三线性插值在一次 n=1 三维 D=3(双线性插值的维数为:D=2,线性插值:D=1)的参数空间中进行运算,这样就需要 (1+n)D=8 个与所需插值点相邻的数据点。
  • 三线性插值等同于三维张量的一阶B样条插值。
  • 三线性插值运算是三个线性插值运算的张量积。

例子

在一个步距为 1 的周期性立方网格上,取

xd,yd,zd

为待计算点距离小于

x,y,z,

的最大整数的差值,即,

xd=xx
yd=yy
zd=zz
xd,:yd,:zd是单位化后的值,所以其范围是[0,1]。

本句话参考http://paulbourke.net/miscellaneous/interpolation/Template:Wayback

首先沿着 z 轴插值,得到:

i1=v[x,y,z]×(1zd)+v[x,y,z]×zd
i2=v[x,y,z]×(1zd)+v[x,y,z]×zd
j1=v[x,y,z]×(1zd)+v[x,y,z]×zd
j2=v[x,y,z]×(1zd)+v[x,y,z]×zd.

然后,沿着 y 轴插值,得到:

w1=i1(1yd)+i2yd
w2=j1(1yd)+j2yd

最后,沿着 x 轴插值,得到:

IV=w1(1xd)+w2xd.

这样就得到该点的预测值。

三线性插值的结果与插值计算的顺序没有关系,也就是说,按照另外一种维数顺序进行插值,例如沿着 xyz 顺序插值将会得到同样的结果。这也与张量积的交换律完全一致。

参见

外部链接