В численном анализе , A Сплайн Эрмита или кубический интерполятор Эрмита является сплайн , где каждая часть третьей степени многочлена , указанный в Эрмита форме , то есть, его ценности и первых производных в конечных точках соответствующего домена интервала. [1]
Кубические сплайны Эрмита обычно используются для интерполяции числовых данных, указанных при заданных значениях аргументов., чтобы получить непрерывную функцию . Данные должны состоять из желаемого значения функции и производной на каждом. (Если указаны только значения, производные должны оцениваться по ним.) Формула Эрмита применяется к каждому интервалу.в отдельности. Результирующий сплайн будет непрерывным и будет иметь непрерывную первую производную.
Кубические полиномиальные сплайны могут быть заданы другими способами, кубика Безье является наиболее распространенной. Однако эти два метода обеспечивают одинаковый набор сплайнов, и данные можно легко преобразовать между формами Безье и Эрмита; поэтому имена часто используются как синонимы.
Кубические полиномиальные шлицы широко используются в компьютерной графике и геометрическом моделировании для получения кривых или траекторий движения, которые проходят через заданные точки плоскости или трехмерного пространства . В этих приложениях каждая координата плоскости или пространства отдельно интерполируется кубической сплайн-функцией отдельного параметра t . Кубические полиномиальные шлицы также широко используются в приложениях для расчета конструкций, таких как теория балок Эйлера – Бернулли .
Кубические шлицы можно расширить до функций двух или более параметров несколькими способами. Бикубические сплайны ( бикубическая интерполяция ) часто используются для интерполяции данных на регулярной прямоугольной сетке, таких как значения пикселей в цифровом изображении или данные о высоте на местности. Бикубические участки поверхности , определяемые тремя бикубическими шлицами, являются важным инструментом в компьютерной графике.
Кубические сплайны часто называют сплайнами , особенно в компьютерной графике. Шлицы Hermite названы в честь Чарльза Эрмита .
Интерполяция на одном интервале
Единичный интервал (0, 1)
Четыре базисные функции Эрмита. Интерполянт в каждом подынтервале представляет собой линейную комбинацию этих четырех функций.
На единичном интервале , учитывая отправную точку в и конечная точка в с начальной касательной в и касательная к концу в , многочлен можно определить как
где t ∈ [0, 1].
Интерполяция на произвольном интервале
Интерполяция в произвольном интервале выполняется путем сопоставления последнего с через аффинную (степень-1) замену переменной. Формула
где , а также относится к базовым функциям, определенным ниже . Обратите внимание, что значения тангенса были масштабированы на по сравнению с уравнением на единичном интервале.
Уникальность
Указанные выше формулы обеспечивают уникальный полиномиальный путь третьей степени между двумя точками с заданными касательными.
Доказательство. Позволять- два полинома третьей степени, удовлетворяющие заданным граничным условиям. Определять тогда:
Поскольку оба а также - многочлены третьей степени, является не более чем полиномом третьей степени. Так должен иметь форму
Вычисление производной дает
Кроме того, мы знаем, что
( 1 )
( 2 )
Складывая ( 1 ) и ( 2 ) вместе, получаем, что, и поэтому таким образом
Представления
Мы можем записать интерполяционный полином в виде
где , , , являются базисными функциями Эрмита. Их можно записать по-разному, каждый из которых раскрывает разные свойства:
расширенный
факторизованный
Бернштейн
Столбец «развернутый» показывает представление, используемое в приведенном выше определении. Столбец "Факторизованный" сразу показывает, что а также равны нулю на границах. Далее можно сделать вывод, что а также иметь нуль кратности 2 в 0, и а также имеют такой ноль в 1, поэтому они имеют наклон 0 на этих границах. В столбце «Бернштейн» показано разложение базисных функций Эрмита на полиномы Бернштейна 3-го порядка:
Используя эту связь, вы можете выразить кубическую интерполяцию Эрмита в терминах кубических кривых Безье относительно четырех значенийи выполнить интерполяцию Эрмита с использованием алгоритма де Кастельжау . Он показывает, что в кубическом фрагменте Безье две контрольные точки в середине определяют касательные кривой интерполяции в соответствующих внешних точках.
Интерполяция набора данных
Набор данных, для , можно интерполировать, применяя описанную выше процедуру к каждому интервалу, где касательные выбираются разумным образом, что означает, что касательные для интервалов, разделяющих конечные точки, равны. Тогда интерполированная кривая состоит из кусочно-кубических сплайнов Эрмита и глобально непрерывно дифференцируема в.
Выбор касательных не уникален, и доступно несколько вариантов.
Конечная разница
Пример с разностными касательными
Самый простой выбор - это трехточечная разность, не требующая постоянной длины интервала:
для внутренних точек , и одностороннее различие в конечных точках набора данных.
Кардинальный сплайн
Пример кардинального сплайна в 2D. Линия представляет собой кривую, а квадраты - контрольные точки. . Обратите внимание, что кривая не достигает первой и последней точек; эти точки, однако, влияют на форму кривой. Используемый параметр натяжения - 0,1
Кардинал сплайна , иногда называют каноническим сплайн , [2] получается [3] , если
используется для вычисления касательных. Параметр c - это параметр натяжения, который должен находиться в интервале [0, 1] . В некотором смысле это можно интерпретировать как «длину» касательной. Выбор c = 1 дает нулевые касательные, а выбор c = 0,5 дает сплайн Катмалла – Рома.
Шпонка Катмулла – Рома
Геометрическая интерпретация кубической интерполяции черной точки с равномерно расположенными абсциссами. [4]
Для касательных выбранных
получается сплайн Катмулла – Рома , являющийся частным случаем кардинального сплайна. Это предполагает одинаковый интервал между параметрами.
Кривая названа в честь Эдвина Катмалла и Рафаэля Рома . Основным преимуществом этого метода является то, что точки вдоль исходного набора точек также составляют контрольные точки для сплайновой кривой. [5] Требуются две дополнительные точки на обоих концах кривой. Единая реализация Катмулла – Рома может создавать петли и самопересечения. В хорде и центростремительные Катмуллы Rom реализации [6] решить эту проблему, но и использовать несколько иной расчет. [7] В компьютерной графике сплайны Катмулла – Рома часто используются для получения плавного интерполированного движения между ключевыми кадрами . Например, большинство анимаций пути камеры, генерируемых из дискретных ключевых кадров, обрабатываются с помощью сплайнов Катмулла – Рома. Они популярны в основном из-за того, что их относительно легко вычислить, они гарантируют точное попадание в каждую позицию ключевого кадра, а также гарантируют, что касательные к сгенерированной кривой непрерывны по нескольким сегментам.
Шпонка Кочанека – Бартельса
Сплайн Кочанека – Бартелса - это дальнейшее обобщение того, как выбирать касательные с учетом точек данных. , а также , с тремя возможными параметрами: натяжением, смещением и параметром непрерывности.
Монотонная кубическая интерполяция
Если кубический сплайн Эрмита любых из перечисленных выше типов используются для интерполяции в виде монотонного набора данных, интерполированная функция не обязательно будет монотонной, но монотонность может быть сохранена путем регулировки касательных.
Интерполяция на единичном интервале с согласованными производными в конечных точках
Рассмотрим единую координату точек а также как значения, которые функция f ( x ) принимает на целочисленных ординатах x = n - 1, n , n + 1 и n + 2,
Кроме того, предположим, что касательные в конечных точках определены как центральные разности соседних точек:
Чтобы оценить интерполированный f ( x ) для действительного x , сначала разделите x на целую часть n и дробную часть u :
где обозначает функцию пола , которая возвращает наибольшее целое число, не превышающее x .
^ Эрвин Крисзиг (2005). Высшая инженерная математика (9-е изд.). Вайли. п. 816. ISBN 9780471488859.
^Петцольд, Чарльз (2009). «Канонические сплайны в WPF и Silverlight» .
^"Кардинальные сплайны" . Сеть разработчиков Microsoft . Проверено 27 мая 2018 .
^ Кубическая интерполяция не уникальна: эта модель, использующая сплайн Катмулла-Рома и базисные полиномы Лагранжа, проходит через все четыре точки. Примечание. В левой трети желтое горизонтальное расстояние отрицательно, так как черная точка находится слева от желтой точки; в правой трети зеленое горизонтальное расстояние отрицательно, так как черная точка находится справа от зеленой точки.
^Катмулл, Эдвин ; Ром, Рафаэль (1974), «Класс локальных интерполирующих сплайнов», в Барнхилле, штат Рэпиз; Ризенфельд, РФ (ред.), Компьютерное геометрическое проектирование , Нью-Йорк: Academic Press, стр. 317–326.
^ Н. Дин, MS Floater, и К. Хорманн. Подразделение кривой по четырем точкам на основе повторной хордовой и центростремительной параметризации. Компьютерное геометрическое проектирование, 26 (3): 279–286, 2009.
^ П. Дж. Барри и Р. Н. Голдман. Рекурсивный алгоритм вычисления для класса сплайнов Катмулла-Рома. SIGGRAPH Computer Graphics, 22 (4): 199–204, 1988.
^ Две иерархии сплайн-интерполяции. Практические алгоритмы многомерных сплайнов высшего порядка .
Внешние ссылки
Сплайновые кривые , профессор Дональд Х. Хаус Университет Клемсона
Многомерная интерполяция и аппроксимация Эрмита , профессор Чандраджит Баджадж, Университет Пердью
Введение в сплайны Катмалла – Рома , MVPs.org
Интерполяция кардинальных сплайнов и сплайнов Катмулла – Рома
Методы интерполяции: линейный, косинусный, кубический и эрмитовый (с источниками C)