Кубічні сплайни Ерміта

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Інтерполяція Ерміта.

Кубічні сплайни Ерміта — кубічні сплайни, що використовують інтерполювання поліномами методом Ерміта. Цей метод інтерполювання використовує дві контрольні точки та два вектори напрямків.

Названі на честь французького математика Шарля Ерміта.

Кубічні поліноміальні сплайни широко використовуються у галузі комп'ютерної графіки та геометричного моделювання для отримання кривих або траєкторії руху, що проходять через задані точки площини або тривимірного простору.

Інтерполяція на інтервалі[ред.ред. код]

Інтерполяція на інтервалі (0,1)[ред.ред. код]

f(t) f(0) f(1) f'(0) f'(1)
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Задано початкову точку з початковим вектором при та кінцеву точку з кінцевим вектором при .

Для кубічного полінома та його похідної

виразимо коефіцієнти через :

Підставивши значення полінома та його похідної із таблиці справа, отримаємо чотири базові ермітові поліноми:

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

Тоді інтерполяційний поліном визначається як лінійна комбінація чотирьох базових:

Існують такі властивості симетрії:

— симетрія відносно осі y=1/2,
— симетрія відносно осі x=1/2,
— симетрія відносно точки (0, 1/2).

Інтерполяція на інтервалі [ред.ред. код]

Інтерполяція на цьому інтервалі задається формулою

Зв'язок з кривими Без'є[ред.ред. код]

Чотири базові ермітові поліноми легко виразити через поліноми Бернштейна, що є базисними для кривих Без'є

Тому кубічний сплайн Ерміта з параметрами

аналогічний кубічній кривій Без'є з опорними вершинами

Інтерполяція сплайном[ред.ред. код]

Інтерполяції набору точок для , здійснюється для кожного інтервалу, і параметри для однієї точки в різних інтервалах вибираються однаковими. Інтерполяційний сплайн отримується неперервно-диференційовним на

Існують декілька способів задання параметрів.

Кінцеві різниці[ред.ред. код]

Найпростіший спосіб із застосуванням трьох контрольних точок:

для індексів , і односторонні різниці на кінцях.

Кардинальні сплайни[ред.ред. код]

Параметр .

Сплайни Кетмал-Рома[ред.ред. код]