Trilineární interpolace - Trilinear interpolation

Trilineární interpolace je metoda vícerozměrné interpolace na trojrozměrné pravidelné mřížce . Aproximuje hodnotu funkce v mezilehlém bodě v místním axiálním obdélníkovém hranolu lineárně pomocí dat funkcí na mřížových bodech. Pro libovolnou nestrukturovanou síť (používanou při analýze konečných prvků ) je nutné použít jiné metody interpolace; pokud jsou všechny prvky sítě čtyřstěny (3D jednoduchosti ), pak barycentrické souřadnice poskytují přímý postup.

Trilineární interpolace se často používá v numerické analýze , analýze dat a počítačové grafice .

Ve srovnání s lineární a bilineární interpolací

Trilineární interpolace je rozšíření lineární interpolace , která pracuje v prostorech s dimenzí , a bilineární interpolace , která pracuje s dimenzí , do dimenze . Všechna tato interpolační schémata používají polynomy řádu 1, což dává přesnost řádu 2, a vyžaduje sousední předdefinované hodnoty obklopující interpolační bod. Existuje několik způsobů, jak dospět k trilineární interpolaci, která je ekvivalentní 3-dimenzionální tenzorové B-spline interpolaci řádu 1, a trilineární interpolační operátor je také tenzorovým produktem 3 lineárních interpolačních operátorů.

Metoda

Osm rohových bodů na krychli obklopujících interpolační bod C.
Zobrazení 3D interpolace
Geometrická vizualizace trilineární interpolace. Součin hodnoty v požadovaném bodě a celého objemu se rovná součtu součinů hodnoty v každém rohu a částečného objemu úhlopříčně naproti rohu.

Periodicky a krychlové mřížky, nechal , a být rozdíly mezi jednotlivými , , a menší souřadnici souvisí, že je:

kde označuje mřížkový bod níže a označuje mřížový bod nahoře a podobně pro a .

Nejdříve interpolujeme (představme si, že „tlačíme“ tvář krychle definovanou pomocí k protilehlé ploše definované pomocí ) a dáváme:

Kde znamená hodnotu funkce Pak tyto hodnoty interpolujeme (podél , „tlačíme“ od do ) a dáváme:

Nakonec tyto hodnoty interpolujeme (procházíme úsečkou):

To nám dává předpokládanou hodnotu bodu.

Výsledek trilineární interpolace je nezávislý na pořadí kroků interpolace podél tří os: jakýkoli jiný řád, například podél , pak podél a nakonec podél , produkuje stejnou hodnotu.

Výše uvedené operace lze vizualizovat takto: Nejprve najdeme osm rohů krychle, které obklopují náš bod zájmu. Tyto rohy mají hodnoty , , , , , , , .

Dále provedeme lineární interpolaci mezi a najít , a najít , a najít , a najít .

Teď děláme interpolace mezi a najít , a najít . Nakonec vypočítáme hodnotu lineární interpolací a

V praxi je trilineární interpolace identická se dvěma bilineární interpolací kombinovanou s lineární interpolací:

Alternativní algoritmus

Alternativním způsobem, jak napsat řešení problému s interpolací, je

kde jsou koeficienty nalezeny řešením lineárního systému

přináší výsledek

Viz také

externí odkazy

  • pseudokód z NASA , popisuje iterativní inverzní trilineární interpolaci (vzhledem k vrcholům a hodnotě C find Xd, Yd a Zd).
  • Paul Bourke, Interpolation methods , 1999. Obsahuje velmi chytrou a jednoduchou metodu k nalezení trilineární interpolace, která je založena na binární logice a lze ji rozšířit na jakoukoli dimenzi (Tetralinear, Pentalinear, ...).
  • Kenwright, volná forma čtyřstěnné deformace. Mezinárodní sympozium o vizuálních počítačích. Springer International Publishing, 2015 [1] .