Bilineer interpolasyon

küçükresim|Dört kırmızı nokta eldeki datayı ve yeşil nokta da interpolasyon yapılacak noktayı göstermektedir.Bilineer interpolasyon, lineer interpolasyonun iki değişkenli fonksiyonların (ör. x ve y) rectilineer iki- boyutlu grid üzerinde interpolasyonu için olan uzantısıdır. Metot, lineer interpolasyonun önce bir yönde sonra diğer yönde sırasıyla uygulanmasına dayanır. Bu iki adım kendi içinde lineerse de, metot, bir bütün olarak lineer değil; quadratictir. ==Algoritma== Bilinmeyen bir fonksiyon f'in (x, y) noktasındaki değerinin bulunacağı varsayılsın. Ayrıca, f'in dört noktadaki değeri bilinsin: Q11 = (x1, y1), Q12 = (x1, y2), Q21 = (x2, y1), ve Q22 = (x2, y2). İlk olarak, x-doğrultusunda lineer interpolasyon aşağıdaki gibi yapılır: :\begin{align} f(x, y_1) &\approx \frac{x_2-x}{x_2-x_1} f(Q_{11}) + \frac{x-x_1}{x_2-x_1} f(Q_{21}) \\\ f(x, y_2) &\approx \frac{x_2-x}{x_2-x_1} f(Q_{12}) + \frac{x-x_1}{x_2-x_1} f(Q_{22}) \end{align} İkinci olarak, yukarıdaki denklem, y-doğrultusunda lineer interpolasyonu uygulanırsa, aşağıdaki denklem bulunur: :\begin{align} f(x,y) &\approx \frac{y_2-y}{y_2-y_1} f(x, y_1) + \frac{y-y_1}{y_2-y_1} f(x, y_2) \\\ &\approx \frac{y_2-y}{y_2-y_1} \left ( \frac{x_2-x}{x_2-x_1} f(Q_{11}) + \frac{x-x_1}{x_2-x_1} f(Q_{21}) \right ) + \frac{y-y_1}{y_2-y_1} \left ( \frac{x_2-x}{x_2-x_1} f(Q_{12}) + \frac{x-x_1}{x_2-x_1} f(Q_{22}) \right ) \\\ &= \frac{1}{(x_2-x_1)(y_2-y_1)} \left ( f(Q_{11})(x_2-x)(y_2-y) + f(Q_{21})(x-x_1)(y_2-y)+ f(Q_{12})(x_2-x)(y-y_1) + f(Q_{22})(x-x_1)(y-y_1) \right)\\\ &=\frac{1}{(x_2-x_1)(y_2-y_1)} \begin{bmatrix} x_2-x & x-x_1 \end{bmatrix} \begin{bmatrix} f(Q_{11}) & f(Q_{12}) \\\ f(Q_{21})& f(Q_{22}) \end{bmatrix} \begin{bmatrix} y_2-y \\\ y-y_1 \end{bmatrix} \end{align}küçükresim|Birim bir kare üzerindeki bir bilineer interpolasyonu örneği. z-değerleri 0, 1, 1, ve 0.5'tir. İnterpolasyon değerleri renkle gösterilmiştir. Son denklem, hangi doğrultu ile başlanırsa başlansın, aynıdır. Örneğin, önce y- sonra x-doğrultusunda yapılan iki ardışık lineer interpolasyon yukarıdaki aynı terimi verir. ===Alternatif algoritma=== İnterpolasyonun ifadesinde alternatif bir yöntem aşağıdaki gibidir: : f(x,y) \approx a_0 + a_1 x + a_2 y + a_3 xy Denklemin katsayıları aşağıdaki lineer sistemin çözülmesi ile elde edilir: :\begin{align} \begin{bmatrix} 1 & x_1 & y_1 & x_1 y_1 \\\ 1 & x_1 & y_2 & x_1 y_2 \\\ 1 & x_2 & y_1 & x_2 y_1 \\\ 1 & x_2 & y_2 & x_2 y_2 \end{bmatrix}\begin{bmatrix} a_0\\\a_1\\\a_2\\\a_3 \end{bmatrix}=\begin{bmatrix} f(Q_{11})\\\f(Q_{12})\\\f(Q_{21})\\\f(Q_{22}) \end{bmatrix} \end{align} Eğer çözüm f(Q) cinsinden istenirse, aşağıdaki ifade kullanılabilir: : f(x,y) \approx b_{11} f(Q_{11}) + b_{12} f(Q_{12}) + b_{21} f(Q_{21}) + b_{22} f(Q_{22}) Bu denklemin katsayıları da aşağıdaki sistemin çözümüyle elde edilir: : \begin{bmatrix} b_{11}\\\b_{12}\\\b_{21}\\\b_{22} \end{bmatrix}= \left(\begin{bmatrix} 1 & x_1 & y_1 & x_1 y_1 \\\ 1 & x_1 & y_2 & x_1 y_2 \\\ 1 & x_2 & y_1 & x_2 y_1 \\\ 1 & x_2 & y_2 & x_2 y_2 \end{bmatrix}^{-1}\right)^T \begin{bmatrix} 1\\\x\\\y\\\xy \end{bmatrix} ===Sadeleştirilmiş algoritma=== Eğer f'in bilindiği dört noktanın koordinatları , ve (1, 1), ise; interpolasyon denklemi aşağıdakince sadeleşir: : 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. Eşdeğer matris formatında ise denklem: : 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}. == Ayrıca bakınız == *İnterpolasyon *Lineer interpolasyon *Trilineer interpolasyon *