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