Metoda vícerozměrné interpolace na trojrozměrné pravidelné mřížce
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.
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] .