Научная статья на тему 'Синтез кубических сплайнов методом перекрытия парабол'

Синтез кубических сплайнов методом перекрытия парабол Текст научной статьи по специальности «Математика»

CC BY
115
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СПЛАЙН / SPLINE / СЕГМЕНТ / SEGMENT / ПОЛИНОМ / КРАЕВЫЕ УСЛОВИЯ / BOUNDARY CONDITIONS / POLYNOME

Аннотация научной статьи по математике, автор научной работы — Никулин Е.А.

Тема работы: Разработка алгоритма построения кубических сплайнов методом перекрытия парабол. Цель работы: Развитие матричных алгоритмов синтеза полиномиальных линий и поверхностей. Метод решения: Линейная интерполяция параболических линий на интервале их перекрытия. Оригинальность: Разработан способ реализации краевых условий. Выводы: Получен алгоритм синтеза кубических перекрывающихся сплайнов с разными краевыми условиями.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Synthesis of cubic splines by overlapping parabolas method

Subject: Design of an algorithm for constructing cubic splines by method of overlapping parabolas. Purpose: Development of matrix synthesis algorithms of polynomial curves and surfaces. Methodology: Linear interpolation parabolic lines on the range of their overlap. Originality: A method of implementing the boundary conditions is developed. Findings: The algorithm of the synthesis of cubic splines overlapping with different boundary conditions is obtained.

Текст научной работы на тему «Синтез кубических сплайнов методом перекрытия парабол»

УДК 681.3.513

Е. А. Никулин

СИНТЕЗ КУБИЧЕСКИХ СПЛАЙНОВ МЕТОДОМ ПЕРЕКРЫТИЯ ПАРАБОЛ

Нижегородский государственный технический университет им. Р. Е. Алексеева

Тема работы: Разработка алгоритма построения кубических сплайнов методом перекрытия парабол. Цель работы: Развитие матричных алгоритмов синтеза полиномиальных линий и поверхностей. Метод решения: Линейная интерполяция параболических линий на интервале их перекрытия. Оригинальность: Разработан способ реализации краевых условий.

Выводы: Получен алгоритм синтеза кубических перекрывающихся сплайнов с разными краевыми условиями. Ключевые слова: сплайн, сегмент, полином, краевые условия.

Статья посвящена разработке нового типа сплайна с конечным носителем, в основе которого лежит интерполяция перекрывающихся параболических кривых [1, 2], дополненная краевыми условиями, присущими кубическим сплайнам [1, 3]. В результате концевые сегменты составной линии становятся кубическими, тогда как все внутренние сегменты получаются кубическими благодаря линейной интерполяции линий второго порядка.

Пусть Р0Р!.. .Ри — полилиния в двух- или трехмерном пространстве, вершины которой

являются узлами интерполяции, а Р^Р,-, где и] — отрезок, на котором строится I -й сегмент составной линии р,- (*), гладко сопряженный с соседними сегментами. Полиномиальная модель т -й степени имеет вид параметрической векторной функции

р(* )=*0 +81*+...+Ът1т = 8Тт ( ),

где 8=[б0 ... 8т] — строчный вектор полиномиальных коэффициентов (ВПК), а Тт(*)=[1 112 ... ]т — столбцовый вектор базисных функций. В дальнейшем нам понадобятся векторы его первой Тт(*)=[0 1 2* ... т*т-1]т и второй Тт(*)=[0 0 2 ... т(т-1)*т-2]т производных.

Поставим задачу синтеза модели , -го сегмента сплайна р,- (*)=8,-Т3 (*), т. е. вычисления ее ВПК 8, посредством линейной интерполяции параболических линий, перекрывающихся на I -м интервале и исследования путей реализации краевых условий в точках Р0 и Ри.

Сначала используем метод локальной нормализованной параметризации, в котором отсчет параметра *е[0,1] на всех интервалах начинается с нуля и длины всех интервалов равны единице. Составим кубический полином I -го сегмента как линейную интерполяцию

р,(*)=(1-*)1.(*)+*г,(*) У*е[0,1], I =1и, (1а)

левого и правого параболических сегментов

1,- (0=Ь,-Т2 (0, г,- (0=^2 (0. (1б)

На тех интервалах, где эти сегменты не зависят от краевых условий (рис. 1, а), их ВПК находятся решением уравнений трехузловой интерполяции:

© Никулин Е.А., 2015.

L =[Pi_2 Pm P ][т2 (-1) T2 (0) T2 (1)]"1 =[Pi_2 Pi_! Pi ]

P

Pi-2 + Pi Pi-2 _2Pi_l + Pi

i-1

Vi = 2,n,

Ri =[Pi_1 Pi Pi+1 ][T2 (o) T2 (1) T2 (2)]-1=[Pi_1 Pi Pi+1 ]

1 1 1 -1 0 1 1 0 1

1 1 1 0 1 2 0 1 4

-1

P

_3Pi_1 + 4Pi -Pi+1 Pi_1 - 2Pi + Pi+1

i-1

Vi = 1,n-1.

Тогда из (1а, б) следует узловая модель внутреннего сегмента

Pi (t )= Li (1-t )T2 (t)+ R itT2 (t )=

P

Pi-2 + Pi Pi-2 -2Pi-1 + Pi

i-1

1-t t-t2 t2-t3

+

(1в)

P

-3Pi-1 + 4Pi - Pi+1 Pi-1 - 2Pi + Pi+1

i-1

t

t2

t3 (1г)

„ -P 9+ P 2P 9 -5P ,+ 4P -P;+1 2 -P ,+3R ,-3P + Pi+1 3w ---

= PM +———Lt+——-—-i——t2 +—i-2-i-1-i—i±Lt3 Vi = 2,n-1,

удовлетворяющая условиям интерполяции р, (о)=Рг-1, р, (1)=Р,.

Точно такие же коэффициенты кубического полинома р,- ({)=Б,-Т3 (^) при степенях параметра I получим с помощью операций расширения ВПК парабол нулевыми элементами О, повышающими степени полиномов со второй до третьей:

Б, = [Ь О]-[О Ь,]+[О Я,]=

— а

P , + P P , -2P , + P Л

р i-2_i_ i-2_i-1_i_ Q

2

2

O P

Pi-2 + Pi

Pi-2 - 2Pi-1 + Pi

i-1

+

O Pi -1

-3Pi-1 + 4Pi - Pi+1

Pi-1 - 2Pi + Pi+1

-Pi-2 + Pi 2Pi-2-5Pi-1 + 4Pi -Pi+1 -Pi-2 +3Pi-1 -3Pi + Pi+1

P

i-1

+

(1д)

P

г—1

P

P

i+1

V

1,(0

0 1

p„

p.

p

n—1

P

n-2

P

а) б)

Рис. 1. Интерполяция параболических сегментов

в)

В отличие от (1в, г) модели параболических 11 (/), гп (¿) и кубических р1 (), р п (¿) сегментов зависят от краевых условий в точках Ро и рп. Например, для первого сегмента с начальным направлением Уо (рис. 1,б) ВПК левой и правой парабол имеют следующий вид:

2

2

1

2

2

2

2

2

2

2

2

2

2

2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2

2

Ь1 = [Уэ Р0 Р1 ][Т2(0) Т2 (0) Т2 (1)]-1 = [У0 Р0 Р1 ]

0 1 1 1 0 1 0 0 1

-1

[Р0 У0 -У0 -Р0 +Р1 ]

»1 =[Р0 Р1 Р2 ][Т2 (0) Т2 (1) Т2 (2)]-1 =[Р0 Р Р2 ]

1 1 1 0 1 2 0 1 4

-1

(2а)

3Р0 + 4Р1 -Р2 Р0-2Р1 + Р2

01

Тогда из (1а, б) следует узловая эрмитова модель первого сегмента, удовлетворяющая условиям Р1 (0)=Р0, Р1 (1)=Р1 и р1(0)=У0 :

Р1 (г )=Ц (1-г )Т2 (г)+К^ (г )=

[Р0 У0 - У0 - Р0 + Р1 ]

1-г г-г2 г2 -г3

+

-3Р0 + 4Р1 -Р2 Р0 -2Р1 + Р2

Рп

(2б)

=Р0 + Р0г+

-4Р0 -5Р0 +6Р1 -Р2 2 | 2Рр +3Р0 -4Р1 + Р2 £

Что до краевого условия р[(0)=А0, то оно, вопреки ожиданиям, не реализуется вычислением вектора Ь1 по образу (2а) как

Ц =[А0 Р0 Р1 ][Т21(0) Т2(0) Т2(1)]-1 =[А0 Р0 Р1 ]

0 1 1 0 0 1 2 0 1

-1

Рп

А 0 Р0 + Р1 А 0

---Ж

2

2

Подставив его в (2б) вместе с вектором »1 из (2а), получим

р1 (г )= Ц (1-г )Т2 (г)+ к^ (г )=

р А 0 р ,р Р0

Р0 -Р0+Р1 т

1-г г-г2 г2-г3

+

Рп

3Р0 + 4Р1-Р2 Р0-2Р1 + Р2

р | - А 0 - 2Рр + 2Р^| 2А 0-Рр + 2Р1-Р2 ^ + - 2А 0 + Р0 - 2^ + Р2 (з

2

2

2

и ускорение р" (0)=2А0 -Р0 +2Р1 -Р2. Причина его несовпадения с А 0 в том, что в отличие от (1а) вторая производная р1 (г) не является линейной интерполяцией (1-г )1-(г)+г г/'(г), отсюда р-(0)^ 1-(0)! Для достижения успеха нужно создать векторы

А=(А0 +Р0 -2Р1+Р2 )/ 2,

Ц =[А Р0 Р1 ]

0 1 1 0 0 1 2 0 1

-1

Р

А

Р0 +Р1

Ч +Р0

А

2

Р

-А0-5Р0 +6Р1-Р2 А0 + Р0 -2Р1+Р2

(2в)

Тогда вместе с вектором »1 из (2а), аналогично (2б), получим

р1 (г )=

Рп

+

- А 0 -5Р0 + 6Р1-Р2 Л + Р0 - 2Р1 + Р2

4

4

1-г г-г2 г2-г3

+

Р

-ЗР0 + 4Р1 -Р2 Р0 -2Р1 + Р2

2

2

(2г)

=Р0 +

- А 0-5Р0 + 6Р1 - Р2п А^ + - А 0 + Р0 - 2Р1 + Р2 г з 4 2 4 '

2

2

I

2

2

з

г

2

2

г

2

2

3

г

2

4

4

3

Г

Проверяем: р1 (0)=Р0, р1 (1)=Р1 и р" (0)=А0 — все правильно! При желании создать в начале сплайна свободный конец задается нулевой вектор А 0 = О.

Для последнего сегмента рп (г) с конечным направлением Уп ВПК левой и правой парабол имеют следующий вид:

Ln -[Pn-2 Pn-1 Pn ]

1 1 1 -1 0 1 1 0 1

P.

Pn-2 + Pn Pn-2 2Pn-1 + Pn

n-1

Rn =[Pn-1 Pn Vn ][T2 (0) T2 (1) T2(1)]-1 =[Pn-1 Pn Vn ] = [Pn-1 -2Pn-1 +2Pn-Vn Pn-1 -Pn + Vn] .

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 1 0 0 1 1 0 1 2

n-1

Тогда из (1а, б) следует узловая эрмитова модель конечного сегмента

Р n (t )=

P,

Pn-2 + Pn Pn-2 2Pn-1 + Pn

n-1

+ [pn-1 -2Pn-1 +2Pn-Vn Pn-1 -Pn + Vn ]

1-1 t-t2 t2-t3

+

= Pn-1 +-

Pn-2 + Pn

t+(Pn-2-3Pn-1 + 2Pn-Vn )t2 +

-Pn-2 + 4P„_, -3P + 2 V,

n 1

nt3.

/ту \ fl-fl-1 1111/ ^

Сами убедитесь, что pn (ü)=Pn_ j, pn (l)=Pn и pn (l)=Vn. И, наконец, для реализации краевого условия pn(l)=An создадим векторы

A=(Pn_ 2_2Pn_ 1 +Pn +An )/ 2,

г- -i-I

1 1 0П 1

Rn =[Pn-1 Pn An ][T2 (ü) T2 (1) T;;(1)]-1 =[Pn_ 1 Pn A]

1 1 0 0 1 0 0 1 2

P -P + P -— —

Pn-1 Pn-1 ' Pn

A A

2 2

P

Pn-2 -2Pn-1 + 3Pn - An Pn-2 -2Pn-1 + Pn + An

n 1

4

Тогда вместе с вектором Ln из (3 а) аналогично (3б) получим

Р n (t )=

P

Pn-2 + Pn

Pn-2 2Pn-1 + Pn

n-1

1-1

t-t2 t2 t3

+

+

= Pn-1 +

P

Pn-2 2Pn-1 +3Pn A n

Pn-2 2Pn-1 + Pn + A n

n 1

+ P„ 3Pn-2- 6^, + 3P - A

2

4

n t2 + -Pn-2 + 2Pn-1 -Pn +An 13

4

(3а)

(3б)

(3в)

(3г)

Проверка рп (0)=Рп-1, рп (1)=Рп и рП(1)=Ап подтверждает правильность полученной модели последнего сегмента. При желании создать сплайн со свободным правым концом задается нулевой вектор А п = О (рис. 1,в).

Полный нормализованный сплайн, фрагменты которого приведены на рис. 1, построен на рис. 2. Там же пунктирными линиями показано, что изменения узловой точки и краевых векторов распространяются на конечное число сегментов, а точки более дальних сегментов остаются неподвижными.

i

2

2

2

2

t

3

t

4

2

2

t

4

4

3

t

А6=0

Рл

V Р Р 2

Р

4

Р

Рис. 2. Конечные свойства сплайна

Составим из узловых точек Ро ^Рп и краевых векторов Уо и Ап вектор из п + 3 -х возмущающих факторов Ж=[Ро Р1 ... Рп Уо Ап]. На рис. 2 хорошо видно, что смещение какой-либо узловой точки Р^ с номером ке[о, п] влияет на форму не более чем двух примыкающих к ней как слева, так и справа сегментов, а изменения факторов Жп+1 = Уо и Жп+2 = Ап воздействуют только на крайние сегменты:

• согласно соотношению (2б), на первом (,=1) интервале 7е[о,1) активны возмущающие факторы Жо и Жп+1, оттуда же получаем интервальные весовые функции (ВФ)

1-2.572 +1.573 при к=о;

=

к=о,п+2

372 - 273 при к=1; -о.572 + о.573 при к=2; 7-272 + 73 при к=п+1;

(4а)

о при остальных к;

• распределив зависимость (1г) по узловым точкам, сформируем интервальные ВФ влияния к -х возмущающих факторов на точки внутренних , -х сегментов, используя нормализованные сквозной 7е[/-1,-) и локальный т=7 -,+1е[о,1) параметры:

т=-

г=2,п-1 к=о,п+2

-о.5т+т2-о.5т3 при к=,-2; 1-2.5т2 +1.5т3 при к=,-1; о.5т+2т2-1.5т3 при к=,; -о.5т2 + о.5т3 при к=,+1;

(4б)

о при остальных к;

наконец, на последнем (,=п) интервале 7е[п-1,п] с локальным параметром т=7 - п+1е[о,1], судя по (3б), активны факторы Жи_2 и Жп+2 с интервальными ВФ

¿кФ=

к=о,п+2

-о.5т+т2 -о.5т3 при к=п-2; 1-3т2 + 2т3 при к=п-1; о.5т+2т2-1.5т3 при к=п;

(4в)

-т2 +т3 при к=п+2; о при остальных к.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

С помощью ВФ (4) представление , -го сегмента выглядит взвешенной смесью

р, (7 (7)Гк -1,,], /^тт.

к

Интервальные ВФ с одинаковым значением к сшиваются в факторные ВФ

п . . _

4(¿у^ ук=о,п+2, ,=1

(5а)

(5б)

характеризующие влияние возмущающих факторов ^ на весь сплайн. На рис. 3 построены

восемь графиков факторных ВФ (нулевых интервальных ВФ показаний нет), соответствующих перекрывающемуся сплайну на рис. 2. С помощью вектора ь(г)=[/0(г) 11 (г) ... 1п+2(г)]т полный сплайн представляется в виде

п+2

р(г)=£4 = бь (г) уге[0,п]. (5в)

к=0

1

0.75 0.5 0.25 0

-0.251

Рис. 3. Факторные весовые функции

Обобщим тему построением сегментов перекрывающегося сплайна р,- (г) на интервалах

ге[а,-,Ь,-] с Ь, =а, + и произвольно выбранной параметризацией — локальной (а, = 0 ) либо

сквозной ( Ь, = а,-+1), нормализованной ( =1) либо хордовой (= |Р,- -Р,- ), где — длина ,

-го параметрического интервала.

Обобщением модели (1а) является линейная интерполяция

6 t

1

р,-(г)=1,-(гг)—у- ^ге[а,-,Ь-], ,=1,п а,- а,-

(6а)

левой 1, (г )=Ь, Т2 (г) и правой г, (г )=» Т2 (г) парабол, у которых векторы коэффициентов независимы от краевых условий (см. рис. 1) и находятся обобщением (1в) как

Ь, =[Р,-2 Р,-1 Р,][Т2(а,-а,-1) Т2(а,-) Т2(Ь-)]-1 V/ =2,п , Я,- =[Р,-1 Р, Р,+1 ][Т2 (а,-) Т2 (Ь,) Т2 (Ь, + ам)]-1 V,=Щ-1.

Глядя на (6а), запишем обобщающие (1д) ВПК кубических сегментов р,- (г )=8,- Т3 (г):

8 [ь, О]-[О Ь,-]+[О Я,-]-а-[К- О] —

- а ' .

(бб)

(6в)

Модели параболических 11 (г), гп (г) и кубических р1 (г), р п (г) сегментов зависят от краевых условий в точках Р0 и Р. Для первого эрмитова сегмента с заданным начальным направлением У0 (см. рис. 1,6) ВПК левой параболы находится обобщением (2а):

Ь =[У0 Р0 Р1 ][Т1(а1) Т2(а1) Т2(Ь1 )]-1.

(7а)

Что касается краевого условия р1(а1 )=А0 с заданным ускорением А0, то оно реализуется

расчетом вектора

Ь =[А Р0 Р1 ][Т?(а1) Т2 (а1) Т2 (Ь1)]

1-1

(7б)

с таким вектором А, который создает в начале сплайна ускорение Ж(а)=Z+kA, равное Ао .

Подходящие вектор Z и скалярный коэффициент к этой линейной функции находим по двум выборкам:

• задаем нулевой вектор А=О и по (7б) находим вектор Ь, а по (6в) вектор

о 81 в2 ] коэффициентов кубического сегмента во +в17+$272 +8373 и его

начальное ускорение Ж(о)=2в2 + бв^, равное Z;

• задаем единичный вектор А=х0, ( х0 — единичный орт оси х ) и по тем же формулам находим новые векторы Ь, 81 и ж(х0 )= 2в2 + 6830^ = Z+кх0, откуда

к=(ж(х0 )-z)х = ^(х0 )х -Zх .

Теперь из условия Z+kA=Ао получаем искомое значение

А =

к Ж(х0 )х -Ж(о)х ■

(7в)

Для создания у сплайна свободного левого конца берется вектор Ао = О.

У последнего эрмитова сегмента с заданным конечным направлением Уп вектор коэффициентов правой параболы находится как

Я =[Рп-1 Рп Уп][Т2(ап) Т2(Ьп) П(Ьп)]-1. (8а)

Краевое условие р"п{Ьп)=Ап с заданным ускорением Ап реализуется расчетом аналогичного (3в) вектора

Я =[Рп-1 Рп А][Т2 (ап ) Т2 (Ьп ) Т22(Ьп )]-1 (8б)

с найденным аналогично (7в) вектором А, дающим концевое ускорение Ап :

А п - Ж(О)

Здесь значение Ж(А) от произвольного вектора А находится расчетом по (8б) и (6в) векторов Яп и 8п =[во в2 в3], после чего Ж(а)=2в2 + 6в3Ьп. Чтобы получить сплайн со свободным правым концом (см. рис. 1,в), нужно задать нулевой вектор Ап = О .

Обсудим вычислительную эффективность интерактивного построения сегментов сплайна при вариации узловых точек и краевых условий:

• использование сложных, но зато прямых формул (1г), (2б, г) и (3б, г) оказалось возможным только после их достаточно трудоемкого вывода и лишь в нормализованном локальном варианте параметризации, что ограничивает их универсальность;

• применение несложных интерполяционных формул (1а), (6а) либо параметрического разложения р, (7)=8,Т3 (7) требует пересчета векторов полиномиальных коэффициентов Ь,, Я., и 8, при каждом изменении любого возмущающего фактора. Для ускорения отрисовки сплайна можно ценой небольшого усложнения программы пересчитывать не все ВПК, а, благодаря конечности сплайна, лишь зависимые от изменяемого фактора;

• наиболее сложными в выводе (и опять лишь в рамках нормализованной локальной параметризации) являются посегментное (5 а) и общее (5б, в) узловые разложения, требующие тщательного программирования интервальных весовых функций (4).

С учетом сказанного разработаем метод расчета числовых матриц Н,, с помощью которых интерактивный вывод сегментов по формуле бинарного разложения

р. (0=ад.Тз (0 V/=1,л происходит максимально быстро. К тому же при использовании нормализованной параметризации с равными значениями di =1 V/=1,п все эти матрицы становятся независимыми от возмущающих факторов.

Введем операции двустороннего расширения матрицы ИеЯ3x3 нулевыми строками и столбцами согласно направлениям надсимвольных стрелок:

= Г И 02х1 ] = Г°2х1 И ] ^ = [01x2 0 ] 0 °1х2] т

[01x2 0 ]' _ 0 °1х2 ]' И °2х1 ]' |_°2х1 И ] • ()

Сформируем из возмущающих факторов (узловых точек Ро -^Рп и векторов концевых производных, например, У0 и А п ) такой вектор

и из И„.

Р = [Уо Ро Р1 р2 Рз - Рп-2 Рп1 Рп Ап ]

—V—

и.

И

П Ип

чтобы по нему можно было перемещать слева направо четырехэлементный шаблон факторов

И

ь/

г -го интервала и,-=[• • • •], содержащий перекрывающиеся трехэлементные узловые век-

и-

Иг

торы Иь/ и ИК1 левой и правой парабол в (6а).

Записав ВПК этих парабол как Ьг = Иы Иь/ и И г = Иш Иш с элементами

и и =[Р/-2 Р/-1 Р/ ], Ии =[Т2 (а/ -di-l) Т2 (а-) Т2 (Ь )]-1 V/ =2^ ,

Ии/ =[Р/-1 Р. Р-+1 ], Иш =[Т2(а-) Т2(Ь-) Т2(Ь + di+l)]-1 V/=1,п-1

получим бинарное разложение полинома 1 -го сегмента

Р/ (' )=ИЬ/ ИЬ/ ^ Т2 (/)+ Ии. Ии. ^ Т2 (/ )=

щ di

=-! И-

di 1

(

Ь/Иы °

° Иц/ + 0 ° ° 0

0 ° °ИШ а1 ИИ1 °

° о

со сформированной с помощью операций (9) матрицей

— П:

Тз (/)

И

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(ц^ —Ц —и и^ \ Ь Иы - Иы+Иш - а- ИК1)

VI=1, п

(10)

В рамках локальной (а. = 0 ) нормализованной (= ^ = =Ь =1) параметризации с присутствующими в (1в) матрицами

" 111" -1 "0 -0.5 0.5" "1 1 1" -1 "1 -1.5 0.5"

Иь/ = -1 0 1 = 1 0 -1 > ИИ1 = 0 1 2 = 0 2 -1

1 0 1 0 0.5 0.5 0 1 4 0 -0.5 0.5

по (10) получим матрицу

0 -0.5 0.5 0

10 -10

0 0.5 0.5 0

0 0 0 0

И1 = Иь/ 0 0 -0.5 0.5" 0 1 0 -1 0 0 0.5 0.5 0 0 0 0

+

Иь/ + ИИ1 = 0 0 0 0 0 1 -1.5 0.5 0 0 2 -1 0 0 -0.5 0.5

0 -0.5 1 -0.5

1 0 -2.5 1.5 0 0.5 2 -1.5 0 0 -0.5 0.5

Элементы моделей крайних сегментов, зависимых от краевых условий, имеют особый вид. Так, для первого сегмента с начальным направлением V0 из (7а) следует

Uli =[VO PO PI], HL1 =[X^(ar1) T2fo) T2fo)]-1. В случае локальной (ai = 0) нормализованной (di = bi =1) параметризации с матрицами из (2а)

"0 1 1" -1 "0 1 -1" "1 1 1" -1 "1 -1.5 0.5"

Hl1 = 1 0 1 = 1 0 -1 > HR1 = 0 1 2 = 0 2 -1

0 0 1 0 0 1 0 1 4 0 -0.5 0.5

по (10) получим матрицу

^ft

H1 = HL1" HL1 + HR1 =

"0 1 -1 0" "0 0 1 -1" "0 0 0 0" "0 1 -2 1

1 0 -1 0 0 1 0 -1 + 0 1 -1.5 0.5 1 0 -2.5 1.5

0 0 1 0 0 0 0 1 0 0 2 -1 0 0 3 -2

0 0 0 0 0 0 0 0 0 0 -0.5 0.5 0 0 -0.5 0.5

Если же в начале сплайна задано ускорение А 0, то, вычислив по (7в) вектор А, формируем элементы бинарного разложения левой параболы

иы =[А Ро Р], Иы =[т2'(а1) Т2^) Т2(Ъ)]—1. Для последнего сегмента с конечным направлением Уп из (8б) следует

=[Р„-1 Ри V ], И^ =[Т2(ап) Т2(Ъп) Т2(Ъп)]-!. Если же в конце сплайна задано ускорение Ап, то, вычислив по (8в) вектор А, формируем элементы бинарного разложения правой параболы

икп =[Рп-1 Рп А], Икп =[Т2(а,) Т2(Ъп) Т^Ъ)]—1.

В случае локальной (ап = 0) нормализованной (ёп = Ъп =1) параметризации с присутствующими в (3 а, в) матрицами

" 111" -1 "0 -0.5 0.5" "1 1 0" -1 "1 -1 0 "

HLn = -1 0 1 = 1 0 -1 > HRn = 0 1 0 = 0 1 0

1 0 1 0 0.5 0.5 0 1 2 0 -0.5 0.5

по (10) получим матрицу

=U

H n = = HLn - H Ln +HRn =

0 -0.5 0.5 0" "0 0 -0.5 0.5" "0 0 0 0 " "0 -0.5 1 -0.5

1 0 -1 0 0 1 0 -1 + 0 1 -1 0 1 0 - 2.5 1.5

0 0.5 0.5 0 0 0 0.5 0.5 0 0 1 0 0 0 3 -2

0 0 0 0 0 0 0 0 0 0 -0.5 0.5 0 0 -0.5 0.5

Работу алгоритма синтеза перекрывающегося сплайна иллюстрирует рис. 4:

• плоский сплайн 1 со свободными концами построен методом хордовой параметризации на той же неравномерной сетке, что и обычный сплайн 2, но демонстрирует более плотное прилегание к узловой сети;

• у трехмерного нормализованного сплайна 3 векторы краевых направлений Уо =10(Р1 —Ро ) и У7 = Р/ —Р6 заданы такими же, как у обычного эрмитова сплайна 4, но отклонения от узловой сети также уменьшились;

• последний график 5 показывает богатые возможности свободного творчества, предоставляемые разработанным сплайном с конечным носителем.

P

P

P

6 9-

5

Рис. 4. Примеры реализации алгоритма

Таким образом, сплайны с перекрытием параболических сегментов показывают лучшее качество интерполирования в сравнении с типовыми кубическими сплайнами при меньшей вычислительной сложности, характеризуемой размерностями обращаемых матриц — 3x3 вместо 4пх4п в [3, (8)], даже 4x4 в итеративном алгоритме [3, (9)].

Главным недостатком перекрывающегося сплайна является пониженная, но визуально незаметная, степень гладкости сопряжения его сегментов — первая вместо второй в [3, (6в)]. Это означает скачки ускорения в точках сшивки сегментов. С другой стороны, разрывность кривизны сплайновой линии можно обратить на пользу для создания в стыках сегментов точек перегиба и расширения возможностей конструирования сложных линий.

Библиографический список

1. Роджерс, Д. Математические основы машинной графики / Д. Роджерс, Дж. Адамс. - М.: Мир, 2001. - 604 с.

2. Никулин, Е.А. Построение гладких составных линий с перекрытием сегментов // Труды НГТУ. 2006. Т. 58. Вып. 11. С. 5-12.

3. Никулин, Е.А. Прямой параметрический синтез сплайновых линий // Труды НГТУ. 2007. Т. 65. Вып. 14. С. 123-130.

Дата поступления в редакцию 05.02.15

E.A. Nikulin

SYNTHESIS OF CUBIC SPLINES BY OVERLAPPING PARABOLAS METHOD

Nizhny Novgorod state technical university n.a. R.E. Alexeev

Subject: Design of an algorithm for constructing cubic splines by method of overlapping parabolas. Purpose: Development of matrix synthesis algorithms of polynomial curves and surfaces. Methodology: Linear interpolation parabolic lines on the range of their overlap. Originality: A method of implementing the boundary conditions is developed.

Findings: The algorithm of the synthesis of cubic splines overlapping with different boundary conditions is obtained. Key words: spline, segment, polynome, boundary conditions.

i Надоели баннеры? Вы всегда можете отключить рекламу.