Открыть сервис

Линейная интерполяция

Линейная интерполяция — это метод приближённого нахождения промежуточных значений функции по известным значениям в двух крайних точках, основанный на предположении, что на заданном отрезке функция изменяется линейно. Является простейшим и наиболее распространённым видом интерполяции, широко применяется в численных методах, компьютерной графике, обработке сигналов, инженерных расчётах и статистическом анализе.

Математическое определение

Пусть известны значения функции \( f(x) \) в двух точках \( (x_0, y_0) \) и \( (x_1, y_1) \), где \( y_0 = f(x_0) \), \( y_1 = f(x_1) \). Линейная интерполяция предполагает, что на отрезке \( [x_0, x_1] \) функция \( f(x) \) аппроксимируется прямой линией, проходящей через эти точки. Тогда значение функции в произвольной точке \( x \in [x_0, x_1] \) вычисляется по формуле:

\[ f(x) \approx y_0 + \frac{y_1 - y_0}{x_1 - x_0} (x - x_0) \]

Эта формула представляет собой уравнение прямой в форме с угловым коэффициентом. Выражение \( \frac{y_1 - y_0}{x_1 - x_0} \) — это тангенс угла наклона прямой (скорость изменения функции). В более симметричной форме, часто используемой в компьютерных алгоритмах, формула записывается через параметр \( t \in [0, 1] \):

\[ f(x) = (1 - t) y_0 + t y_1 \]

где \( t = \frac{x - x_0}{x_1 - x_0} \). Такая запись называется линейной интерполяцией (LERP) и является базовой операцией в трёхмерной графике и анимации.

Геометрическая интерпретация

Геометрически линейная интерполяция означает проведение прямой линии между двумя известными точками на графике. Искомое значение функции в точке \( x \) лежит на этой прямой. Погрешность метода тем меньше, чем ближе истинная функция на отрезке \( [x_0, x_1] \) к линейной. Если функция является строго линейной, то интерполяция даёт точное значение.

История

Понятие интерполяции восходит к древним цивилизациям. Вавилонские астрономы (II тысячелетие до н. э.) использовали линейную интерполяцию для предсказания положений планет, заполняя пробелы в таблицах наблюдений. В древнегреческой математике метод упоминается в работах Клавдия Птолемея (II век н. э.) в «Альмагесте» для вычисления синусов и дуг.

В эпоху Возрождения линейная интерполяция активно применялась в навигации и картографии. С развитием численного анализа в XVII—XVIII веках (работы Исаака Ньютона, Готфрида Лейбница, Леонарда Эйлера) были разработаны более сложные методы (полиномиальная интерполяция, сплайны), однако линейная интерполяция осталась базовым инструментом из-за своей простоты и вычислительной эффективности.

Погрешность и ограничения

Линейная интерполяция даёт точный результат только для линейных функций. Для нелинейных функций возникает погрешность, величина которой зависит от кривизны функции на отрезке и длины интервала.

Оценка погрешности

Если функция \( f(x) \) дважды непрерывно дифференцируема на отрезке \( [x_0, x_1] \), то погрешность \( R(x) \) линейной интерполяции в точке \( x \) может быть оценена по формуле:

\[ |R(x)| \leq \frac{M_2}{2} \max_{x \in [x_0, x_1]} |(x - x_0)(x - x_1)| \]

где \( M_2 = \max_{x \in [x_0, x_1]} |f''(x)| \) — максимальное значение второй производной (кривизны) на отрезке. Максимальная погрешность достигается в середине отрезка и равна \( \frac{M_2}{8} (x_1 - x_0)^2 \).

Из этого следует, что:

  • Погрешность пропорциональна квадрату длины интервала. Для уменьшения погрешности необходимо уменьшать шаг между узлами.
  • Погрешность пропорциональна кривизне функции. Для функций с большими изгибами (например, синуса или экспоненты) линейная интерполяция может давать значительные ошибки.

Ограничения

  • Линейная интерполяция не является гладкой: в точках соединения отрезков производная терпит разрыв (если используется кусочно-линейная интерполяция).
  • Метод не подходит для экстраполяции (выхода за пределы отрезка \( [x_0, x_1] \)), так как линейная аппроксимация за пределами известных точек может быстро расходиться с истинным значением.
  • Для функций с резкими пиками или разрывами линейная интерполяция даёт сглаженное, но неверное представление.

Применение

Численные методы и вычислительная математика

Линейная интерполяция является основой для построения таблиц функций (например, тригонометрических, логарифмических, статистических). В численном интегрировании используется метод трапеций, который основан на кусочно-линейной аппроксимации подынтегральной функции. В численном решении дифференциальных уравнений (метод Эйлера) используется линейная аппроксимация производной.

Компьютерная графика и анимация

В трёхмерной графике операция LERP (Linear Interpolation) используется для:

  • Плавного перехода между двумя значениями (например, цветом, положением, масштабом) во времени.
  • Расчёта текстурных координат (UV) при растеризации треугольников.
  • Интерполяции нормалей и векторов.
  • Создания анимации движения (tweening) между ключевыми кадрами.

Обработка сигналов и аудио

В цифровой обработке сигналов линейная интерполяция применяется для:

  • Изменения частоты дискретизации (resampling) — пересчёта отсчётов сигнала на новую сетку времени.
  • Восстановления аналогового сигнала по цифровым отсчётам (в простейших ЦАП).
  • Сглаживания данных при визуализации временных рядов.

Инженерные расчёты

  • Интерполяция табличных данных (например, свойств материалов, термодинамических величин, прочностных характеристик).
  • Построение графиков по экспериментальным точкам.
  • Приближённое решение уравнений (метод хорд).

Статистика и анализ данных

  • Восстановление пропущенных значений в временных рядах (линейная интерполяция по соседним наблюдениям).
  • Сглаживание данных (например, при построении линии тренда).
  • Калибровка измерительных приборов (построение линейной зависимости между показаниями и эталонными значениями).

Смежные методы

Полиномиальная интерполяция

Обобщение на случай \( n+1 \) точек: строится многочлен степени \( n \), проходящий через все точки. Даёт более точную аппроксимацию для гладких функций, но подвержен осцилляциям (феномен Рунге) при большом числе узлов.

Сплайн-интерполяция

Кусочно-полиномиальная интерполяция, где на каждом отрезке используется многочлен низкой степени (обычно кубический), а в узлах обеспечивается непрерывность первой и второй производной. Обеспечивает гладкость и высокую точность, но сложнее в реализации.

Билинейная интерполяция

Двумерное обобщение линейной интерполяции. Используется для интерполяции значений функции двух переменных (например, яркости пикселя в изображении) по четырём ближайшим точкам. Применяется в обработке изображений (масштабирование, поворот).

Трилинейная интерполяция

Трёхмерное обобщение, используемое в объёмной визуализации (например, в медицинской томографии) и текстурировании трёхмерных объектов.

Реализация в программировании

Линейная интерполяция реализуется крайне просто. Пример на языке Python:

```python def lerp(y0, y1, t): """Линейная интерполяция между y0 и y1 с параметром t (0 <= t <= 1)""" return (1 - t) y0 + t y1

def linear_interpolation(x, x0, y0, x1, y1): """Линейная интерполяция для произвольного x между x0 и x1""" t = (x - x0) / (x1 - x0) return lerp(y0, y1, t) ```

В графических библиотеках (OpenGL, DirectX, Unity, Unreal Engine) функция LERP встроена в аппаратное обеспечение и выполняется за один такт.

Интересные факты

  • В компьютерной графике часто используется нормализованная линейная интерполяция (NLERP) для интерполяции кватернионов, хотя для точного вращения предпочтительнее сферическая линейная интерполяция (SLERP).
  • В задачах машинного обучения линейная интерполяция используется для аугментации данных (например, в методе Mixup — смешивание изображений и их меток).
  • В физике линейная интерполяция применяется в методе конечных разностей для аппроксимации производных.

Источники

  • Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы. — М.: Бином, 2008.
  • Форсайт Дж., Малькольм М., Моулер К. Машинные методы математических вычислений. — М.: Мир, 1980.
  • Ширли П., Маршнер С. Основы компьютерной графики. — М.: ДМК Пресс, 2018.
  • Амосов А. А., Дубинский Ю. А., Копченова Н. В. Вычислительные методы для инженеров. — М.: Высшая школа, 1994.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →