Interpolacja dwuliniowa


Interpolacja dwuliniowa w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania Q x y {\displaystyle Q_{xy}} – punkty, w których wartość funkcji jest znana; P {\displaystyle P} – punkt interpolowany

Interpolacja dwuliniowa (ang. bilinear interpolation) – metoda rozszerzająca interpolację liniową na interpolację funkcji dwóch zmiennych. Intuicyjnie jest złożeniem dwóch interpolacji liniowych.

W celu przeprowadzenia interpolacji dwuliniowej przeprowadza się dwie interpolacje liniowe dla jednego kierunku (np. wzdłuż osi O X {\displaystyle OX} w układzie współrzędnych kartezjańskim), a następnie dla tak uzyskanych wartości przeprowadza się interpolację liniową dla drugiego kierunku (w tym przypadku osi O Y {\displaystyle OY} ).

Najpierw przeprowadzana jest interpolacja liniowa wzdłuż osi O X , {\displaystyle OX,} więc otrzymuje się:

f ( R 1 ) x 2 x x 2 x 1 f ( Q 11 ) + x x 1 x 2 x 1 f ( Q 21 ) gdzie R 1 = ( x , y 1 ) , {\displaystyle 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{gdzie}}\quad R_{1}=(x,y_{1}),} f ( R 2 ) x 2 x x 2 x 1 f ( Q 12 ) + x x 1 x 2 x 1 f ( Q 22 ) gdzie R 2 = ( x , y 2 ) . {\displaystyle 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{gdzie}}\quad R_{2}=(x,y_{2}).}

Następnie przeprowadzana jest interpolacja wzdłuż osi O Y : {\displaystyle OY{:}}

f ( P ) y 2 y y 2 y 1 f ( R 1 ) + y y 1 y 2 y 1 f ( R 2 ) . {\displaystyle 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}).}


Jeśli przyjmie się system współrzędnych, w którym znane wartości funkcji f {\displaystyle f} znajdują się w punktach o współrzędnych Q 11 ( 0 , 0 ) , Q 12 ( 0 , 1 ) , Q 21 ( 1 , 0 )   i   Q 22 ( 1 , 1 ) , {\displaystyle Q_{11}(0,0),Q_{12}(0,1),Q_{21}(1,0)\ {\text{i}}\ Q_{22}(1,1),} wtedy wzór na interpolację upraszcza się do postaci:

f ( x , y ) f ( 0 , 0 ) ( 1 x ) ( 1 y ) + f ( 1 , 0 ) x ( 1 y ) + f ( 0 , 1 ) ( 1 x ) y + f ( 1 , 1 ) x y . {\displaystyle 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.}

Postać macierzowa równania:

f ( x , y ) 1 x x f ( 0 , 0 ) f ( 0 , 1 ) f ( 1 , 0 ) f ( 1 , 1 ) 1 y y . {\displaystyle 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}}.}

Interpolacja dwuliniowa używana jest m.in. w algorytmach służących do zmiany rozdzielczości obrazu cyfrowego (skalowania).

Zobacz też | edytuj kod

Na podstawie artykułu: "Interpolacja dwuliniowa" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy