
- •3. Моделирование поверхностей и кривых при помощи сплайнов
- •1. Построение локальных сплайнов.
- •2. Построение интерполяционных сплайнов.
- •3.1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
- •3.1.1. Построение сплайнов по однократным узлам
- •3.1.2. Интерполирование по двукратным узлам
- •3.2. Построение интерполяционных сплайнов
- •3.2.1. Общая постановка задачи. Решение методом неопределённых коэффициентов
- •3.2.2. Кубические интерполяционные сплайны
- •3.3. Интерполяция с помощью в-сплайнов
3.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).
72
Рассмотрим отрезок [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,у) задана в узлах двухмерной сетки (xi,уj) (i = 0,1 ,..., n; j = 0,1 ,..., m) наборами значений z(xi,уj) = 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),
73
т.е. в узлах совпадали бы не только значения, но и первые и смешанная производные исходной функции 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) называют сплайнами
Эрмита. Они
являются обычными квадратичными формами
Эрмита, построенными на узлах, расположенных
в вершинах соответствующих прямоугольников.