Математический аппарат компьютерной графики. Интерполяция. Сплайны. Лекция №6 Интерполяция и аппроксимация Интерполяция – построение кривой, проходящей через контрольные точки и обладающей некими дополнительными свойствами (например гладкостью); Аппроксимация – приближение кривой (не обязательно проходит точно через данные точки, но удовлетворяет некоторому заданному свойству относительно этих точек). Постановка задачи интерполяции На отрезке [𝑎, 𝑏] заданы 𝑛+1 точки: 𝑥𝑖 = 𝑥0 , 𝑥1 , … , 𝑥𝑛 , которые называются узлами интерполяции, и значения некоторой функции 𝑓(𝑥) в этих точках 𝑓 𝑥0 = 𝑦0 , 𝑓 𝑥1 = 𝑦1 , … , 𝑓 𝑥𝑛 = 𝑦𝑛 . Требуется построить функцию Ф(𝑥) (интерполяционная функция), принадлежащую известному классу и принимающую в узлах интерполяции те же значения, что и 𝑓(𝑥), т. е. такую, что Ф 𝑥0 = 𝑦0 , Ф 𝑥1 = 𝑦1 , … , Ф 𝑥𝑛 = 𝑦𝑛 . Постановка задачи интерполяции В общей постановке задача может иметь бесконечное количество решений или не иметь решений вообще. Задача становится однозначной если вместо произвольной функции Ф(𝑥) искать полином 𝜑 𝑥 (интерполяционный полином) степени не выше 𝑛, удовлетворяющий условиям 𝜑 𝑥0 = 𝑦0 , 𝜑 𝑥1 = 𝑦1 , … 𝜑 𝑥𝑛 = 𝑦𝑛 . Интерполяционный полином 𝜑 𝑥 = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + ⋯ + 𝑎1 + 𝑎0 Обычно полином используется для вычисления значений функции f 𝑥 для значений аргумента 𝑥, отличных от узлов интерполирования. Такая операция называется интерполяцией функции. Различают два вида интерполяции: 1) Глобальная – соединение всех точек f 𝑥 единым интерполяционным полиномом; 2) Локальная – соединение точек отрезками прямой (по двум точкам), отрезками параболы (по трем точкам). Глобальная интерполяция Параболическая интерполяция Необходимо найти полином 𝜑 𝑥 = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + ⋯ + 𝑎1 + 𝑎0 Данный полином имеет 𝑛 + 1 коэффициент, подлежащие определению. Для 𝜑 𝑥 требуют выполнение условий 𝜑 𝑥0 = 𝑦0 , 𝜑 𝑥1 = 𝑦1 , … 𝜑 𝑥𝑛 = 𝑦𝑛 . В результате получают систему из 𝑛 + 1 уравнения с 𝑛 + 1 неизвестной: Глобальная интерполяция Параболическая интерполяция Решение системы даёт единственное решение, т.к. ее определитель (определитель Вандермонда) отличен от нуля. Следовательно, полином существует и он единственен. Глобальная интерполяция Параболическая интерполяция. Пример. Дано: Искомый полином: Система уравнений: Решение: Глобальная интерполяция Интерполяционная формула Лагранжа Пусть на отрезке [𝑎, 𝑏] даны 𝑛 + 1 различных значений аргумента функции 𝑥0 , 𝑥1 , … , 𝑥𝑛 и соответствующие им значения функции 𝑦 = 𝑓(𝑥). Требуется построить полином 𝐿𝑛 (𝑥) степени не выше 𝑛, имеющий в узлах те же значения что и функция 𝑓(𝑥). Глобальная интерполяция Интерполяционная формула Лагранжа. Пример Положим 𝑛 = 1. В этом случае имеются две точки и интерполяционная формула Лагранжа дает уравнение прямой вида Для случая 𝑛 = 2 Глобальная интерполяция Интерполяционная формула Ньютона Вводится дополнительное требование: значения аргумента должны быть равноотстоящими (образуют арифметическую прогрессию) Первая форма Глобальная интерполяция Интерполяционная формула Ньютона Поиск неизвестных коэффициентов Глобальная интерполяция Интерполяционная формула Ньютона Поиск неизвестных коэффициентов Глобальная интерполяция Интерполяционная формула Ньютона Общий вид Локальная интерполяция Линейная интерполяция Основные соотношения Локальная интерполяция Квадратичная интерполяция Основные соотношения Локальная интерполяция Кубическая интерполяция. Сплайны Сплайн (от англ. spline, от [flat] spline — гибкое лекало, гибкая плазовая рейка — полоса металла, используемая для черчения кривых линий) — функция, область определения которой разбита на конечное число отрезков, на каждом из которых сплайн совпадает с некоторым алгебраическим многочленом. Локальная интерполяция Кубическая интерполяция. Сплайны. Кривая Безье Локальная интерполяция Кубическая интерполяция. Сплайны. Кривая Безье Параметрическая форма для 𝑛 = 3 Базисная матрица Безье Локальная интерполяция Кубическая интерполяция. Сплайны. - сплайн