logo
Компьютерная графика / МАШ_ГРАФИКА

1.2 Интерполирование по двукратным узлам

Для того, чтобы построить с помощью локальных сплай-нов кривые и поверхности, обладающие гладкостью 1-й степени (непрерывностью первой производной), необходи-мо использовать интерполирование по двукратным узлам. Допустим, в узлах xi , (i = 0,1 ,...,n) наряду со значениями у(xi)=уi заданы величины первых производных у(xi ) = уi некоторой функции у(x), описывающей кривую. Требуется

построить сплайн S(x) минимально возможной степени, для которого S( xi) = уi , S (xi ) = у i (i = 0,1 ,...,n).

75

Рассмотрим отрезок [xi,xi+1]. В его граничных точках за-даны по два геометрических условия: у(xi) = уi , у(xi) = уi, у(xi+1) = уi+1, у (xi+1) = уi+1 . Введём на отрезке [xi,xi+1] нормированную переменную t= (x xi) / ( xi+1 - xi ) и обозначим hi+1 = xi+1 - xi . В Главе 2 (2.17) дано явное решение для S(i+1)(t) при помощи кубического интер-поляционного многочлена Эрмита:

S(i+1)(t)=уi1i (t)+уi+12i (t)+hi+1 уi3i (t)+hi+1 уi+14i (t), (3.4 а)

где 1i(t),2i(t),3i (t),4i (t) - полиномы Эрмита.

Используя матрицу МЭ , задающую переход от степен-ного вектора Т 3 к вектору значений полиномов Эрмита, и расширенный вектор Y *=( уi , уi+1 , hi+1 уi, hi+1 уi+1), искомый многочлен Эрмита можно представить в виде:

S(i+1)(t)=(Y *, МЭТ 3). (3.4 б)

Кубический сплайн (3.4) обеспечивает гладкую степени 1 интерполяцию заданной кривой, причём в узлах интер-поляции угол наклона касательной к сплайну совпадает с углом для исходной кривой. На сплайне отсутствуют изло-мы, однако в общем случае в узлах интерполяции разрыв-ны высшие производные, начиная со второй .

Рассмотрим интерполирование поверхностей по двукрат-ным узлам двухмерными сплайнами. Пусть поверхность z(x,у) задана в узлах двухмерной сетки (xij) (i = 0,1 ,..., n; j = 0,1 ,..., m) наборами значений z(xij) = zi j , а также част-ными производными по x , у : zх (xi , уj ) = zхi j , zу (xi , уj ) = zуi j и смешанной zху (xi , уj ) = zхуi j .

Требуется построить двухмерный сплайн S(x,у) мини-мально возможной степени, у которого бы для составляю-щих его квадратичных форм S(i+1)(j+1)(x,у) выполнялись следующие равенства:

S(i+1) (j+1) (xi,уj)=zi j; S(i+1) (j+1)х(xi, уj)= zхi j,S(i+1) (j+1) у (xi ,уj )= zуi j, S(i+1) (j+1)ху(xi,уj)=zхуi j, (i = 0,1,...,n-1; j =0,1,...,m-1),

76

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

Как и в случае однократных узлов, рассматриваем прямо-угольный участок сетки [xi,xi+1]j,yj+1]. В его граничных точках заданы значения функции z(x, у) и её первые про-изводные. Переходя, как и в одномерном случае, к безраз-мерным переменным tх=(x-xi)/hхi и tу =(у-yj)/hyj (где hхi = xi+1 - xi , hyj = yj+1 -yj ), и используя матрицу МЭ , решение для S(i+1) (j+1) (x,y) можно представить в виде:

гдеТх3 и Ту3 - степенные векторы переменных tх и tу ,

Cплайны (3.4),(3.5) называют сплайнами Эрмита. Они являются обычными квадратичными формами Эрмита, построенными на узлах, расположенных в вершинах соответствующих прямоугольников.