Кубические сплайны Эрмита обычно используются для интерполяции числовых данных, заданных при заданных значениях аргументов , для получения непрерывной функции . Данные должны состоять из желаемого значения функции и производной для каждого . (Если указаны только значения, производные необходимо оценить по ним.) Формула Эрмита применяется к каждому интервалу отдельно. Полученный сплайн будет непрерывным и будет иметь непрерывную первую производную.
Кубические полиномиальные сплайны можно задать другими способами, наиболее распространенным из которых является кубик Безье . Однако эти два метода предоставляют один и тот же набор сплайнов, и данные можно легко преобразовать между формами Безье и Эрмита; поэтому имена часто используются так, как если бы они были синонимами.
Кубические полиномиальные сплайны широко используются в компьютерной графике и геометрическом моделировании для получения кривых или траекторий движения , проходящих через заданные точки плоскости или трехмерного пространства . В этих приложениях каждая координата плоскости или пространства отдельно интерполируется кубической сплайн-функцией отдельного параметра t . Кубические полиномиальные сплайны также широко используются в приложениях структурного анализа, таких как теория балок Эйлера – Бернулли . Кубические полиномиальные сплайны также применялись для анализа смертности [2] и прогнозирования смертности. [3]
Кубические сплайны можно расширить до функций двух или более параметров несколькими способами. Бикубические сплайны ( бикубическая интерполяция ) часто используются для интерполяции данных в регулярной прямоугольной сетке, таких как значения пикселей в цифровом изображении или данные о высоте на местности. Участки бикубической поверхности , определяемые тремя бикубическими сплайнами, являются важным инструментом в компьютерной графике.
Кубические сплайны часто называют csplines , особенно в компьютерной графике. Сплайны Эрмита названы в честь Чарльза Эрмита .
Интерполяция на одном интервале
Единичный интервал [0, 1]
Четыре базисные функции Эрмита. Интерполянт в каждом подинтервале представляет собой линейную комбинацию этих четырех функций.
На единичном интервале , учитывая начальную точку в и конечную точку в с начальной касательной в и конечной касательной в , полином может быть определен формулой
t
Интерполяция на произвольном интервале
Интерполяция в произвольном интервале осуществляется путем сопоставления последнего с помощью аффинной (степени-1) замены переменной. Формула
Уникальность
Указанная выше формула обеспечивает уникальный полиномиальный путь третьей степени между двумя точками с заданными касательными.
Доказательство. Пусть – два полинома третьей степени, удовлетворяющие заданным граничным условиям. Определите тогда:
Поскольку оба и являются полиномами третьей степени, это не более чем полином третьей степени. Так что должно быть в форме
Мы знаем, кроме того, что
Сложив ( 1 ) и ( 2 ) вместе, мы получаем, что и, следовательно, таким образом
Представительства
Мы можем записать интерполяционный полином как
В «развернутом» столбце показано представление, использованное в приведенном выше определении. Столбец «факторизованный» сразу показывает это и на границах равны нулю. Далее вы можете заключить, что и имеют ноль кратности 2 в 0, и имеют такой ноль в 1, поэтому на этих границах они имеют наклон 0. В столбце «Бернштейн» показано разложение базисных функций Эрмита на полиномы Бернштейна третьего порядка:
Используя эту связь, вы можете выразить кубическую интерполяцию Эрмита через кубические кривые Безье относительно четырех значений и выполнить интерполяцию Эрмита с использованием алгоритма де Кастельжо . Он показывает, что в кубическом патче Безье две контрольные точки в середине определяют касательные интерполяционной кривой в соответствующих внешних точках.
Мы также можем записать полином в стандартной форме как
t
Интерполяция набора данных
Набор данных для можно интерполировать, применив описанную выше процедуру к каждому интервалу, где касательные выбираются разумным образом, что означает, что касательные для интервалов, имеющих общие конечные точки, равны. Интерполированная кривая тогда состоит из кусочно-кубических сплайнов Эрмита и глобально непрерывно дифференцируема по .
Выбор касательных не уникален, доступно несколько вариантов.
Конечная разница
Пример с касательными в конечной разности
Самый простой выбор — разница в три пункта, не требующая постоянной длины интервала:
для внутренних точек и односторонняя разница в конечных точках набора данных.
Кардинальный сплайн
Пример кардинального сплайна в 2D. Линия представляет собой кривую, а квадраты представляют собой контрольные точки . Обратите внимание, что кривая не достигает первой и последней точек; однако эти точки влияют на форму кривой. Используемый параметр натяжения составляет 0,1.
Кардинальный сплайн , иногда называемый каноническим сплайном , [4] получается [5], если
используется для вычисления тангенсов. Параметр c — это параметр натяжения , который должен находиться в интервале [0, 1] . В каком-то смысле это можно интерпретировать как «длину» касательной. Выбор c = 1 дает все нулевые касательные, а выбор c = 0 дает сплайн Катмулла – Рома в случае равномерной параметризации.
Сплайн Катмулла – Рома
Геометрическая интерпретация кубической интерполяции Катмулла – Рома черной точки с равномерно расположенными абсциссами. [6]
Для касательных, выбранных в качестве
получен сплайн Катмулла–Рома, являющийся частным случаем кардинального сплайна . Это предполагает равномерное расстояние между параметрами.
Кривая названа в честь Эдвина Кэтмелла и Рафаэля Рома . Основное преимущество этого метода заключается в том, что точки исходного набора точек также являются контрольными точками сплайновой кривой. [7] На каждом конце кривой требуются две дополнительные точки. Единая реализация Catmull-Rom может создавать циклы и самопересечения. Хордальная и центростремительная реализации Катмулла-Рома [8] решают эту проблему, но используют немного другой расчет. [9] В компьютерной графике сплайны Катмулла-Рома часто используются для получения плавного интерполированного движения между ключевыми кадрами . Например, большинство анимаций траектории камеры, созданных на основе отдельных ключевых кадров, обрабатываются с помощью сплайнов Catmull-Rom. Они популярны главным образом потому, что их относительно легко вычислить, они гарантируют точное попадание в каждую позицию ключевого кадра, а также гарантируют, что касательные сгенерированной кривой непрерывны на нескольких сегментах.
Сплайн Кочанека – Бартельса
Сплайн Кочанека-Бартельса представляет собой дальнейшее обобщение того , как выбирать касательные с учетом точек данных и с тремя возможными параметрами: натяжением, смещением и параметром непрерывности.
Монотонная кубическая интерполяция
Если для интерполяции монотонного набора данных используется кубический сплайн Эрмита любого из перечисленных выше типов , интерполируемая функция не обязательно будет монотонной, но монотонность можно сохранить путем регулировки тангенсов.
Интерполяция на единичном интервале с совпадающими производными в конечных точках
Рассмотрим одну координату точек и как значения, которые функция f ( x ) принимает в целочисленных ординатах x = n - 1, n , n + 1 и n + 2,
Кроме того, предположим, что касательные в конечных точках определяются как центрированные разности соседних точек:
Чтобы оценить интерполированное значение f ( x ) для действительного x , сначала разделите x на целую часть n и дробную часть u :
где обозначает функцию пола , которая возвращает наибольшее целое число, не превышающее x .
^ Эрвин Крейциг (2005). Высшая инженерная математика (9-е изд.). Уайли. п. 816. ИСБН9780471488859.
^ Стивен Ричардс (2020). «Сплайновая модель Эрмита послепенсионной смертности». Скандинавский актуарный журнал . Тейлор и Фрэнсис: 110–127. дои : 10.1080/03461238.2019.1642239.
^ Сиксиан Тан, Джеки Ли и Леони Тикл (2022). «Сплайновый подход Эрмита для моделирования смертности населения». Анналы актуарной науки . Издательство Кембриджского университета: 1–42. дои : 10.1017/S1748499522000173.
^ Петцольд, Чарльз (2009). «Канонические сплайны в WPF и Silverlight».
^ "Кардинальные сплайны". Сеть разработчиков Microsoft . Проверено 27 мая 2018 г.
^ Кубическая интерполяция не уникальна: эта модель, использующая сплайн Катмулла-Рома и базисные полиномы Лагранжа, проходит через все четыре точки. Примечание. Если черная точка находится слева от желтой точки, расстояние по горизонтали желтого будет отрицательным; если черная точка находится справа от зеленой точки, зеленое расстояние по горизонтали отрицательное.
^ Кэтмалл, Эдвин ; Ром, Рафаэль (1974), «Класс локальных интерполирующих сплайнов», в Барнхилле, РЭ; Ризенфельд, РФ (ред.), Компьютерное геометрическое проектирование , Нью-Йорк: Academic Press, стр. 317–326.
^ Н. Дин, М.С. Флоатер и К. Хорманн. Подразделение кривой по четырем точкам на основе повторяющихся хордальных и центростремительных параметризаций. Компьютерное геометрическое проектирование, 26(3):279–286, 2009.
^ П. Дж. Барри и Р. Н. Голдман. Алгоритм рекурсивного вычисления для класса сплайнов Катмулла-Рома. SIGGRAPH Компьютерная графика, 22 (4): 199–204, 1988.
^ Две иерархии сплайн-интерполяций. Практические алгоритмы для многомерных сплайнов высшего порядка.