Самый простой способ понять билинейную интерполяцию - это понять линейную интерполяцию в 1D.
Эта первая цифра должна дать вам воспоминания о математике средней школы. Для некоторого местоположения a , в котором мы хотим знать f (a) , мы берем соседние "известные" значения и помещаем линию между ними.
Итак, мы просто использовали старые уравнения средней школы y = mx + b и y-y1 = m (x-x1). Ничего особенного.
Мы в основном переносим эту концепцию в 2-D, чтобы получить билинейную интерполяцию. Мы можем решить проблему нахождения f (a, b) для любого a, b , выполнив три интерполяции. Внимательно изучите следующую фигуру. Не пугайтесь всех ярлыков. Это на самом деле довольно просто.
Для билинейной интерполяции мы снова используем соседние точки. Сейчас их четыре, так как мы в 2D. Хитрость заключается в том, чтобы атаковать проблему по одному измерению за раз.
Мы проецируем наши (a, b) в стороны и сначала вычисляем две (одномерные!) Интерполяционные линии.
- f (a, y j ) где y j поддерживается постоянной
- f (a, y j + 1 ) , где y j + 1 поддерживается постоянным.
Теперь есть только один последний шаг. Вы берете две вычисленные вами точки: f (a, y j ) и f (a, y j + 1 ) , и провести линию между ними. Это синий, идущий слева направо на диаграмме, проходящий через f (a, b) . Интерполяция по этой последней строке дает вам окончательный ответ.
Я оставлю математику для двумерного случая для вас. Это не сложно, если вы работаете с диаграммой. И, пройдя через это самостоятельно, вы действительно узнаете, что происходит.
Последнее замечание: не имеет значения, какие стороны вы выберете для первых двух интерполяций. Вы могли бы выбрать верх и низ, а затем сделать третью линию интерполяции между этими двумя. Ответ был бы таким же.