stringtranslate.com

Кубический сплайн Эрмита

В численном анализе кубический сплайн Эрмита или кубический интерполятор Эрмита — это сплайн , в котором каждая часть представляет собой полином третьей степени, заданный в форме Эрмита , то есть его значениями и первыми производными в конечных точках соответствующего интервала области определения . [1]

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

Кубические полиномиальные сплайны можно задать и другими способами, наиболее распространенным является кубический сплайн Безье . Однако эти два метода предоставляют один и тот же набор сплайнов, и данные можно легко преобразовать между формами Безье и Эрмита; поэтому эти названия часто используются как синонимы.

Кубические полиномиальные сплайны широко используются в компьютерной графике и геометрическом моделировании для получения кривых или траекторий движения , которые проходят через заданные точки плоскости или трехмерного пространства . В этих приложениях каждая координата плоскости или пространства отдельно интерполируется кубической сплайновой функцией отдельного параметра  t . Кубические полиномиальные сплайны также широко используются в приложениях структурного анализа, таких как теория балок Эйлера–Бернулли . Кубические полиномиальные сплайны также применялись для анализа смертности [2] и прогнозирования смертности. [3]

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

Кубические сплайны часто называют csplines , особенно в компьютерной графике. Эрмитовы сплайны названы в честь Шарля Эрмита .

Интерполяция на одном интервале

Единичный интервал [0, 1]

Четыре базисные функции Эрмита. Интерполянт в каждом подынтервале представляет собой линейную комбинацию этих четырех функций.

На единичном интервале , если задана начальная точка в и конечная точка в с начальной касательной в точке и конечной касательной в точке , многочлен можно определить как , где t ∈ [0, 1].

Интерполяция на произвольном интервале

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

Уникальность

Указанная выше формула определяет уникальный полиномиальный путь третьей степени между двумя точками с заданными касательными.

Доказательство. Пусть — два полинома третьей степени, удовлетворяющие заданным граничным условиям. Определим тогда:

Поскольку и являются полиномами третьей степени, то не более чем полином третьей степени. Поэтому должен иметь вид Вычисление производной дает

Мы знаем, кроме того, что

Объединяя ( 1 ) и ( 2 ), мы заключаем, что , и, следовательно, таким образом

Представления

Мы можем записать интерполяционный полином как где , , , — базисные функции Эрмита. Их можно записать разными способами, каждый из которых раскрывает разные свойства:

Столбец "Expanded" показывает представление, используемое в определении выше. Столбец "Factorized" сразу показывает, что и равны нулю на границах. Вы можете далее заключить, что и имеют нуль кратности 2 в точке 0, а и имеют такой же нуль в точке 1, поэтому они имеют наклон 0 на этих границах. Столбец "Bernstein" показывает разложение базисных функций Эрмита в полиномы Бернштейна порядка 3:

Используя эту связь, вы можете выразить кубическую интерполяцию Эрмита в терминах кубических кривых Безье относительно четырех значений и выполнить интерполяцию Эрмита с помощью алгоритма де Кастельжау . Он показывает, что в кубическом фрагменте Безье две контрольные точки в середине определяют касательные к интерполяционной кривой в соответствующих внешних точках.

Мы также можем записать полином в стандартной форме, где контрольные точки и касательные являются коэффициентами. Это позволяет эффективно оценивать полином при различных значениях t, поскольку постоянные коэффициенты можно вычислить один раз и использовать повторно.

Интерполяция набора данных

Набор данных для можно интерполировать, применяя вышеописанную процедуру к каждому интервалу, где касательные выбираются разумным образом, что означает, что касательные для интервалов, имеющих общие конечные точки, равны. Интерполированная кривая тогда состоит из кусочно-кубических сплайнов Эрмита и глобально непрерывно дифференцируема в .

Выбор касательных не является единственным, и существует несколько вариантов.

Конечная разность

Пример с конечно-разностными касательными

Самый простой выбор — разница в три очка, не требующая постоянной длины интервала:

для внутренних точек и односторонней разности в конечных точках набора данных.

Кардинальный сплайн

Пример кардинального сплайна в 2D. Линия представляет кривую, а квадраты представляют контрольные точки . Обратите внимание, что кривая не достигает первой и последней точек; эти точки, однако, влияют на форму кривой. Используемый параметр натяжения равен 0,1

Кардинальный сплайн , иногда называемый каноническим сплайном , [4] получается [5], если

используется для вычисления касательных. Параметр c — это параметр натяжения , который должен находиться в интервале [0, 1] . В некотором смысле это можно интерпретировать как «длину» касательной. Выбор c  = 1 дает все нулевые касательные, а выбор c  = 0 дает сплайн Кэтмелла–Рома в случае равномерной параметризации.

Сплайн Кэтмулла–Рома

Геометрическая интерпретация кубической интерполяции Кэтмелла–Рома черной точки с равномерно распределенными абсциссами. [6]

Для касательных, выбранных как

Получается сплайн Кэтмелла–Рома, являющийся частным случаем кардинального сплайна. Это предполагает равномерное распределение параметров .

Кривая названа в честь Эдвина Кэтмелла и Рафаэля Рома . Главное преимущество этого метода заключается в том, что точки вдоль исходного набора точек также составляют контрольные точки для сплайновой кривой. [7] На каждом конце кривой требуются две дополнительные точки. Равномерная реализация Кэтмелла–Рома может создавать петли и самопересечения. Хордовая и центростремительная реализации Кэтмелла–Рома [8] решают эту проблему, но используют немного другой расчет. [9] В компьютерной графике сплайны Кэтмелла–Рома часто используются для получения плавного интерполированного движения между ключевыми кадрами . Например, большинство анимаций траектории камеры, сгенерированных из дискретных ключевых кадров, обрабатываются с помощью сплайнов Кэтмелла–Рома. Они популярны в основном из-за того, что их относительно легко вычислять, гарантируя, что каждая позиция ключевого кадра будет точно достигнута, а также гарантируя, что касательные сгенерированной кривой непрерывны на нескольких сегментах.

Сплайн Коханека–Бартельса

Сплайн Коханека–Бартельса представляет собой дальнейшее обобщение того, как выбирать касательные по заданным точкам данных , и , с тремя возможными параметрами: натяжением, смещением и параметром непрерывности.

Монотонная кубическая интерполяция

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

Интерполяция на единичном интервале с согласованными производными в конечных точках

Рассмотрим одну координату точек и как значения, которые функция f ( x ) принимает в целочисленных ординатах x  = n  − 1, n , n  + 1 и n  + 2,

Кроме того, предположим, что касательные в конечных точках определяются как центрированные разности соседних точек:

Чтобы оценить интерполированную функцию f ( x ) для действительного x , сначала разделим x на целую часть n и дробную часть u :

где обозначает функцию пола , которая возвращает наибольшее целое число, не превышающее x .

Тогда сплайн Кэтмелла–Рома имеет вид [10] где обозначает транспонированную матрицу . Нижнее равенство изображает применение метода Хорнера .

Эта статья актуальна для трикубической интерполяции , где одна оптимизация требует вычисления CINT u шестнадцать раз с одним и тем же u и разными p .

Смотрите также

Ссылки

  1. ^ Эрвин Крейсциг (2005). Advanced Engineering Mathematics (9-е изд.). Wiley. стр. 816. ISBN 9780471488859.
  2. ^ Стивен Ричардс (2020). «Эрмитово-сплайновая модель смертности после выхода на пенсию». Scandinavian Actuarial Journal . Taylor and Francis: 110–127. doi : 10.1080/03461238.2019.1642239.
  3. ^ Sixian Tang, Jackie Li и Leonie Tickle (2022). «Подход сплайна Эрмита для моделирования смертности населения». Annals of Actuarial Science . Cambridge University Press: 1–42. doi : 10.1017/S1748499522000173.
  4. ^ Петцольд, Чарльз (2009). «Канонические сплайны в WPF и Silverlight».
  5. ^ "Кардинальные сплайны". Microsoft Developer Network . Получено 2018-05-27 .
  6. ^ Кубическая интерполяция не является уникальной: эта модель, использующая сплайн Катмулла-Рома и базисные полиномы Лагранжа, проходит через все четыре точки. Примечание: если черная точка находится слева от желтой точки, то желтое горизонтальное расстояние отрицательно; если черная точка находится справа от зеленой точки, то зеленое горизонтальное расстояние отрицательно.
  7. ^ Кэтмелл, Эдвин ; Ром, Рафаэль (1974), «Класс локальных интерполяционных сплайнов», в Barnhill, RE; Riesenfeld, RF (ред.), Computer Aided Geometric Design , Нью-Йорк: Academic Press, стр. 317–326
  8. ^ Н. Дин, М. С. Флоатер и К. Хорманн. Четырехточечное подразделение кривой на основе итерированных хордовых и центростремительных параметризаций. Computer Aided Geometric Design, 26(3):279–286, 2009.
  9. ^ PJ Barry и RN Goldman. Рекурсивный алгоритм оценки для класса сплайнов Catmull-Rom. SIGGRAPH Computer Graphics, 22(4):199–204, 1988.
  10. ^ Две иерархии сплайн-интерполяций. Практические алгоритмы для многомерных сплайнов высшего порядка.

Внешние ссылки