2.2. Кубические интерполяционные сплайны
Как уже отмечалось, на практике наибольшее примене-ние нашли сплайны нечётной степени. При k=1 интерполяционные сплайны совпадают с локальными, поскольку отсутствуют условия на производные во внутренних точках. В случае k=3 локальные сплайны более точно приближают исходную функцию (с точностью до первых производных), однако имеют гладкость в узлах только первой степени. Интерполяционные кубические сплайны менее точно приближают функцию (только её значения), но имеют гладкость в узлах степени 2. Также они обладают следующим важным свойством. Если наложить на сплайн краевые условия S (х0)= S (хn)=0, то он будет ми-нимизировать функционал
который можно интерпретировать как потенциальную энергию изгиба упругого стержня постоянного сечения, закреплённого в узлах интерполяции. Также рассмотренный функционал оценивает осцилляцию интерполирующей кривой.
Рассмотрим построение интерполяционного сплайна. В предыдущем разделе дано общее решение по методу неоп-ределённых коэффициентов, однако в данном случае задачу можно решить намного проще с использованием кубичес-ких сплайнов Эрмита (локальных). Данные сплайны имеют гладкость степени 1 и у них помимо значений уi во всех узлах xi заданы также величины первых производных уi . Поскольку у интерполяционного сплайна на первые производные никаких исходных условий не накладывается,
83
то непрерывность второй производной во внутренних узлах
и выполнение краевых условий можно обеспечить за счёт варьирования именно этих величин.
Зафиксируем внутренний узел xi (i=1, . . . , n-1). Условие непрерывности второй производной в нём принимает вид: Si (xi) = Si+1 (xi). Переходя к безразмерным нормирован-ным переменным, представим его в форме: h2i Si (1) = h2i+1 Si+1 (0), hi = xi - xi -1 ; hi+1 = xi+1 - xi . Найдем выражения для производных. Подставляя в формулу (3.5.а) полиномы Эрмита 1i (t) - 4i (t), , получим:
S(i+1)(t) = уi (1-3t2+2t3)+ уi+1 ( 3t2 –2t3)+ hi+1 уi (t - 2t2+ t3)+ hi+1 уi+1 ( - t 2 + t 3 ).
Отсюда следует:
S(i+1)(t)= уi (-6+12t) /h2i+1 + уi+1 ( 6 –12t) / h2i+1+ уi ( - 4+ 6t) / hi+1+ уi+1 ( - 2 + 6t ) / hi+1,
S(i+1)(0)= -6уi / h2i+1 + 6 уi+1 / h2i+1 - 4 уi / hi+1 - 2 уi+1 / hi+1.
Аналогично рассматриваем участок [xi-1, xi] :
Si (t)= уi-1 (1-3t2+2t3)+ уi ( 3t2 –2t3)+ hi уi-1 (t - 2t2+ t3)+
hi уi (- t 2 + t 3 ),
Si(t)= уi-1 (-6+12t) / h2i+ уi ( 6 –12t) / h2i + уi-1 ( - 4+ 6t) / hi + уi ( - 2 + 6t ) / hi,
Si (1)= 6уi-1 / h2i - 6 уi / h2i + 2 уi-1 / hi+ 4 уi / hi.
Приравнивая вторые производные, группируя слагаемые и сократив на 2, получим:
уi-1 /hi + 2(1/hi +1/hi+1)уi + уi+1 /hi+1 = 3[- уi-1 /h2i + (1/h2i -1/h2i+1 )уi+ уi+1 /h2i+1].
Домножая обе части выражения на hi+1 и введя коэф-фициент i = h i/hi+1 , представим уравнение связи величин уi-1 , уi , уi+1 (i=1, . . . , n-1) в виде:
i уi -1 +2(1+i )уi + уi+1 = bi ; (i=1, . . . , n-1) (3.8)
где bi =3[i ( уi - уi-1 ) / hi +( уi+1 - уi ) / hi+1 ] - постоянный коэффициент.
84
Рассмотрим краевые условия 1) (п.2.1), при которых заданы условия на первые производные в начальной и конечной точках сплайна: S1 1(t0)=f 1(х0), Sn 1(tn)=f 1(хn ).
Их учёт приводит к тому, что в уравнениях для узлов x1 и xn вместо у0 , уn необходимо подставить, соответственно, заданные величины f 1(х0) и f 1(хn ). После переноса соответствующих слагаемых в правую часть эти уравнения примут вид:
2(1+1 )у1 + у2 = b1 - 1 f 1(х0) ,
n-1 уn -2 + 2(1+ n-1 )уn-1 = bn-1 - f 1(хn ). (3.9)
Краевые условия 2) (п.2.1) обычно для уменьшения осцилляции сплайна применяют в виде: S111(х0)=Sn 11(хn)=0. Раскрывая их, после сокращения на 2 получим следующие дополнительные уравнения:
-3у0 / h21 + 3 у1 / h21 -2 у0 / h1 - у1 / h1 = 0,
3уn -1 / h2n - 3 уn / h2n + уn-1 / hn + 2 уn / hn = 0.
Для приведения системы уравнений к однотипному виду выразим из этих уравнений, соответственно, у0 через у1, а уn - через уn-1 :
у0 = -1,5 у0 / h1 + 1,5 у1 / h1 - 0,5 у1 ,
уn = -1,5 уn -1 / hn + 1,5 уn / hn -0,5 уn-1 . (3.10)
Подставляя найденные выражения, соответственно, в уравнения для узлов х1 и хn-1, получим их в следующей форме:
(2+1,51 )у1 + у2 = b1 +1,51 (у1 - у0 ) / h1 ,
n-1 уn -2 +(1,5+2 n-1 )уn-1 =bn-1+1,5 (уn-1 -уn )/hn . (3.11)
Очевидно, в обоих рассмотренных видах краевых усло-вий уравнения (3.9),(3.11) для узлов х1 и хn-1 качественно одинаковы. Их можно представить как:
С1 у1 + у2 = b1 ,
n-1 уn -2 + С n-1 уn-1 = bn-1 ,
где для условий 1-го вида:
С1 =2(1+1 ), b1 = b1 - 1 f 1(х0) ,
С n-1 =2(1+n -1 ), bn-1 = bn-1 - f 1(хn ) ,
85
для условий 2-го вида:
С1 =2+1,51 , b1 = b1 + 1,51 (у1 - у0 ) / h1 ,
С n-1 =1,5+2n -1 , bn-1 = bn-1 +1,5 (уn-1 - уn ) / hn .
В итоге система уравнений для определения значений (у1 , у2 , . . . , уn-1) примет вид:
С1 у1 + у2 = b1 ,
i уi -1 + 2(1+i )уi + уi+1 = bi ; (i=2, . . . , n-2) (3.12 а)
n-1 уn -2 + С n-1 уn-1 = bn-1 ,
В векторной форме:
АY =B , (3.12 б)
где
Матрица системы трёхдиагональна, поэтому для упро-щения её решения применяют специальную модификацию
86
метода Гаусса – метод прогонки. Он также имеет прямой и обратный ход.
При прямой прогонке для всех величин уi (i=1, . . . , n-2) путём последовательного исключения находят их линей-ные выражения через уi+1 вида:
уi = i уi+1 + i . (3.13)
При обратной прогонке:
1) из совместного решения линейного выражения вида (3.13) для уn-2 и последнего уравнения системы (3.12) находят величину уn-1 :
уn-1 =(bn-1 - n-1 n-1 ) / (cn-1 + n-1 n-1 ) ,
2) последовательно подставляя уn-1 , уn-2 , . . . в уравнения (3.13), определяют все искомые величины уi .
Значения у0, уn на краях в случае условий 1-го рода являются нулевыми: у0=уn =0. При условиях 2-го рода их рассчитывают по формулам (3.10).
Метод прогонки требует выполнения минимального чис-ла операций. Он устойчив к ошибкам вычислений, по-скольку их влияние быстро затухает в процессе расчётов.
Рассмотренные кубические интерполяционные сплайны, имеющие гладкость 2-й степени, называют сплайнами Фергюсона или сплайнами Шёнберга. Расчёт их значений производится так же, как и у сплайнов Эрмита по форму-лам (3.4 а,б).
Двухмерные сплайны Фергюсона, предназначенные для интерполирования поверхностей на прямоугольной сетке (xi, уj) (i = 0,1 ,..., n; j = 0,1 ,..., m), представляют собой такие же квадратичные формы, как и двухмерные сплайны Эрмита (3.5). Требуемые значения первых производных zxij , zуij в узлах сетки можно найти последовательно мето-дом одномерной прогонки – сначала zxij при фикси-рованных значениях по у , затем - zуij при фиксированных значениях по х.
87
- Глава 1. Основные виды геометрических объектов
- §1. Основные аналитические способы задания кривых
- §2. Виды кривых
- §3. Основные способы задания прямых
- §4. Способы задания окружностей и их дуг
- §6. Виды поверхностей
- Пример 2.Уравнение конуса второй степени
- §7. Основные способы задания плоскостей
- §8. Аналитические способы задания пространственных тел
- Глава 2. Интерполяция кривых и поверхностей алгебраическими полиномами
- §1. Основные способы моделирования кривых. Интерполяция и аппроксимация
- §2. Интерполирование кривых с помощью алгебраических полиномов канонического вида
- §3. Интерполирование по однократным узлам. Интерполяционные многочлены Лагранжа и Ньютона
- §4. Интерполирование по двукратным узлам. Интерполяционные многочлены Эрмита
- §5. Интерполирование поверхностей
- 5.1. Интерполирование по однократным узлам. Билинейные поверхности
- 5.2. Интерполирование по двукратным узлам
- Глава 3. Моделирование кривых и поверхностей при помощи сплайнов
- I. Построение локальных сплайнов.
- II. Построение интерполяционных сплайнов.
- §1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
- 1.1 Построение сплайнов по однократным узлам
- 1.2 Интерполирование по двукратным узлам
- §2. Построение интерполяционных сплайнов.
- 2.2. Кубические интерполяционные сплайны
- §3. Интерполяция с помощью в-сплайнов
- Глава 4. Интерполирование поверхностей по линиям
- §1.Интерполирование по кривым (линейчатые или плазовые поверхности)
- §2. Линейные поверхности Кунса
- §3. Обобщенные поверхности Кунса
- Глава 5. Аппроксимация алгебраическими полиномами
- §1. Аппроксимация по методу наименьших квадратов
- §2. Аппроксимация алгебраическими многочленами по критерию наилучшего равномерного приближения
- § 3. Аппроксимация при помощи кривых и поверхностей Безье
- Глава 6. Модели объектов. Плоские и пространственные линейные преобразования
- §1. Модели (структуры данных) графических объектов
- §2. Задание плоских и пространственных линейных преобразований при помощи уравнений связи
- § 3. Однородные координаты. Матричные представления линейных преобразований
- Задачи. Записать прямые и обратные матрицы элемен-тарных преобразований, при помощи которых можно осу-ществить следующие действия:
- § 4. Составные линейные преобразования
- § 5. Линейные преобразования каркасных моделей
- Глава 7.Проективные изображения трехмерных объектов
- §1. Аксонометрические проекции
- 1.1.Ортогональные проекции
- 1.2 Диметрические проекции
- Куб Диметрическая проекция
- 1. 3. Изометрическая проекция
- §2. Перспективные проекции
- §3. Построение проективных векторных изображений трёхмерных объектов
- Глава 8. Графические базы данных (гбд)
- §1. Структура и схема функционирования типовых гбд
- §2. Постановка задачи проектирования гбд в графической системе AutoCad
- Точки привязки
- §3. Разработка структуры гбд
- §4. Пакетные файлы гбд
- §5. Параметрические функции гбд
- §6. Создание библиотек слайдов гбд
- §7. Модификация основного меню AutoCad 2000
- 7.1. Файл меню. Его разделы. Управляющие символы
- 7.2. Модификация всплывающего и падающего меню AutoCad2000
- 7.3. Модификация экранного меню AutoCad2000
- 7.4. Модификация графического меню AutoCad2000
- §8. Использование разработанной базы данных
- Глава 9. Создание реалистических изображений
- § 1. Пространственные модели
- §2. Геометрическое моделирование объектов сложной формы
- § 3. Текстуры
- § 4. Основные операции при построении реалистических изображений
- § 5. Моделирование источников освещения и расчёт освещённости малых участков поверхности объектов
- § 6. Моделирование отражающих свойств поверхностей
- § 7. Моделирование отражения от поверхности (затенение)
- § 8. Удаление невидимых граней. Расчёт теней
- §9. Создание стереоскопического эффекта
- §10. Анимация
- Порядок выполнения и примерные темы курсовых работ
- Литература