Multimodale-Visualisierung

3D Texturinterpolation (Trilinear)

Der Datenwert an den normalisierten Texturkoordinaten $(s,t,r)\in[0,1]$ via trilinearer Interpolation der 8 Eckwerte $P_{000}...P_{111}$

$P_{000}=V(i,j,k)$
$P_{100}=V(i+1,j,k)$
$P_{010}=V(i,j+1,k)$
$P_{110}=V(i+1,j+1,k)$
$P_{001}=V(i,j,k+1)$
$P_{101}=V(i+1,j,k+1)$
$P_{011}=V(i,j+1,k+1)$
$P_{111}=V(i+1,j+1,k+1)$

mit den Indices (für die linke untere vordere Ecke des zu interpolierenden Voxels)

$i=\lfloor s\cdot(w-1)\rfloor$
$j=\lfloor t\cdot(h-1)\rfloor$
$k=\lfloor r\cdot(d-1)\rfloor$

ist gegeben durch die drei linearen Interpolationsgewichte $u,v,w\in[0,1]$:

$u = s\cdot(w-1) - \lfloor s\cdot(w-1)\rfloor$
$v = t\cdot(h-1) - \lfloor t\cdot(h-1)\rfloor$
$w = r\cdot(d-1) - \lfloor r\cdot(d-1)\rfloor$

Die trilineare Interpolation mit den Interpolationsgewichten u,v und w entspricht in obiger Abbildung jeweils einer linearen Interpolation entlang der x-Achse (rot), der y-Achse (grün) und der z-Achse (blau). Der interpolierte Funtionswert ist gelb dargestellt.

Und damit ergibt sich der Funktionswert als:

$\displaystyle{ f(u,v,w) = }$
$\displaystyle{ (1-w)((1-v)((1-u)P_{000}+uP_{100}) + }$
$\displaystyle{ v((1-u)P_{010}+uP_{110})) + }$
$\displaystyle{ w((1-v)((1-u)P_{001}+uP_{101}) + }$
$\displaystyle{ v((1-u)P_{011}+uP_{111})) }$


Options: