Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М_Г3_68_88.doc
Скачиваний:
12
Добавлен:
24.04.2019
Размер:
185 Кб
Скачать
☆

3.3. Интерполяция с помощью в-сплайнов

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

Допустим, задан некоторый набор узловых значений параметра кривой {ti}. j-тым сегментом назовём отрезок [tj, tj+1] . В – сплайн степени m , начинающийся на j-том сег-менте, обозначается как Nj,m (t) и занимает не только его, но и последующие до сегмента с номером ( j+ m+1 ) вклю-чительно.

В рекуррентной по степени m форме численное опре-деление В-сплайна имеет вид:

m=0 : N j,0 (t) = (3.14).

m1 :

Каждый j – тый сегмент при заданной степени m пе-рекрывается ( m+1) В-сплайном -Nj,m(t), N(j-1),m(t),…, N(j-m),m (t). Таким образом, при наличии узлов t0, t1,…, tn и, соответ-ственно, сегментов с 0-го по (n-1)-й для полного задания В-сплайнов на них необходимо ввести дополнительно:

а) узлы t-m,…, t-1 и, соответственно, сегменты с номерами (–m),…,(-1) (эти значения не должны попадать внутрь интервала [t0, tn] ) и

85

б) сплайны N-m,m (t), …, N-1,m (t), начинающиеся на этих сегментах.

Моделируемая В-сплайн функция в общем случае мо-жет быть представлена как :

Если рассмотреть конкретный интервал [tk, tk+1] , содержащий t , и исключить из суммы (3.15 а) все нулевые слагаемые, то она принимает вид:

Отсюда вытекает важное свойство В-сплайнов: значе-ние сплайн-функции P(t) степени m в фиксированной точке зависит только от m коэффициентов.

Рекуррентное соотношение (3.14) позволяет непо-средственно вычислять в текущей точке t значения всех В-сплайнов, принимающих в ней ненулевые значения. Допус-тим, t [tj, tj+1] и степень сплайна равна m. Рассмотрим последовательно вычисление сплайнов степени 0,1,…, m .

Степень 0. Из всех сплайнов нулевой стeпени на интервале [tj, tj+1] не равен нулю только Nj,0 (t) . По опре-делению N j,0 (t) = 1 .

Степень 1. Не равны нулю на интервале [tj, tj+1] только N j-1,1 (t) и N j,1 (t). С учётом N j-1,0 (t)=N j+1,0 (t) = 0 получим:

86

Степень s (sm) . Для каждого значения степени s ненулевыми на интервале [tj, tj+1] являются Nj-s,s(t),Nj-s+1,s(t), …, N j,s(t). С учётом N j-s, s-1 (t) = N j+1,s-1 (t) = 0 получим:

Таким образом, нет необходимости предварительного расчёта и хранения вспомогательных величин.

После подстановки в выражение (3.15 а) узловых зна-чений параметра t получается система линейных уравнений относительно вектора неизвестных коэффициентов Сj ( j = –m ,…,-1,0,…,n). Для формирования системы необходимо доопределить значение функции P(t) на дополнительных узлах t-m,…, t-1 . Система уравнений может быть решена как стандартными методами, так и специальными методами, учитывающими диагональный характер получающейся мат-рицы.

В-сплайн поверхность может быть получена как де-картово произведение В-сплайнов по параметрам u и v:

87

где {Рi j } - список характерных точек, расположенных в узлах прямоугольной двумерной сетки.

Задачи.

1. В чем принципиальное отличие локальных и интерполя-ционных сплайнов?

2. Построить локальные сплайны по следующим однократ-ным узлам:

а) n=2; х0 =; х1 = 2 ; х2 = 3 ; y0 = 1 ; y1 = 2 ; y2 =3 ;

б) n=2 ; х0 =-2 ; х1 = 0; х2 = 2; m =2; y0 = -1 ; y1 = 0 ; y2 =1 ;

z0,0 = 6; z0,1 = 4 ; z0,2 = z1,0 = ; z1,1 = 1 ; z1,2 = 0 ; z2,0 = z2,1 =-1 ; z2,2 =-3.

3. Построить сплайны Эрмита для следующих вариантов геометрических условий:

а) n=1; х0 = 0 ; х1 = 2 ; m =2; y0 = - 1 ; y1 = 0 ; y2 =1 ;

z0,0 = 4; z0,1 = 2 ; z0,2 = 1 ; z1,0 = 3 ; z1,1 = 5 ; z1,2 = 6 ;

zх0,0 = 3; zх0,1 = -1 ; zх0,2 = 1 ; zх1,0 = 2 ; zх1,1 = 2 ; zх1,2 = 1 ;

zу0,0 = - 1; zу0,1 = 4 ; zу0,2 = 3 ; zу1,0 = -3 ; zу1,1 = 1 ; zу1,2 = 2 ;

б) n=2; х0 = -3; х1 = 0 ; х2 =1; m =2; y0 = -1; y1 = 1; y2 =2 ;

z0,0 = 7; z0,1 = 12 ; z0,2 = z1,0 = 5 ; z1,1 = 4 ; z1,2 = 1 ; z2,0 = 6 ; z2,1 = 3 ; z2,2 =-1 ;

zх0,0 = 2; zх0,1 = -2 ; zх0,2 = -2 ; zх1,0 = -4 ; zх1,1 = -3 ; zх1,2 = zх2,0 = -2 ; zх2,1 = zх2,2 = -3 ;

zу0,0 = 3; zу0,1 =-2 ; zу0,2 =-2 ; zу1,0 = 1 ; zу1,1 = -3 ; zу1,2 =2 ; zу2,0 =-1 ; zу2,1 =-2 ; zу2,2 =3.

4. Построить при помощи метода прогонки сплайны Фер-гюсона для следующих вариантов задания геометрических условий:

а) n=2; х0 = 0; х1 =1; х2 =3; y0 = -1; y1 = 3; y2 =1 ; y0 = y2 =0 ;

б) n=2; х0 = -2; х1 =0; х2 =1; y0 = 2; y1 = 1; y2 =-2 ; y0 = 2; y2 =3.

88

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]