Bilineární interpolace

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

V matematice je bilineární interpolace rozšíření lineární interpolace pro interpolaci funkce dvou proměnných na pravidelnou prostorovou mřížku. Klíčová myšlenka je provést lineární interpolaci nejprve v jednom směru a pak i ve druhém směru.

Čtyři červené tečky ukazují datové body a zelená tečka je bod který chceme interpolovat. +more Například bilineární interpolace na jednotkovém čtverci se z-hodnotami 0, 1, 1 a 0. 5 jako signalizace. Interpolační hodnoty uprostřed jsou reprezentovány barvami. .

Předpokládejme, že chceme najít hodnotu neznámé funkce f v bodě P = (x, y). Předpokladem je, že známe hodnotu f ve čtyřech bodech Q11 = (x1, y1), Q12 = (x1, y2), Q21 = (x2, y1), a Q22 = (x2, y2).

Nejprve provedeme lineární interpolaci v x-ovém směru. To znamená: : f(R_1) \approx \frac{x_2-x}{x_2-x_1} f(Q_{11}) + \frac{x-x_1}{x_2-x_1} f(Q_{21}) \quad\mbox{kde}\quad R_1 = (x,y_1),

: f(R_2) \approx \frac{x_2-x}{x_2-x_1} f(Q_{12}) + \frac{x-x_1}{x_2-x_1} f(Q_{22}) \quad\mbox{kde}\quad R_2 = (x,y_2). A teď budeme pokračovat v y-ovém směru. +more : f(P) \approx \frac{y_2-y}{y_2-y_1} f(R_1) + \frac{y-y_1}{y_2-y_1} f(R_2). .

Nyní máme požadovaný odhad f(x, y). : \begin{align} f(x,y) &\approx \frac{f(Q_{11})}{(x_2-x_1)(y_2-y_1)} (x_2-x)(y_2-y) \\ & + \frac{f(Q_{21})}{(x_2-x_1)(y_2-y_1)} (x-x_1)(y_2-y) \\ & + \frac{f(Q_{12})}{(x_2-x_1)(y_2-y_1)} (x_2-x)(y-y_1) \\ & + \frac{f(Q_{22})}{(x_2-x_1)(y_2-y_1)} (x-x_1)(y-y_1). +more \end{align}.

Pokud si vybereme souřadící systém se čtyřmi body, kde funkce f je zadána body (0, 0), (0, 1), (1, 0), a (1, 1), pak se vzorec zjednoduší: : f(x,y) \approx f(0,0) \, (1-x)(1-y) + f(1,0) \, x(1-y) + f(0,1) \, (1-x)y + f(1,1) xy. Nebo ekvivalentně, maticovými operacemi: : f(x,y) \approx \begin{bmatrix} 1-x & x \end{bmatrix} \begin{bmatrix} f(0,0) & f(0,1) \\ f(1,0) & f(1,1) \end{bmatrix} \begin{bmatrix} 1-y \\ y \end{bmatrix} Oproti tomu, co říká název, interpolace není lineární. +more Místo toho je její vzorec : (a_1 x + a_2)(a_3 y + a_4), \, .

takže je součinem dvou lineárních funkcí. Stejně tak lze interpolaci zapsat jako : b_1 + b_2 x + b_3 y + b_4 x y \, kde : b_1 = f(0,0) \, : b_2 = f(1,0)-f(0,0) \, : b_3 = f(0,1)-f(0,0) \, : b_4 = f(0,0)-f(1,0)-f(0,1)+f(1,1) \,.

V obou případech počet konstant (čtyři) odpovídá počtu daných bodů, které funkce f udává. Interpolace je lineární podle přímky, která je rovnoběžná buď se směrem x nebo y, ekvivalentně je-li x nebo y nastaveno konstantně. +more Rovnoběžně s další přímkou je interpolace kvadratická.

Výsledek bilineární interpolace je nezávislý na pořadí interpolací. Kdybychom nejprve provedli lineární interpolaci na ose y a pak v x-ovém směru, výsledná aproximace bude stejná.

Zřejmým rozšířením bilineární interpolace je trojrozměrná interpolace - trilineární interpolace.

...
...

Reference

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top