Сплайн-аппроксимация с сопряжением кривых по производным
Предложена методика кубической В-сплайн аппроксимации точечно заданных кривых, позволяющая выполнить сопряжение сплайнов по 1-й и 2-й производным, что весьма важно при аппроксимации больших массивов, часто встречающихся в практике числового программного управления (ЧПУ). Работоспособность метода про...
Gespeichert in:
| Datum: | 2012 |
|---|---|
| Hauptverfasser: | , , |
| Format: | Artikel |
| Sprache: | Russian |
| Veröffentlicht: |
Інстиут проблем машинобудування ім. А.М. Підгорного НАН України
2012
|
| Schriftenreihe: | Проблемы машиностроения |
| Schlagworte: | |
| Online Zugang: | https://nasplib.isofts.kiev.ua/handle/123456789/99045 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Zitieren: | Сплайн-аппроксимация с сопряжением кривых по производным / Ю.А. Раисов, И.В. Бычков, Н.И. Бычков // Проблемы машиностроения. — 2012. — Т. 15, № 2. — С. 45-55. — Бібліогр.: 5 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| id |
nasplib_isofts_kiev_ua-123456789-99045 |
|---|---|
| record_format |
dspace |
| spelling |
nasplib_isofts_kiev_ua-123456789-990452025-02-09T14:51:22Z Сплайн-аппроксимация с сопряжением кривых по производным Spline approximation with the coupling curves by the derivatives Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. Прикладная математика Предложена методика кубической В-сплайн аппроксимации точечно заданных кривых, позволяющая выполнить сопряжение сплайнов по 1-й и 2-й производным, что весьма важно при аппроксимации больших массивов, часто встречающихся в практике числового программного управления (ЧПУ). Работоспособность метода проиллюстрирована примерами. Запропоновано методику кубічної В-сплайн апроксимації точково заданих кривих, яка дозволяє виконати спряження сплайнів за першою та другою похідними, що дуже важливо при апроксимації великих масивів, що часто зустрічаються в практиці числового програмного керування (ЧПК). Працездатність методу проілюстрована прикладами. The article presents a technique of cubic B-spline approximation of a point-defined curves. The technique allows the coupling of splines by the first and second derivatives. This is very important in the approximation of large arrays, which often occurs in practice of numerical control (CNC). The workability of the method is illustrated by examples 2012 Article Сплайн-аппроксимация с сопряжением кривых по производным / Ю.А. Раисов, И.В. Бычков, Н.И. Бычков // Проблемы машиностроения. — 2012. — Т. 15, № 2. — С. 45-55. — Бібліогр.: 5 назв. — рос. 0131-2928 https://nasplib.isofts.kiev.ua/handle/123456789/99045 621.9.06 ru Проблемы машиностроения application/pdf Інстиут проблем машинобудування ім. А.М. Підгорного НАН України |
| institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| collection |
DSpace DC |
| language |
Russian |
| topic |
Прикладная математика Прикладная математика |
| spellingShingle |
Прикладная математика Прикладная математика Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. Сплайн-аппроксимация с сопряжением кривых по производным Проблемы машиностроения |
| description |
Предложена методика кубической В-сплайн аппроксимации точечно заданных кривых, позволяющая выполнить сопряжение сплайнов по 1-й и 2-й производным, что весьма важно при аппроксимации больших массивов, часто встречающихся в практике числового программного управления (ЧПУ). Работоспособность метода проиллюстрирована примерами. |
| format |
Article |
| author |
Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. |
| author_facet |
Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. |
| author_sort |
Раисов, Ю.А. |
| title |
Сплайн-аппроксимация с сопряжением кривых по производным |
| title_short |
Сплайн-аппроксимация с сопряжением кривых по производным |
| title_full |
Сплайн-аппроксимация с сопряжением кривых по производным |
| title_fullStr |
Сплайн-аппроксимация с сопряжением кривых по производным |
| title_full_unstemmed |
Сплайн-аппроксимация с сопряжением кривых по производным |
| title_sort |
сплайн-аппроксимация с сопряжением кривых по производным |
| publisher |
Інстиут проблем машинобудування ім. А.М. Підгорного НАН України |
| publishDate |
2012 |
| topic_facet |
Прикладная математика |
| url |
https://nasplib.isofts.kiev.ua/handle/123456789/99045 |
| citation_txt |
Сплайн-аппроксимация с сопряжением кривых по производным / Ю.А. Раисов, И.В. Бычков, Н.И. Бычков // Проблемы машиностроения. — 2012. — Т. 15, № 2. — С. 45-55. — Бібліогр.: 5 назв. — рос. |
| series |
Проблемы машиностроения |
| work_keys_str_mv |
AT raisovûa splajnapproksimaciâssoprâženiemkrivyhpoproizvodnym AT byčkoviv splajnapproksimaciâssoprâženiemkrivyhpoproizvodnym AT byčkovni splajnapproksimaciâssoprâženiemkrivyhpoproizvodnym AT raisovûa splineapproximationwiththecouplingcurvesbythederivatives AT byčkoviv splineapproximationwiththecouplingcurvesbythederivatives AT byčkovni splineapproximationwiththecouplingcurvesbythederivatives |
| first_indexed |
2025-11-27T01:24:38Z |
| last_indexed |
2025-11-27T01:24:38Z |
| _version_ |
1849904787672268800 |
| fulltext |
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 45
УДК 621.9.06
Ю. А. Раисов, д-р техн. наук
И. В. Бычков, д-р техн. наук
Н. И. Бычков
Институт проблем машиностроения им. А. Н. Подгорного НАН Украины
(г. Харьков, e-mail: forma54@mail.ru)
СПЛАЙН-АППРОКСИМАЦИЯ С СОПРЯЖЕНИЕМ
КРИВЫХ ПО ПРОИЗВОДНЫМ
Предложена методика кубической В-сплайн аппроксимации точечно заданных кривых,
позволяющая выполнить сопряжение сплайнов по 1-й и 2-й производным, что весьма
важно при аппроксимации больших массивов, часто встречающихся в практике число-
вого программного управления (ЧПУ). Работоспособность метода проиллюстрирована
примерами.
Запропоновано методику кубічної В-сплайн апроксимації точково заданих кривих, яка
дозволяє виконати спряження сплайнів за першою та другою похідними, що дуже важ-
ливо при апроксимації великих масивів, що часто зустрічаються в практиці числового
програмного керування (ЧПК). Працездатність методу проілюстрована прикладами.
Введение
Задача аппроксимации с сопряжением В-сплайн кривых часто встречается в практи-
ке числового программного управления (ЧПУ). Как известно, до недавнего времени боль-
шинство устройств ЧПУ имело возможность задавать перемещение только по линейным и
круговым траекториям. Поэтому управляющие программы (УП) для обработки сложных
объектов рассчитывается путём кусочно-линейной аппроксимации исходных кривых. В ре-
зультате УП содержит огромное число кадров линейного перемещения на малые величины в
каждом из них, что практически исключает применение высокоскоростной обработки, кото-
рая в настоящее время всё больше входит в практику машиностроения.
Внедрение в ЧПУ сплайн-кривых позволяет решить задачу модификации УП, со-
держащих большое число линейных кадров, путём сплайн-аппроксимации или сплайн-
интерполяции. Сплайн-интерполяция применяется при относительно небольшом числе ли-
нейных участков (~20÷30) и уже используется в системах ЧПУ [1–3]. Управляющие про-
граммы ЧПУ, в частности в авиастроении могут содержать сотни и тысячи кадров, и для их
модификации использование сплайн-аппроксимации может оказаться более эффективным.
Однако алгоритмы сплайн-аппроксимации намного сложнее алгоритмов сплай-
интерполяции и требуют большей вычислительной мощности для реализации. Практика по-
казала, что с ростом числа узлов сплайна время счёта при аппроксимации увеличивается в
степенной зависимости, что далеко не всегда приемлемо в ЧПУ. К тому же, при предвари-
тельной обработке массивов кадров нередко возникают ситуации, когда отдельные кадры
УП надо оставить без изменения. Тогда возникает необходимость иметь несколько сплайн-
кривых, сопряжённых между собой, в том числе и по производным. При сопряжении кривых
по первой и второй производным сохраняется С2-непрерывность сопрягаемых кривых, что
обеспечит отсутствие скачков по скорости и ускорению в точке сопряжения в процессе об-
работки на станке с ЧПУ.
Основная часть
Алгоритм сопряжения по первым производным можно построить, используя общий
метод В-сплайн интерполяции с заданием первой производной в начальной и конечной точ-
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 46
ках исходного массива [4]. Для построения алгоритма сопряжения по вторым производным
требуется дополнительная разработка, что и сделано в настоящей статье.
Ниже рассмотрен метод В-сплайн аппроксимации, позволяющий выполнить сопря-
жение сплайновых кривых третьей степени по первой и второй производным. Алгоритм ос-
нован на использовании общего метода В-сплайн аппроксимации, к которому выполнены
необходимые дополнения.
Пусть задан массив точек }{ kQ
r
, k = 0, 1, …, m, выбраны допустимая точность ап-
проксимации δ, степень аппроксимирующей кривой p и число контрольных точек (n + 1)
первой итерации. Считаем, что p > 1, n ≥ p, n < m.
Требуется найти В-сплайн кривую
∑
=
∈=
n
i
ipi UPUNUC
0
, ]1,0[,)()(
rr
, (1)
удовлетворяющую условиям
)1(),0(0 CQCQ m
rrrr
== , (2)
min)(
21
1
=−∑
−
=
m
k
kk UCQ
rr
. (3)
В общем случае кривая )(UC
r
не проходит через точки kQ
r
и ее точки )( kUC
v
не яв-
ляются ближайшими к точкам kQ
r
.
Для построения кривой )(UC
r
требуется найти узловой вектор
⎪
⎭
⎪
⎬
⎫
⎪
⎩
⎪
⎨
⎧
++
= 321321
1
1,...,1,1,,...,,
1
0,...,0,0
p
nUpU
p
U ,
определить ненулевые базисные функции Ni,p(U) и, используя критерий наименьших квадра-
тов (3), составить систему уравнений, связывающих известные точки kQ
r
с неизвестными
точками контрольного полигона Pi. В результате решения системы уравнений будут найде-
ны точки {Pi}, i = 1, 2, …, m – 1 (точки P0, Pn определены условием (2).
Далее следует определить отклонения
)( kkk UCQ
rr
−=ε , k = 1, 2, …, m – 1
и проверить условие
εk ≤ δ. (4)
Если условие (4) не выполняется, следует увеличить число контрольных точек n и
выполнить очередную итерацию. Если же все εk ≤ δ, можно уменьшить число контрольных
точек и выполнить очередную итерацию. Окончание итерационного процесса может быть
обусловлено различными правилами, в том числе и получением оптимального числа точек
полигона.
Алгоритм решения задачи в пределах одной итерации включает следующие шаги.
1. Расчёт параметров kU . Используется метод хорд
1,,2,1;1;;0
1
10 −==
−
+==
−
− nkU
d
QQ
UUU n
kk
kk K ,
∑
=
−−=
n
k
kk QQd
1
1 . (5)
2. Расчёт внутренних узлов узлового вектора. Вводится вспомогательный пара-
метр h.
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 47
1
1
+−
+
=
pn
mh (6)
и далее, внутренний узел
( )
.),int(
,,,2,1,1 1
ijhjhi
pnjUUpjU
j
ijij
−=α=
−=α+α−=+ − K
3. Вычисляются значения базисных функций
mkniUN kpi KK ,1,0,,1,0),(, ==
по формулам
⎩
⎨
⎧ <≤
= +
интервалавне,0
,1
)( 1
0,
ii
i
UUU
UN
)()()( 1,1
11
1
1,, UN
UU
UU
UN
UU
UUUN pi
ipi
pi
pi
ipi
i
pi −+
+++
++
−
+ −
−
+
−
−
= .
4. Вычисляются вспомогательные векторы kR , введение которых обусловлено про-
цессом оптимизации по критерию (3)
1,....,1,)()( ,0,0 −=−−= mkQUNQUNQR mkPnkPkk
rrrr
.
Тогда
ik
n
i
pikik
n
i
pikkk PUNRPUNQUCQ
rrrrrr
)()()(
1
0
,
0
, ∑∑
−
==
−=−=− .
Обозначив
∑
=
−=
m
k
kk UCQf
1
2
)(
rr
и учитывая, что минимум f достигается при 0=
∂
∂
l
f , l = 1, 2, …, n – 1, после преобразований
получим
∑∑ ∑
−
=
−
=
−
=
=⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ 1
1
,
1
1
,
1
1
, )()()(
m
k
kkPl
n
i
ikPi
m
k
kPl RUNPUNUN
rr
.
5. Придавая l значения от 1 до n – 1, имеем систему уравнений
1
2
1
1,12,11,1
1,22221
1,11211
1
2
1
−−−−−
−
−
−
=×
nnnnn
n
n
n B
B
B
AAA
AAA
AAA
P
P
P
r
r
r
r
r
r
, (7)
где
,1,...,1,1,...,1
,)(,)()(
1
1
,,
1
1
,,
−=−=
== ∑∑
−
=
−
=
ninl
RUNBUNUNA
m
k
kkpllkpi
m
k
kplil
rr
l – номер строки, i – номер столбца, он же индекс вектора kR
r
Решение системы (7) даёт значения координат контрольных точек 11,..., −nPP
rr
, которые
в совокупности с векторами 00 QP
r
&
r
& = и mn QP
r
&
r
& = образуют контрольный полигон.
6. Вычисляются значения координат точек )( kUC в соответствии с (1)
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 48
∑
=
−==
n
i
ikpik mkPUNUC
0
, 1,1,)()( K
rr
.
7. Вычисляются отклонения )( kUC от точек kQ
)(ε kkk UCQ
rr
−=
и проверяется условие (4).
По результатам сравнения принимается решение о продолжении или прекращении
итераций.
Теперь покажем, какие изменения и дополнения вводятся в описанный алгоритм, ес-
ли требуется сопряжение сплайнов по производным. Решение задачи будет выполнено при-
менительно к кубическим В-сплайнам, наиболее часто используемым в практике ЧПУ.
Пусть заданный исходный массив точек }{ kQ
r
по причинам, изложенным выше, раз-
бит на ряд секций, для каждой из которых требуется найти аппроксимирующую кубическую
В-сплайн кривую.
Для первой секции по рассмотренному выше алгоритму находим аппроксимирую-
щую В-сплайн кривую ∑
=
=
1
0
3,1 )()(
n
i
ii PUNUC
rr
(n1 – число контрольных точек, Ni,3(U) – ба-
зисные функции 3-й степени для В-сплайн кривой первой секции). Теперь следует найти
значения производных в конечной точке 1-й секции с тем, чтобы присвоить их значения
производным в этой же точке, но принадлежащей начальной точке 2-й секции. Это нетрудно
сделать, если сегменты В-сплайна представлены в виде многочленов, как это показано в [5].
Тогда для последнего сегмента первой секции будем иметь
,)1,(,)(
,)(
1
)1()1(2)1(3)1(
)1()1(2)1(3)1(
n
n
Y
n
Y
n
Y
n
Y
n
X
n
X
n
X
n
X
UUDUCUBUAUY
DUCUBUAUX
∈+++=
+++=
(8)
n1 – индекс последнего сегмента первой секции.
Взяв производную по параметру U от (8) и учитывая, что в конечной точке сплайна
1-й секции U = 1. получим
[ ]
[ ]
[ ] .)1(),1()1(
,)1(),1()1(
,)1(),1()1(
,6)1(
,26)1(
,23)1(
6)1(
,26)1(
,23)1(
'''''''''
1
''''''
1
'''
1
)1('''
)1()1(''
)1()1()1('
)1('''
)1()1(''
)1()1()1('
YXC
YXC
YXC
AY
BAY
CBAY
AX
BAX
CBAX
n
Y
n
Y
n
Y
n
Y
n
Y
n
Y
n
X
n
X
n
X
n
X
n
X
n
X
=
=
=
=
+=
++=
=
+=
++=
(9)
Полученные в (9) значения производных приравниваем значениям производных в
начальной точке 2-й секции, для которой U = 0, т. е. потребуем, чтобы выполнялись равен-
ства
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 49
).0()1(
),0()1(
),0()1(
'''
2
'''
1
''
2
''
1
'
2
'
1
CC
CC
CC
=
=
=
(10)
Теперь рассмотрим первый сегмент 2-й секции. Для кубического В-сплайна он опре-
делён четырьмя базисными функциями N0,3(U), N1,3(U), N2,3(U), N3,3(U) и четырьмя векторами
контрольных точек 3210 ,,, PPPP
rrrr
, т. е.
),0(,)()( 4
3
0
3,2 UUPUNUC
i
ii ∈=∑
=
rr
. (11)
Учёт производных при отыскании аппроксимирующей кривой 2-й секции потребует
увеличения размерности узлового вектора и добавления контрольных точек. При учёте всех
трёх производных окажется, что первый сегмент 2-й секции полностью определён значе-
ниями производных, полученных в (10) и дополнительными узлами узлового вектора, вво-
димыми для учёта производных. Покажем, что значения векторов 321 ,, PPP
rrr
могут быть опре-
делены через )0(),0(),0(, '''
2
''
2
'
20 CCCP
r
Для этого базисные функции Ni,3(U) запишем в виде
iiiii dUcUbUaUN +++= 23
3, )( . (12)
Тогда для )(2 UC
r
из (11) получим
( )∑
=
+++=
3
0
23
2 .)(
i
iiiii PdUcUbUaUC
rr
(13)
Последовательно применяя рекуррентное соотношение
)()()( 1,1
11
1
1,, UN
UU
UU
UN
UU
UUUN pi
ipi
pi
pi
ipi
i
pi −+
+++
++
−
+ −
−
+
−
−
= , (14)
для базисных функций Ni,3(U) 1-го сегмента, получим
).,0(,)(
,)(
,)(
,)(
4
3
33,3
2
2
3
23,2
1
2
1
3
13,1
00
2
0
3
03,0
UUUaUN
UbUaUN
UcUbUaUN
dUcUbUaUN
∈=
+=
++=
+++=
(15)
Если число узлов узлового вектора 2-й секции n2, то узловой вектор запишется в ви-
де
U = {0, 0, 0, 0, U4, U5, U6, …, Un2, 1, 1, 1, 1}, (16)
Тогда, используя (12), (14), (15) и (16), имеем
.0,0,0,1
.0,0,3,111
.0,3,33,111
.1,3,3,1
333
654
3
22
54
2
654
2
545
2
4
2
1
4
1
54
2
4
12
545
2
4
3
4
1
0
4
02
4
03
4
0
====
===−−−=
==−−=++=
=−==−=
dcb
UUU
a
dc
UU
b
UUUUUUU
a
d
U
c
UUU
b
UUUUU
a
d
U
c
U
b
U
a
(17)
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 50
Из (13) при U = 0 получаем
0002 )0( PPdC
rrr
== .
Продифференцировав (13) по U и учтя значения с0 и с1 из (17), получаем
1
4
0
4
'
2
33)0( P
U
P
U
C
rrr
+−= .
Отсюда
( ).0
3
'
2
4
01 CUPP +=
rr
(18)
Этот результат совпадает с известным из общей теории дифференцирования
В-сплайн функций [3, 3].
Взяв вторую производную от (13) по U и используя соотношения (15) для )0(''2C
r
имеем
221100
''
2 222)0( PbPbPbC ++=
r
.
С учётом bi из (17) для 2P
r
получим
( ) .10
6 0
4
5
1
4
5
''
2
54
2 P
U
UP
U
UCUUP
rrr
−⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
++= (19)
Взяв третью производную от (13), имеем:
1
3
0
'''
2 6)( PaUC
i
i∑
=
=
r
.
Учтя значение ai из (17) для 3P
r
получим:
( ) ( ) ( ) 212
5
6
4
6
102
4
65
'''
2
654
3 0
6
PPP
U
U
U
UPP
U
UUCUUUP
rrrrrr
+−⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
++−+=
Таким образом, показана принципиальная возможность сопряжения кубических
В-сплайнов по трём производным.
Практически необходимо принять во внимание два обстоятельства.
Первое. Кубический В-сплайн имеет непрерывность С2, и на границах сегментов
внутри сплайна третья производная претерпевает разрыв. Поэтому добиваться сопряжения
двух кубических В-сплайнов по 3-й производной бессмысленно.
Второе. Сопряжение В-сплайнов по 1-й и 2-й производным предопределяет положе-
ние векторов 1P
r
и 2P
r
, которые будут исключены из процедуры оптимизации при построе-
нии аппроксимирующей кривой. Это означает, что точность аппроксимации может ухуд-
шиться и возможны ситуации, когда заданная точность не достигается.
Теперь вернёмся к изменениям и дополнениям алгоритма аппроксимации с учётом
необходимости сопряжения секций по 1-й и 2-й производным. Пусть 2-я секция должна ох-
ватывать массив точек }{ kQ , k = 0, 1, …, m2, заданы степень аппроксимирующей кривой p и
точность аппроксимации δ, выбрано число контрольных точек первой итерации n2, заданы
значения )0('
2C
r
и )0(''2C
r
.
1. Операции первого шага алгоритма остаются без изменений, т. е. величины kU
рассчитываются по соотношениям (5).
2. Вспомогательный параметр h рассчитывается из выражения (6) для расчёта узло-
вого вектора
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 51
2112
12
qqpn
mh
+++−
+
= ,
где
⎩
⎨
⎧
−
−
=
⎩
⎨
⎧
−
−
=
й.производной2посопряжениянет,0
йпроизводной2посопряжениеесть,1
й,производной1посопряжениянет,0
йпроизводной1посопряжениеесть,1
2
1
q
q
Параметры αj, определяющие внутренние узлы узлового вектора
αj = jh – i, I = int(jh), j = 1, …, n – p + q1 + q2.
Внутренние узлы узлового вектора
( ) .1 1 ijijpj UUU α+α−= −+
Узловой вектор имеет вид
⎪
⎭
⎪
⎬
⎫
⎪
⎩
⎪
⎨
⎧
++
= +++ 321321
1
1,...,1,1,,...,,
1
0,...,0,0
212
p
UU
p
U qqnjp .
3. Вычисляются значения базисных функций
)(, kpi UN , i = 0, …, n2 + q1 + q2, k = 0, …,m2.
4. Вычисляются векторы 1P
r
и 2P
r
по соотношениям (18) и (19) соответственно.
5. Вычисляются векторы kR
r
с учётом того, что 1P
r
и 2P
r
должны быть исключены из
процедуры оптимизации
2,2,221,110,0 )()()()(
212 mkPqqnkPkPkPkk QUNPUNqPUNqPUNQR
rrr
++−−−−= ,
k = 1 + q1 + q2, …,m2 – 1.
6. Система уравнений (7) приобретает следующий вид
( )
( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( )
( ) ( )
( )
( )
,
1
1
11
11
111
111
1
1
2121212121
21
21
21
21 12
3
22
11
12,122,1221,121
12,3322311
12,22222211
12,11121111
12
3
22
11
qqnqqnqqnqqnqqn
qqn
qqn
qqn
qqn B
B
Bq
Bq
AAqAq
AAqAq
AqAqAq
AqAqAq
P
P
Pq
Pq
++−++−++−++−++−
++−
++−
++−
++−
−
−
=
−−
−−
−−−
−−−
×
−
−
r
r
r
r
L
L
L
L
r
r
r
r
где
,)(),()(
12
1
,,
12
1
,, ∑∑
−
=
−
=
==
m
k
kkpllkpi
m
k
kplil RUNBUNUNA
rr
l = 1 + q1 + q2, …, n2 + q1 + q2– 1, i = 1 + q1 + q2, …, n2 + q1 + q2– 1..
В результате решения системы определяются векторы контрольных точек, образую-
щие контрольный полигон. Дальнейшие шаги остаются прежними. Рассмотренная схема
пригодна и для вычислений при отсутствии сопряжения по производной. В этом случае па-
раметры q1 = 0 и q2 = 0 и схема приобретает вид, изложенный для 1-й секции.
Приведём пример, иллюстрирующий изложенные положения.
Пусть заданный массив точек
)}0,2000(),310,1950(),440,1900(),600,1800(),800,1600(),900,1400(
),950,1300(),980,1200(),990,1100(),1000,1000(),990,900(),980,800(
),950,700(),900,600(),800,400(),600,200(),440,100(),310,50(),0,0{(}{ =kQ
разбит на 2 секции:
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 52
1-я секция – 10 точек от (0,0) до (1000,1000);
2-я секция – 10 точек от (1000,1000) до (2000.0).
Точка )1000,1000(9Q
r
– общая точка двух секций, и в ней должно быть получено со-
пряжение по 1-й и 2-й производным.
Пусть для первой итерации при построении аппроксимирующей кривой 1-й секции
принято n = 3 (т. е. n + 1 = 4 – контрольные точки), p = 3, заданная точность аппроксимации
δ ≤ 10.
1.Рассчитываем параметры kU по (5)
.1,94,0,87,0,8,0,73,0
,59,0,41,0,29,0,2,0,0
08765
43210
=====
=====
UUUUU
UUUUU
2.Параметры
.0,1),int(,10
1
1
=−===
+−
+
= pnjjhi
pn
mh
Узловой вектор не имеет внутренних узлов
U = (0, 0, 0, 0, 1, 1, 1, 1)
Базисные функции 3-й степени будут иметь выражения
.)(
,33)(
,363)(
,133)(
3
3,3
23
3,2
23
3,1
23
3,0
UUN
UUUN
UUUUN
UUUUN
=
+−=
+−=
+−+−=
U ∈ (0, 1)
Далее вычисляем значения базисных функций в точках kU , k = 1, …, 8, рассчитыва-
ем векторы kR
r
, коэффициенты ilA , векторы lB
r
и записываем систему уравнений. В данном
случае контрольный полигон составляют векторы 932100 ,,, QPPPQP
rrrrrr
== . Подлежат опреде-
лению векторы 1P
r
и 2P
r
. Система уравнений имеет вид:
2
1
2221
1211
2
1
B
B
AA
AA
P
P
r
r
r
r
=× .
Вычисляем
).706,1625,476,356()(,)852,842,532,222()(
,7596,0)()(,4911,0)()(
,4911,0)()(,6490,0)()(
8
1
3,22
8
1
3,11
3,2
8
1
3,2223,1
8
1
3,221
3,2
8
1
3,1123,1
8
1
3,111
====
====
====
∑∑
∑∑
∑∑
==
==
==
k
kk
k
kk
k
k
kk
k
k
k
k
kk
k
k
RUNBRUNB
UNUNAUNUNA
UNUNAUNUNA
rrrr
Расчёты сведены в таблицу
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 53
Результаты расчётов В-сплайн аппроксимации для первой секции
№ т. kU N0,3 N1,3 N2,3 N3,3 ΣNi,3 kQ
r
kR
r
)( kUC
r
εk
0 0 1,0 – – – 1,00 0,0 – 0, 0 0
1 0,2 0,512 0,384 0,096 0,008 1,00 50,310 42,302 45,3, 312 9,3
2 0,29 0,358 0,439 0,179 0,024 1,00 100,440 76,416 100,3, 440,9 0,94
3 0,41 0,205 0,428 0,298 0,069 1,00 200,600 131,531 263,3, 599 3,4
4 0,59 0,069 0,298 0,428 0,205 1,00 400,800 195,595 405,4, 794,5 7,7
5 0,73 0,02 0,16 0,432 0,388 1,00 600,900 312,512 593,7, 906,7 9,2
6 0,8 0,008 0,096 0,384 0,512 1,00 700,950 188,438 695,9, 948 4,1
7 0,87 0,002 0,044 0,295 0,659 1,00 800,980 141,321 801, 977,9 2,4
8 0,94 2⋅10–4 0,01 0,159 0,831 1,00 900,990 69,159 907,9, 995,4 9,6
9 1,0 – 0,00 – 1,00 1,00 1000,1000 – 1000, 1000 0
Решение системы уравнений даст
( )1000,485),542,24( 21 =−= PP
rr
.
Контрольный полигон
)}1000,1000(),1000,485(),542,24(),0,0{(}{ −=iP
r
.
Из таблицы видно, что заданная точность достигается при 1-й итерации.
При полученном контрольном полигоне выражения координат представляются в ви-
де полиномов
).1,0(,1626252374)(,7211599527)( 2323 ∈+−−=−+= UUUUUYUUUUX
Значение производных в точке 9Q
r
, (т. е. при U = 1)
.2748)1(,36)1(
,0)1(,1545)1(
''''
''
−==
==
YX
YX
Тогда для начальной точки второй секции принимаем
( ) ( ).2748,36)0(,0,1545)0( ''
2
'
2 −== CC M
Вторая секция. Возьмём для первой итерации n = 3. С учётом требования сопряже-
ния по 1-й и 2-й производным получим n + q1 + q2 = 5 и контрольный полигон будет иметь 6
точек. Из них заданы 18590 , QPQP
rrrr
== . По значениям )0(),0(, ''
2
'
20 CCP
r
и узловому вектору
второй секции определяются векторы 21, PP
rr
. Остаются неизвестными векторы 43, PP
rr
.
Находим значение параметра
3
10
3
1
=
+−
+
=
pn
mh .
Определяем внутренние узлы узлового вектора, т. к. j = 1, 2, α1 = 1/3, α2 = 2/3 узло-
вой вектор
U = (0, 0, 0, 0, 0,15, 0,53, 1, 1, 1, 1).
Рассчитываем по (18) и (19) векторы 21, PP
rr
соответственно
.)964,1351(
),1000,1077(
2
1
=
=
P
P
r
r
Рассчитываем значения базисных функций 8,1,5,0),(3, KK == kiUN ki , векторы kR
r
(k = 1, …, 8) и lB
r
(k = 3, 4), составляем систему уравнений
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 54
4
3
4443
3433
4
3
B
B
AA
AA
P
P
r
r
r
r
=×
Получим
.)251,2005(
),684,1834(
4
3
=
=
P
P
r
r
Далее вычисляем значения сплайна в точках kU и определяем отклонения этих то-
чек от kQ
r
. Опуская расчёты, укажем лишь, что при определении векторов kR
r
следует ис-
пользовать выражение
.8,,3,)()(
)()(
183523,2
13,103,0
2
K
rr
rrrr
=−−
−−=
kQUNPUN
PUNPUNQR
kk
kkkk
Эти же пределы изменения k берутся при расчёте коэффициентов Ali и векто-
ров lB
r
. В итоге получаем, что заданная точность аппроксимации выполняется во
всех точках )( kUC
r
, кроме одной: 266,0,8,12)( 44
)2(
44 ==−=ε UUCQ
rr
.
Если критически важно получение точности εk ≤ 10 и в этой точке, то следует взять
n = 4 и выполнить ещё одну итерацию. При этом получим h = 4/10, j = 1, 2, 3, узловой вектор
будет иметь 3 внутренних узла, изменится положение векторов 21, PP
rr
, контрольный поли-
гон составят 7 контрольных точек, из которых 6210 ,,, PPPP
rrrr
определены, а 543 ,, PPP
rrr
будут оп-
ределены в результате оптимизации.
В заключение приведём график аппроксимирующей кривой (рис. 1), графики первых
производных X '(U), Y '(U) для 1-й и 2-й секций (рис. 2) и графики вторых производных
X ''(U), Y ''(U) для 1-й и 2-й секций (рис. 3).
Выводы
1. Показано, что в практике ЧПУ существует необходимость сопряжения сплайн-
кривых, образованных при аппроксимации больших кусочно-линейных массивов данных.
2. Отмечено, что для сохранения неизменных величин скорости и ускорения при пе-
реходе с одной сплайн-кривой на другую требуется сопряжение сплайнов по 1-й и 2-й про-
изводным.
3. Получены соотношения,
позволяющие вычислить точки
контрольного полигона сопрягаю-
щегося сплайна, обеспечивающие
сохранение значений 1-й и 2-й
производных в точке сопряжения.
4. Разработаны дополнения
к общему методу В-сплайн ап-
проксимации с учётом обеспече-
ния непрерывности С2 при сопря-
жении кубических В-сплайн кри-
вых.
Работоспособность разра-
ботанного метода проиллюстриро-
вана примером.
Рис. 1. Аппроксимирующая В-сплайн
кривая и контрольный полигон
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 2 55
Литература
1. Sinumeric 840D/840Di/810D Руководство по
программированию. Расширенное программи-
рование. – SIEMENS. – 2001. – 650 с. Также
доступен в http://www.siemens.com.
2. GE Fanuc Automation. Series 16i/160i/160is-
MB. Series 18i/180i/180is-MB5. Operator's Manual. – Fanuc. – 2002. – 1257 p. Также доступен в
http:// www.fanuc.com
3. PC-based Controller with Real-time Look-ahead NURBS Interpolator [Text] / H. T. Yau1, J. B. Wang,
C. Y. Hsu, C. H. Yeh // Computer-Aided Design & Applications. – 2007. – Vol. 4. – № 1–4. – P. 331–
340.
4. Piegle L. The NURBS book [Text] / L. Piegle, W. Tiller. – Berlin, Heidelberg, New York: Springer. –
1997. – 578 p.
5. Раисов Ю. А. В-сплайн интерполяция для двухуровневых систем ЧПУ [Текст] / Ю. А. Раисов,
И. В. Бычков, П. А. Кулаков // Інформаційно-керуючі системи на залізничному транспорті. – 2008.
– №5–6. – С. 71–74.
Поступила в редакцию
02.03.12
Рис. 2. Графики первых производных
перемещений по осям X' и Y'
Рис. 3. Графики вторых производных
перемещений по осям X'' и Y''
|