- •3. Моделирование поверхностей и кривых при помощи сплайнов
- •1. Построение локальных сплайнов.
- •2. Построение интерполяционных сплайнов.
- •3.1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
- •3.1.1. Построение сплайнов по однократным узлам
- •3.1.2. Интерполирование по двукратным узлам
- •3.2. Построение интерполяционных сплайнов
- •3.2.1. Общая постановка задачи. Решение методом неопределённых коэффициентов
- •3.2.2. Кубические интерполяционные сплайны
- •3.3. Интерполяция с помощью в-сплайнов
3.1. Интерполирование кривых и поверхностей с помощью локальных сплайнов
У локальных сплайнов на каждом элементарном участке сетки полностью заданы все геометрические усло-вия для построения соответствующего участка сплайна и его форма не зависит от условий на других участках. Рассмотрим более подробно построение локальных сплай-нов по однократным и двукратным узлам.
3.1.1. Построение сплайнов по однократным узлам
Допустим, плоская кривая у(х) задана набором значе-ний у(xi) = уi в узлах xi (i = 0,1 ,...,n). Необходимо построить интерполяционный сплайн наименьшей степени, проходящий через узлы xi : S(xi) = уi, (i = 0,1 ,...,n). Если кривая является пространственной, то наряду с функцией у(х) должна быть задана зависимость z(x). Задача интерпо-лирования по оси z решается точно так же , как и по оси у.
Рассмотрим отрезок [xi,xi+1]. В его граничных точках заданы по одному геометрическому условию: у(xi) = уi , у(xi+1) = уi+1 . Поскольку узлы являются однократными, то наименьшая степень полинома Si+1(x) (i = 0,1 ,...,n-1) равна единице. Как показано в Разделе 2 (2.11), интерполяцион-ный многочлен Лагранжа для Si+1(x) имеет вид:
Si+1(x)= уi (xi+1 –x)/(xi+1 -xi)+ уi+1 (x-xi) /(xi+1 -xi ). (3.1 а)
В векторной форме:
Si+1(x) = (Ф(x),Y);
Ф(x) = ( (xi+1 –x) / (xi+1 -xi), (x-xi) / (xi+1 -xi ));Y= ( уi , уi+1 ).
70
Переходя к безразмерной переменной t=(x-xi) / (xi+1 -xi ), у которой t(xi)=0; t(xi+1)=1, для функций Лагранжа и полинома Si+1(t) получим следующие выражения:
(
3.1.б)
Одномерный сплайн рассмотренного вида является ломаной, приближённо заменяющей исходную кривую.
Интерполирование двухмерными сплайнами поверх-ностей по однократным узлам производится аналогично. Допустим, поверхность z(x,у), которая задана набором зна-чений z(xi,уj) = zi j в узлах двухмерной сетки (xi,уj) (i = 0,1,...,n; j=0,1,...,m). Необходимо построить интерполяци-онный сплайн S(x,y) наименьшей степени, проходящий че-рез узлы (xi,уj) : S(xi,уj) = zi j (i = 0,1 ,..., n; j = 0,1 ,..., m).
Рассмотрим прямоугольный участок сетки [xi,xi+1] [уj, yj+1]. В его граничных точках заданы по одному геомет-рическому условию: z(xi ,уj )= zij , z(xi+1 ,уj ) =z(i+1) j , z(xi , уj+1)= zi (j+1) , z(xi+1 ,уj+1) =z(i+1)(j+1) . Минимальные степени квадратичной формы S(i+1),(j+1)(x,y) по переменным х,у рав-ны единице. Как показано в Разделе 2 (2.22), явное реше-ние для S(i+1),(j+1)(x,y) при помощи функций Лагранжа имеет вид:
S(I+1),(j+1) (x,y) =Ф(x) ZФ(у); (3.2 а)
Ф(x)=((xi+1 –x) / (xi+1 -xi), (x-xi) / (xi+1 -xi ));
Ф(у)=((yj+1 –y) / (yj+1 -yj), (y-yj) / (yj+1 -yj));
Переходя, как и в одномерном случае, к безразмер-ным переменным tх= (x - xi)/(xi+1 - xi ) и tу = (у - yj)/ (yj+1 - yj )
71
и используя матрицу МЛ , решение для S(i+1),(j+1)(x,y) можно представить в виде:
Построенный двухмерный сплайн S(x,y)={ S(i+1),(j+1)(x, y), (i = 0,1 ,..., n-1; j = 0,1 ,..., m-1) } задаёт множество про-странственных четырёхугольников (в общем случае – не-плоских), заменяющих исходную поверхность z(x,у) таким образом, что они совпадают с заданными значениями в уз-лах интерполирования (xi ,уj).
Преимуществами полученных линейных сплайнов являются простота расчётов по ним, отсутствие осцилля-ций в промежутках между узлами. Основным недостатком является разрыв первой производной на границах сплайнов – излом в точках сопряжения отрезков ломаной или по линии сопряжения пространственных четырёхугольников. Это значительно ухудшает внешний вид кривых и по-верхностей и зачастую является недопустимым при даль-нейшей их обработке. В то же время разработаны и широко используются на практике различные методы сглаживания стыков такого рода.
