ИНФОРМАТИКА И СИСТЕМЫ УПРАВЛЕНИЯ
УДК 681.3.513
Е.А. Никулин
О РАЗРЕШИМОСТИ ЗАДАЧИ ЦИКЛИЧЕСКОЙ ИНТЕРПОЛЯЦИИ
Нижегородский государственный технический университет им. Р.Е. Алексеева
Тема работы: Исследование разрешимости задачи полиномиальной циклической интерполяции. Цель работы: Получение условий разрешимости задачи интерполяции линиями разных типов. Метод решения: Вывод и анализ определителей обращаемых матриц. Оригинальность: Использован блочный метод синтеза интерполяционных линий. Выводы: Получены правила выбора исходных данных, делающих задачу интерполяции разрешимой.
Ключевые слова: полином, интерполяция, сегмент, сопряжение, матрица, определитель.
Данная работа продолжает серию статей [1, 2], посвященных блочному методу конструирования интерполяционных линий. На этот раз мы займемся циклическими линиями, у которых, кроме необязательного совпадения крайних точек, должны быть равны касательные векторы, что дает первый порядок гладкости замыкания, а для получения гладкости второго порядка должны быть равны еще и значения кривизны.
Рассмотрим применение блочного метода и проблемы, возникающие при создании циклических полиномиальных линий различных типов и порядков гладкости. Односегментные циклические линии
Обозначим как Tm(t)=[1 t t2 ... tm]т вектор базовых функций (степеней параметра t) разложения полинома m-й степени, а векторы первых двух его производных как Tm(t)=[0 1 2t ... mtm-1]T и Tm(t)=[0 0 2 ... m(m-1)tm-2]T. Запишем векторную функцию линии в пространстве ее координат в виде параметрического полинома
p(t)=So +Sit+...+Smtm = STm (t) (1)
с блочным вектором коэффициентов S = [s0 s1 ... sm]. Дифференцируя (1) по t, получим векторы скорости V(t )=STm(t) и ускорения A(t )=STm(t) движения точки по линии p(t) в момент времени t.
Линия, проходящая через заданные точки u0, u1, ..., un в порядке их нумерации,
удовлетворяет условиям интерполяции ST(t,)=u, V/=0,n . Они образуют блочное векторно-матричное уравнение
S[Tm(t0) Tm(t1) ... Tm(tnM^ U1 ... Un], или SW= U (2)
с матрицей W=Wmn , равной матрице Вандермонда Wmn =[Tm(t0) Tm(t1) ... Tm(tn)], составленной из m+1 -й степеней n+1 -го узлового отсчета параметра t, и вектором U=Un, равным блочному вектору Un =[u0 U1 ... un], составленному из n+1 -й узловой точки.
Актуальны два метода задания узловых значений t0 tn (t0 задается свободно): • хордовый, в котором приращение параметра t на межузловом интервале и,— -^u, равно длине хорды d, = lu, —u-J и, таким образом, t, = ti—1 + ;
© Никулин Е.А., 2014.
• нормализованный, когда параметр ^ на каждом интервале увеличивается на 1 и, таким образом, = ^ +г. Это частный случай хордового метода со всеми значениями di =1.
В отсутствие иных, кроме интерполяционных, ограничений степень полинома т=п, а решение матричного уравнения (2) дает блочный вектор коэффициентов
S=UW
-1
(3)
В циклической линии с гладким замыканием первого порядка должны быть равны векторы краевых направлений $>Т'т{}п )=8Тт^0 ). Это дополнительное ограничение повышает степень полинома до т=п+1 и добавляет в матрицы уравнения (2) по одному столбцу:
=[^тп ¡т;(*п)-тт('о)], и(1)=[ип ¡о]. (4)
В циклической дважды замкнутой линии должны совпадать еще и векторы краевых ускорений 8Тт(^п )=8Тт(^0 ). В результате степень полинома увеличивается до т=п+2, а матрицы уравнения (2) расширяются еще одним дополнительным столбцом:
W(2)=[ W(1) !тт(/п)-тт(/0)], и(2) = [ и(1) !о]. (5)
После формирования матриц W и и по (3) вычисляется вектор коэффициентов полинома 8 и по (1) строится график р(/) с желаемым шагом параметра tn ]. Для сравнения методов на рис. 1 построены три пары интерполяционных линий на трехинтервальной неравномерной узловой сетке ^п^Из: со свободными концами (рис. 1, а), с первым (рис. 1, б) и вторым (рис. 1, в) порядками гладкости замыкания. Сплошные линии построены нормализованным, а пунктирные — хордовым методами параметризации.
u30 u0
u3 u0
а)
u3 u0
V u
Рис. 1. Циклические интерполяционные линии
Казалось бы, нет проблем в работе достаточно простого алгоритма циклической интерполяции! Однако моделирование с разным числом и расположением узловых точек, а также разными методами параметризации, часто не давало никакого решения ввиду неожиданной сингулярности обращаемой в (3) матрицы W.
Рассмотрим суть вопроса на простом примере проведения интерполянты через три (отсюда n=2 ) узловые точки u0, uj и u2 с равными краевыми направлениями V0 = V2 (отсюда m=3). Начав с to = 0, составим по (4) матрицу W и вычислим ее определитель как функцию параметрических длин dj = tj ^ 0 и ^ = t2 —tj ^ 0 :
111 0
W = [W32 T3fe)-T3(ü)]=
0 d1 d1 + d2 0
0 d2 (d1 + d2 )2 2(d1 + d2 ) 0 d3 (d1 + d2 )3 3(d1 + d2 )2
, |W=dd (d1 +d2 )2 (d2 -d1).
Следовательно, матрица W вырождена, а задача интерполяции с циклической гладкостью первого порядка неразрешима в двух случаях равенства параметрических длин d1 = d2 : • при нормализованной параметризации ( dl = d2 =1) с произвольным расположением узлов;
• при хордовой параметризации с равными межузловыми расстояниями |и1 -Ио| = |и2 -»1 •
Таким образом, построение двухинтервальной интерполянты с равными краевыми направлениями возможно только методом хордовой параметризации и при разных длинах отрезков и0и1 и и1и 2 (рис. 2, а).
Этот вывод распространяется на все узловые сетки с четным числом интервалов. Например, при п=4 у определителя один из множителей
(оо 0 0 ООО о\
^ -ё2ё2 -^з d4 +2^1 d2 -2^3^4 )
обнуляется при всех равных значениях dl = d2 = dз = d4 и делает задачу неразрешимой.
Напротив, при нечетных значениях п матрица W в (4) всегда невырождена, а задача циклической интерполяции первого порядка гладкости разрешима как нормализованным, так и хордовым методами параметризации. Например, на четырехузловой сетке с числом интервалов п =3 получается определитель
=)(d2 + ^ + ^ )2 + ^^ +d2 ), неравный нулю в обоих методах параметризации и при любом расположении узлов ио , о чем свидетельствует гладко замкнутая линия на рис. 2, б.
Моделирование показывает, что увеличение порядка циклической гладкости до второго делает матрицу W в (5) невырожденной при любом расположении узлов и в обоих методах параметризации. Например, при п=2 и т=4 она принимает вид
"111 0 0
W=^42 Т4(^2)-Т4(0) т;(^)-т;(о)]=
0 d^
d1 + d 2
0
0 0
0 d12 (d1 + d2 )2 2(d1 + d2 ) 0 d13 (d1 + d2 )3 з(d1 + d2 )2 6(d1 + d2 )
0 d14 (d1 + d2 )4 4(d1 + d2 )3 12(d1 + d2 )
и имеет всегда ненулевой определитель |w|=- 12d^d| (dl +d2 )3, а полученная линия (пунктирная на рис. 2, а) отличается минимальными межузловыми осцилляциями.
Таким образом, рекомендуется всегда строить циклические линии с двойной гладкостью в концевых точках. При совпадении же этих точек линия автоматически станет замкнутой. Именно такая полиномиальная кривая 6-й степени с координатными функциями
^, Л,)= /-)(4-/)(16+12/-32) у(е[0,4]
X1
(< )=
(1-г)(3-г)(24+32Х+Ш1 -Шъ+Г4
72
75
(6)
проходящая через точки и0 = и4 =[1 0]т, и1 =[0 1]\ и2 =[-1 0]т и и3 = [0 -1]т, построена на рис. 2, в. Максимальное отклонение ее точек от единичной окружности составляет 3%.
и,
а)
и
б)
и.
Рис. 2. Циклические интерполяционные линии
Составные циклические линии
При большом числе узловых точек интерполяционные линии имеют сильные межузловые осцилляции, присущие полиномам высоких степеней. Полезным приемом, уменьшающим этот нежелательный эффект, является разбиение узловой сетки на кластеры с малым (не более 4 ^ 5) числом интервалов, что позволяет создать различные свойства сопряжения сегментов, в том числе изломы и разрывы [1].
Пусть N - число сегментов составной линии и у каждого /-го сегмента п, есть число
интервалов кластера узловых точек и,- =[и,0 иг1 ... ип ], а т, - степень полинома
Р,(0=8,Тщ (0 ^еД,- =[^, ], -=1^
с блочным вектором коэффициентов 8, =[8,0 8,-1 ... 8,т ]. Применяются следующие методы
локализации параметра составной линии:
• локальный, по которому изменение I на /-ом сегменте начинается со значения = 0;
• сквозной, когда параметр проходит отрезки Д1 -^Дм с правилом сопряжения ^ = /,+10. Для вычисления по (3) блочного вектора 8=[81 82 ... 8N] коэффициентов полиномов
всех сегментов циклической составной линии формируется матричное уравнение SW= и, аккумулирующее следующие условия:
• интерполяции внутри каждого сегмента 8, Wmn = и, V,=1, N;
• первого порядка гладкости сопряжения сегментов 8, ТЩ (п )= 8,+1Тт.+1(^+10)
Vi = 1,N-1 и 8NТтN ^ )= 81Тти 1 (1,0), при этом их степени Щ = П +1 ;
• для получения второго порядка гладкости сопряжения сегментов добавляются условия 8, ^ )= ^Ч^ти^ (,+1,0 ) Vi = 1, N-1 и 8N ^ (tNnN )= 81Т/^Щ! (^1,0 ), при этом т, = п, + 2 .
В результате блочные матрицы W и и :
• при первом порядке гладкости сопряжения всех сегментов W=W(l) и и=и(1), где
W « =
W,
Ш\П\
O
O W,
O O
m2n2
O O
W
O O
mN-1nN-1
O
W
O O
O
mNnN
Tmi l^ini)
~Ttn2 (/20 )
O O
ull)=[üi ü2 ■■■ un-1 un !o
O O
Tmn-i (/N-1,nN-i )
-T'mi (/10 ) O1
O
N-1 \ N -1,nN-1 / / \
-ТгпN (/N0) T'mN \N,nN )
O O];
(2) (2)
• при задании второго порядка гладкости сопряжения W=^^ ' и и = и ', где
W(2 ) =
W
(1)
T" (/ )
Am1 V1n1 /
-Tm2 (/20 )
O O
O O
- Tm1 (/10 )
O
TmN-1 (n~ 1,nN-1 ) / ч
- TmN VN0 ) TmN (/N,nN )
O
(7)
u(2)=[ u(1) !o ■ •• oo].
т(1)
Приступим теперь к изучению проблемы разрешимости задачи циклической составной интерполяции на примере линии, два кубических сегмента которой строятся на двух кластерах и1 =[ иш иц и12] и и2 =[и20 и21 и22] с первым порядком гладкости сопряжения.
Определитель матрицы W (1) выражается через длины параметрических интервалов йу = г у —ги — следующим образом (зададим локальную параметризацию с г10 = г20 = 0):
W «=
"1 1 1 0 0 0 0 0
0 й11 й11 + й12 0 0 0 1 —1
0 й2 (й11 + й12 )2 0 0 0 2(й11 + й12 ) 0
0 йЦ (й11 + й12 )3 0 0 0 3(й11 + й12 )2 0
0 0 0 1 1 1 0 0
0 0 0 0 й21 й21 + й22 —1 1
0 0 0 0 й221 (й21 + й22 )2 0 2(й21 + й22 )
0 0 0 0 й 2>1 (й21 + й22 )3 0 3(й21 +й22 )2
| W(l) |=¿11^12 й2хй22 (йц +^12 )2 (й21 +й22 )2 (^11^21 —й^ ^22 ).
Видно, что при {пьп2 }={2,2} и {т1,ш2 }={3,3} эта матрица сингулярна, а задача циклической интерполяции с гладкостью сопряжения первого порядка неразрешима, в двух случаях:
• в методе нормализованной параметризации (все йп =й12 =й21 =й22 =1) с произвольным расположением узловых точек;
• в методе хордовой параметризации с равными произведениями межузловых расстояний йпй21 = й12й22 , где йу =|иу у—11 .
Моделирование с произвольными узловыми точками показало неразрешимость задачи нормализованной циклической интерполяции при четном суммарном числе интервалов узловой сети п . Создаваемая методом хордовой параметризации, составная линия не существует при определенном сочетании расстояний между узлами Так, при {пьП2 }={1,3} определитель | W(l) |=й121й21й22й23 (й21 +й22 )(й21 +й22 + й23 )3 (й23 —й21 )=0, когда й21 = й23 .
Напротив, при нечетных п задача циклической составной интерполяции разрешима обоими методами параметризации при любом расположении узловых точек. К примеру, на узловой сетке из п=3 интервалов, разделенных на два кластера размерностей {пьп2 }={1,2},
получается всегда ненулевой определитель | W(l) |=—й121й21й22 (й21 + й22 )3 ^ 0.
Как и в односегментном варианте, использование двойной гладкости сопряжения сегментов делает задачу составной циклической интерполяции всегда разрешимой. Например,
при {пьп2}={2,2} и Ц,Ш2}={4,4} очень громоздкое выражение определителя не со-
держит ни одной разности, и потому его значение всегда ненулевое.
Все изложенное иллюстрируют графики на рис. 3:
• двухсегментная линия (рис. 3, а) с гладкостью первого порядка успешно построена хордовым методом на п = 4 интервальной узловой сетке благодаря неравенству йцй21 ^й12й22 , что было бы невозможно при йпй21 = й12й22 либо нормализованным методом;
• выбор второго порядка гладкости сопряжения сегментов сделало эту задачу разрешимой как нормализованным, так и хордовым методами параметризации даже при равномерном распределении четырех узловых точек по кругу, когда йпй21 = й^й22. Максимальное отклонение точек двухсегментной составной линии (рис. 3, б) от окружности составило 2%, то есть ее полиномиальная модель (с нормализованной локальной параметризацией)
Р1(г )=
1—1.5г2 +0.5г3 1.бг—0.8г3+0.2г4
Р2 (г )=—Р1 (г)
лучше приближает окружность, чем более сложная односегментная модель (6);
• три составные дважды гладкие линии (в) построены на узловой сетке с четным (неразрешимым с первым порядком гладкости сопряжения!) числом интервалов п=18 . У линий с нормализованной (7) и хордовой (2) параметризациями сеть разбита на шесть
кластеров с
П.,
n2,n3,n4,n5,n6
}={3,3,3,4,1,4}, а линия (3) построена методом хордовой
параметризации на четырех кластерах с {пьп2,п3,п4}={4,5,5,4}. Графики наглядно показывают существенную зависимость формы составной линии как от выбора метода параметризации, так и от способа кластеризации узловой сети.
u
11
, Pi(0
u
12
u
20
u
10
u
22
P2<0
u
21
а)
3
2 i
3
Рис. 3. Циклические составные интерполяционные линии
С плайновые циклические линии
Дважды гладкие составные полиномиальные линии, созданные на одноинтервальных ( п, =1) кластерах и^и,, называются сплайнами и описываются кубическими полиномами
р,(0=8,Тз(0^4,0,1,1 ] V,.
Блочный метод расчета матриц 80 ^8N коэффициентов сплайнов с различными краевыми условиями подробно рассмотрен в [2], а здесь приведен конечный алгоритм их вычисления применительно к циклическому варианту сопряжения крайних сегментов:
А =[Т(г,0) Т(/,1) Т'(/,1) )], В, =[о О Т'(^) Т"(г,0)], и, =[им и, О О];
W =
Л, O ... O
B2 Л2
OO OO
B
OO
Л
n-1 O B n Л n
S=UW-1.
, U=[U. U2 ... UN ];
(8)
Для устранения проблем, связанных с высокой размерностью обращаемой матрицы WеR4^х4N, в [2] приведен рекуррентный алгоритм вычисления матриц 8, ..., 82, 81, в котором обращаются лишь две матрицы размерности 4х4 .
Шаг 1. Получение матриц L и M в выражении S. = L+S n M:
Ь=О, М=14, (ь=(и, +ЬВ,+1 )А-1, М=МВ,+1А-1 V,=N-1,1},
где 1к - единичная матрица размерности кхк.
Шаг 2. Вычисление векторов коэффициентов сплайна:
8 N =(и N + ЬВ1 )(С-МВ 1 )-1, 8, =(и, +8,+1В,+1 )А-1 V, = N-1,1.
Алгоритм легко программируется и отличается постоянными небольшими затратами
памяти и линейной зависимостью времени расчета от числа интервалов N, в отличие от ретроспективного метода (8), чья трудоемкость квадратично зависит от размера узловой сети.
Разрешимость задачи циклической сплайн-интерполяции связана с обнулением определителя матрицы W. Структурно матрицы W и U алгоритма (8) отличаются от матриц W(2) и
и'-2-' из (7) лишь синхронной перестановкой столбцов, поэтому благодаря второму порядку сопряжения всех сегментов задача циклической сплайн-интерполяции всегда разрешима. Это подтверждают значения определителей |W|, не обращающиеся в нуль при любых размерах узловой сети N, параметрических длинах = tn-ti0 и во всех методах параметризации и локализации. Например, при вычислении коэффициентов сплайна, создаваемого на трехинтер-вальной узловой сети u0u1u2u3, получается определитель
| W|=48d2df d 2 (d1 +d2 +d3 )(d1d2 + d1d3 + d2d3 0.
Библиографический список
1. Никулин, Е.А. Построение составных линий с различными свойствами сопряжения и произвольными условиями фиксации сегментов // Информационные технологии: тр. НГТУ; Ниже-город. гос. техн. ун-т. - Н. Новгород, 2006. Т. 58. Вып. 11. С. 5-12.
2. Никулин, Е.А. Прямой параметрический синтез сплайновых линий // Системы обработки информации и управления: тр. НГТУ; Нижегород. гос. техн. ун-т. - Н. Новгород, 2007. Т. 65. Вып. 14. С. 123-130.
Дата поступления в редакцию 01.02.2014
E.A. Nikulin
ON THE SOLVABILITY OF CYCLIC INTERPOLATION PROBLEM
Nizhny Novgorod state technical university n.a. R.E. Alexeev
Subject: Investigation of the solvability of polynomial cyclic interpolation.
Purpose: To find the solvability conditions of the interpolation problem by different types of lines.
Methodology: Derivation and analysis of the matrices inversed determinants.
Originality: Block method of interpolation lines synthesis is used.
Findings: Rules for input data selection that make the interpolation problem resolvable are obtained. Keywords: polynome, interpolation, segment, junction, matrix, determinant.