Калькулятор билинейной интерполяции

Найдите значение внутри прямоугольной сетки по четырём известным значениям в углах.

Интерполяция на сетке 2D
Введите границы прямоугольника, четыре угловых значения и целевую точку.

О билинейной интерполяции

Билинейная интерполяция оценивает значение в точке внутри прямоугольника, если известны значения во всех четырёх углах. Это двумерное расширение обычной линейной интерполяции. Вместо подбора одной прямой метод сочетает значения по двум координатным направлениям. Он применяется при передискретизации изображений, обработке научных сеточных данных, наложении текстур, оценке табличных значений и построении плавных приближений по измерениям на прямоугольной сетке. Четыре угловых значения обычно обозначают по координатам: нижнее левое соответствует x1 и y1, нижнее правое — x2 и y1, верхнее левое — x1 и y2, верхнее правое — x2 и y2. Целевая точка имеет координаты x и y. Калькулятор находит нормированные горизонтальное и вертикальное положения, затем взвешивает каждый угол по площади противоположного прямоугольника. Ближний к цели угол получает больший вес, дальний — меньший. Для точки внутри прямоугольника сумма четырёх весов равна единице. Алгоритм можно представить как две последовательные линейные интерполяции. Сначала интерполируют по горизонтали между нижними значениями и отдельно между верхними. Затем интерполируют по вертикали между двумя промежуточными результатами. Обратный порядок даёт тот же ответ: сначала вертикально по левому и правому краям, затем горизонтально. Эта симметрия полезна для проверки реализации и объясняет произведения горизонтального и вертикального множителей в итоговой формуле. Метод точно воспроизводит каждый угол. Он также точно воспроизводит любую функцию, линейную по x при фиксированном y и по y при фиксированном x, включая поверхности с перекрёстным членом x, умноженным на y. Произвольные искривлённые поверхности обычно не воспроизводятся точно. При сильной кривизне более мелкая сетка или метод более высокого порядка, например бикубическая интерполяция, может уменьшить погрешность. Билинейная интерполяция остаётся популярной благодаря скорости, непрерывности, простоте проверки и потребности всего в четырёх образцах. Границы осей должны различаться: прямоугольник нулевой ширины или высоты не позволяет определить доли интерполяции. Формула допускает экстраполяцию за пределы прямоугольника, но оценки вне известного диапазона могут быть ненадёжны, поскольку один или несколько весов становятся отрицательными. Соблюдайте единые единицы координат на каждой оси и убедитесь, что угловые значения описывают одну измеряемую величину. Результат будет иметь ту же единицу, что и эти четыре значения.

Примеры билинейной интерполяции

Примеры с прямоугольными сетками и согласованными угловыми значениями.

Сетка и целевая точкаРезультатПояснение
Единичный квадрат; углы 0, 10, 20, 30; цель (0.5, 0.5)15В центре все четыре угла имеют одинаковый вес.
Единичный квадрат; углы 0, 10, 20, 30; цель (0, 0)0Цель в углу точно воспроизводит значение этого угла.
Прямоугольник от 0 до 2 и от 0 до 4; углы 2, 6, 10, 14; цель (1, 2)8Значение в центре равно среднему четырёх угловых значений.
Единичный квадрат; углы 5, 5, 5, 5; цель (0.3, 0.8)5Постоянная поверхность остаётся постоянной везде.

Как пользоваться калькулятором билинейной интерполяции

  1. Введите левую и правую координаты x, нижнюю и верхнюю координаты y прямоугольника.
  2. Введите известное значение функции в каждом из четырёх обозначенных углов.
  3. Введите x и y целевой точки в той же системе координат.
  4. Нажмите «Рассчитать интерполяцию», чтобы получить взвешенную оценку по четырём углам.

Вопросы о билинейной интерполяции

Билинейная интерполяция — это то же, что линейная?

Она применяет линейную интерполяцию по двум направлениям вместо одного. Итоговая поверхность может содержать перекрёстный член, хотя каждое одномерное сечение линейно.

Должна ли цель находиться внутри прямоугольника?

Формула возвращает экстраполированное значение и снаружи. Оно может быть менее надёжным, поскольку продолжает тенденции за пределами четырёх известных образцов.

Почему ширина или высота не может быть нулевой?

Для нормирования положения метод делит на оба координатных диапазона. Нулевой диапазон делает дробь неопределённой и не описывает двумерную ячейку.

Важен ли порядок интерполяции?

Нет. Горизонтальная, затем вертикальная интерполяция даёт тот же результат, что и обратный порядок, кроме ничтожных различий округления чисел с плавающей точкой.

Когда лучше использовать бикубическую интерполяцию?

При наличии большего числа соседних образцов бикубическая интерполяция даёт более гладкие производные и лучше приближает искривлённые данные. Билинейная быстрее и часто достаточна для плотных сеток.