Вычисление длины В-сплайн кривой
Предложен метод вычисления длины В-сплайн кривой. Метод основан на представлении В-сплайн кривой в виде многочлена в пределах каждого сегмента В-сплайна и использовании формулы Симпсона (парабол) для численного интегрирования. Методика проиллюстрирована примером. Запропоновано метод обчислення довжи...
Gespeichert in:
| Veröffentlicht in: | Проблемы машиностроения |
|---|---|
| Datum: | 2012 |
| Hauptverfasser: | , , |
| Format: | Artikel |
| Sprache: | Russisch |
| Veröffentlicht: |
Інстиут проблем машинобудування ім. А.М. Підгорного НАН України
2012
|
| Schlagworte: | |
| Online Zugang: | https://nasplib.isofts.kiev.ua/handle/123456789/99093 |
| 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, № 5-6. — С. 65-69. — Бібліогр.: 5 назв. — рос. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1860248550392201216 |
|---|---|
| author | Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. |
| author_facet | Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. |
| citation_txt | Вычисление длины В-сплайн кривой / Ю.А. Раисов, И.В. Бычков, Н.И. Бычков // Проблемы машиностроения. — 2012. — Т. 15, № 5-6. — С. 65-69. — Бібліогр.: 5 назв. — рос. |
| collection | DSpace DC |
| container_title | Проблемы машиностроения |
| description | Предложен метод вычисления длины В-сплайн кривой. Метод основан на представлении В-сплайн кривой в виде многочлена в пределах каждого сегмента В-сплайна и использовании формулы Симпсона (парабол) для численного интегрирования. Методика проиллюстрирована примером.
Запропоновано метод обчислення довжини В-сплайн кривої. Метод ґрунтується на представленні В-сплайн кривої у вигляді багаточлена в межах кожного сегмента В-сплайна і використанні формули Сімпсона (парабол) для чисельного інтегрування. Методика проілюстрована прикладом.
This paper proposes a method for calculating the length of the B-spline curve. The method is based on the notion of B-spline curve in the form of a polynomial within each segment of the B-spline and using Simpson's formula (parabolas) for numerical integration. The technique is illustrated by an example.
|
| first_indexed | 2025-12-07T18:40:00Z |
| format | Article |
| fulltext |
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 5–6 65
4. Описание изобретения к патенту России RU 2 234 626 Способ автоматического и непрерывного
изменения крутящего момента и скорости вращения выходного вала в зависимости от сопротив-
ления движению и устройство для его осуществления / И. В. Волков. – 27.03.2004.
5. Pat. Great Britain GB2238090 (A). Power transmission system comprising two sets of epicyclic gears /
John Harries. – 1991. – 11 p.
6. Предварительный пат. Республики Казахстан № 3208 Передача с автоматически регулируемой
скоростью / К. С. Иванов. – 15.03.1996.
7. Пат. 2398989 RU. Способ автоматического и непрерывного изменения крутящего момента и ско-
рости вращения выходного вала в зависимости от сопротивления движению и устройство для его
осуществления / К. С. Иванов, Е. К. Ярославцева. – 10.09.2010. – 10 с.
8. Ivanov K. S. The Question of the Synthesis of Mechanical Automatic Variable Speed Drives /
K. S. Ivanov // Proc. of the Ninth World Congress on the Theory of Machines and Mechanisms, Vol.1,
Politechnico di Milano, Italy, August 29–Sept 2, 1995. – P. 580–584.
9. Ivanov K. S. Discovery of the Force Adaptation Effect / K. S. Ivanov // Proc. of the 11th World Congress
in Mechanism and Machine Sci. V. 2. April 1–4, 2004, Tianjin, China. – P. 581–585.
10. Ivanov K. S. Gear Automatic Adaptive Variator with Constant Engagement of Gears / K. S. Ivanov //
Proc. of the 12th World Congress in Mechanism and Machine Sci. Besancon. France. 2007, Vol. 2. –
P. 182–188.
11. Иванов К. С. Функциональные свойства бесступенчатых зубчатых адаптивных трансмиссий /
К. С. Иванов, А. А. Джомартов // Журн. объединен. ин-та машиностроения. Механика механизмов,
машин и материалов. – 2010. – № 3. – С. 45–50.
Поступила в редакцию
15.05.12
УДК 621.9.06
Ю. А. Раисов, д-р техн. наук
И. В. Бычков, д-р. техн. наук
Н. И. Бычков
Институт проблем машиностроения им. А. Н. Подгорного НАН Украины
(г. Харьков, e-mail forma54@mail.ru)
ВЫЧИСЛЕНИЕ ДЛИНЫ В-СПЛАЙН КРИВОЙ
Предложен метод вычисления длины В-сплайн кривой. Метод основан на представле-
нии В-сплайн кривой в виде многочлена в пределах каждого сегмента В-сплайна и ис-
пользовании формулы Симпсона (парабол) для численного интегрирования. Методика
проиллюстрирована примером.
Запропоновано метод обчислення довжини В-сплайн кривої. Метод ґрунтується на
представленні В-сплайн кривої у вигляді багаточлена в межах кожного сегмента
В-сплайна і використанні формули Сімпсона (парабол) для чисельного інтегрування.
Методика проілюстрована прикладом.
Введение
Одной из задач, решение которой обязательно при организации поддержки сплайн-
интерполяции, является определение длины сплайн-кривой. Знание длины кривой необхо-
димо, во-первых, для точного выхода в конечную точку сплайна и, во-вторых, для определе-
ния точки начала торможения при необходимости перехода на более низкую скорость.
Формат задания сплайн-кривой не содержит сведений о длине сплайна. В частности,
В-сплайн задаётся показателем степени кривой p, узловым вектором U и координатами то-
чек контрольного полигона }{ iP , i = 0, 1, …, n. Некоторое представление о длине сплайн-
кривой можно получить, если вычислить сумму длин хорд, соединяющих точки контрольно-
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 5–6 66
го полигона. Более точные данные могут быть получены в системе CAD при построении
сплайн-кривой по заданному массиву точек }{ kQ , k = 0, 1, …, m.
В этом случае длина ломаной линии, соединяющей точки }{ kQ ,
SP
m
k
kk lQQL <−=∑
=
−
1
1 ,
где lSP – длина сплайн-кривой.
Такая предварительная оценка сплайна может быть использована для построения ал-
горитма определения точки начала торможения и точки позиционирования, как это предло-
жено в работе [1]. Непосредственное вычисление длины сплайна выполнено в работах [2, 3].
В работе [2] это сделано применительно к А-сплайнам (Akima-spline), задаваемым в виде
полиномов третьей степени, в работе [3] – применительно к NURBS-сплайнам. В обоих слу-
чаях для расчёта длин используется формула Симпсона (парабол), но оценки точности хотя
и близки, но выполнены по-разному. О различиях подходов авторов [2] и [3] будет сказано
ниже.
Основная часть
Рассмотрим решение задачи применительно к В-сплайнам. Как известно [4], В-
сплайн описывается векторным выражением
∑
=
=
n
i
ipi PuuC N
0
, )()( , (1)
где iP – контрольные точки, образующие контрольный полигон; Ni,p(u) – базисные
функции степени p, задаваемые соотношениями
⎩
⎨
⎧
∉
<<
=
+
+
),(,0
,1
1
1
0, )(
ii
ii
i uuu
uuu
uN ,
)()()( 1,1
11
1
1,, uN
uu
uu
uN
uu
uuu pi
ipi
pi
pi
ipi
i
piN −+
+++
++
−
+ −
−
+
−
−
= u – параметр, u ∈ (0,1) ( )1,0∈u , а ве-
личины ui заданы узловым вектором
⎪⎭
⎪
⎬
⎫
⎪⎩
⎪
⎨
⎧
=
+
+
+
321321
1
1
1
1,...,1,1,,...,,0,...,0,0
p
np
p
uuU .
В общем случае длина (i-го) сегмента параметрически заданной кривой (1) определя-
ется интегралом
du
du
dz
du
dy
du
dxl
i
i
U
U
i ∫
+
⎟⎟
⎟
⎠
⎞
⎜⎜
⎜
⎝
⎛
⎟
⎠
⎞
⎜
⎝
⎛+⎟
⎠
⎞
⎜
⎝
⎛+⎟
⎠
⎞
⎜
⎝
⎛=
1 222
. (2)
Интеграл (2) не берётся в элементарных функциях, и для его вычисления используем
формулу Симпсона (парабол)
( )nnn
X
X
yyyyyyhdxyl
n
++++++== −−∫ 12210 42.....24
3
0
, (3)
где
n
xxh n 0−
= – шаг вычислений, y0, …, yn – значения подынтегральной функции в точках
x0, …, xn, n – число интервалов разбиения промежутка (xn – x0), должно быть чётным.
В выражение (2) введём обозначение )(
222
udl
du
dz
du
dy
du
dx
=⎟
⎠
⎞
⎜
⎝
⎛+⎟
⎠
⎞
⎜
⎝
⎛+⎟
⎠
⎞
⎜
⎝
⎛
Тогда формула (2) с учётом (3) принимает следующий вид:
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 5–6 67
( )
.,2,1,2
,)()(4)(2...)(2)(4)(
23
)( 12210
1
1
K==
++++++
⋅
−
== −−
+∫
+
kn
udludludludludludluuduudll
k
nnnk
ii
u
u
i
i
i
(4)
Основные трудности при применении формулы (4) связаны с вычислениями величин
dl(uj) . В работе (2), в которой рассмотрены А-сплайны, трудностей при вычислении величин
dl(uj) нет, а оценка точности выполняется проверкой неравенства
ε<
−
−
12
2
p
nn ll , (5)
где l2n, ln – значения интеграла при числе разбиений интервала 2n и n соответственно, р –
порядок точности метода (для формулы парабол р = 4), ε – заданная погрешность определе-
ния длины. При выполнении неравенства (5) длина кривой принимается
12
2
2 −
−
+= p
nn
n
llll . (6)
В работе (3) для упрощения вычислений производных NURBS-сплайна авторы пред-
лагают представить его в интервале искомой длины в виде многочлена Эрмита 3-й или 5-й
степени и уже для него применять формулу (4). При этом оценку точности результата вы-
полняют по неравенству
0,1(l2n – ln) < ε.
Вернёмся к рассмотрению В-сплайна. Используя методику, описанную в [5], пред-
ставим каждый сегмент В-сплайн кривой в виде многочлена степени р. В частности, для ку-
бического В-сплайна выражения для координат будут иметь вид
X, Y, Z(U) = AX,Y,Zu3 + BX,Y,Zu2 + CX,Y,Zu + DX,Y,Z, u ∈ (ui,ui+1) (6)
По выражению (6) при известных значениях uj производные X '(u), Y '(u), Z '(u) вы-
полняется просто, а по ним – и значение dl(uj). Далее для расчёта l по формуле (4) может
быть использована одна из двух схем:
1. Величина l подсчитывается для каждого i-го сегмента кривой (т. е. в пределах ка-
ждого узлового интервала), а затем
длины сегментов суммируются
∑
+
=
=
1
1
m
i
ill , где m – число внутренних уз-
лов узлового вектора. В этом случае
значения коэффициентов A, B, C, D в
выражениях (6) для координат остают-
ся неизменными при расчёте li в преде-
лах сегмента.
2. Величина l рассчитывается
для всей В-сплайн кривой. В этом слу-
чае для 1-й итерации берётся интервал
(0–1), который делится пополам, вели-
чина l рассчитывается по формуле
( )
.)1()1()1(
;)5,0()5,0()5,0(
;)0()0()0(
;4
6
1
222
2
222
1
222
0
2101
ZYXdl
ZYXdl
ZYXdl
dldldll
′+′+′=
′+′+′=
′+′+′=
++=
Рис. 1. В-сплайн кривая примера 1
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 5–6 68
Далее каждый из су-
бинтервалов делится попо-
лам, дополнительно рассчи-
тываются значения dl(0,25) и
dl(0,75) и по (4) вычисляется l
и т.д. При этом надо следить,
в какой из узловых интерва-
лов попадают расчётные точ-
ки и использовать соответст-
вующие этому узловому ин-
тервалу коэффициенты в вы-
ражениях координат X, Y, Z.
При использовании этой схе-
мы независимо от вида В-
сплайн кривой и узлового
вектора шаги вычислений
всегда одни и те же: 0,5, 0,25,
0,125, 0,0625 и т. д.
Оценка точности в
обоих случаях выполняется
проверкой неравенства (6).
Практически расчёт ведётся
до получения одинаковых
значений ln и l2n, выраженных
в целых дискретах.
Приведём несколько примеров, демонстрирующих применение изложенных поло-
жений.
Пример 1. В-сплайн (рис. 1) задан следующими данными: р = 3,
U = (0, 0, 0, 0, 0,5 , 1, 1, 1, 1), )}120,30(),90,60(),70,40(),0,100(),60,100{(}{ −−−−=iP
Представление В-сплайна в виде полинома даёт такие выражения:
⎪⎩
⎪
⎨
⎧
∈−+−
∈−+−
=
⎪⎩
⎪
⎨
⎧
∈−−+−
∈−+−
=
.)1;5,0(,80480540260
)5,0;0(,60360300100
)(
),1;5,0(,304201200720
)5,0;0(,100360160
)(
23
23
23
23
uuuu
uuuu
uY
uuuu
uuu
uX
Результаты вычисления дины кривой по формуле Симпсона приведены в табл. 1
Прямая интерполяция с шагом h = 0,015625 даёт значение l = 249,438 мм.
Пример 2. В-сплайн (рис. 2) задан следующими данными: р = 3,
U = (0, 0, 0, 0, 0,5, 1, 1, 1, 1), )}0;120(),8,115;5,129(),8,35;60(),8,115;5,9(),0,0{(}{ −−=iP .
Выражения координат
-10
-10
- 02
- 03
- 04
10 20 30 40 50 60 70 80 90 1 00 1 01 1 02 1 03
40
30
20
10
80
70
60
50
110
90
100
120
Q (20,60)1
Q (60,40)2
Q (100,60)3
Q P 0,00, 0( ) P Q (120,0)4, 4
P (129.5,115.8)3
P (-9.5,115,8)1
P (60,-35.8)2
1
Y, мм
X,мм
3
2
1
2
Рис. 2. В-сплайн кривая примера 2
Таблица 1. Результаты вычисления
длины кривой примера 1
n h l, мм
2 0,5 286,002
4 0,25 254,16
8 0,125 248,737
16 0,0625 249,477
32 0,03125 249,462
64 0,015625 249,463
Таблица 2. Результаты вычисления
длины кривой примера 2
n h l, мм
2 0,5 371,378
4 0,25 252,226
8 0,125 253,049
16 0,0625 252,185
32 0,03125 252,584
64 0,015625 252,584
ПРИКЛАДНАЯ МАТЕМАТИКА
ISSN 0131–2928. Пробл. машиностроения, 2012, Т. 15, № 5–6 69
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎨
⎧
∈+
+−+
+−
∈+
+−
=
∈
−+−=
.)1;5,0(8,534
25144,4118
2,2139
)5,0;0(8,694
2,22992,2139
)(
)1,0(
,57531354)(
2
3
23
23
u
uu
u
uu
uu
uY
u
uuuuX
Результаты вычисле-
ния длины кривой по формуле
Симпсона приведены в табл. 2.
Интерполяция с шагом
h = 0,015625 даёт значение
l = 252,561 мм.
Пример 3. Кубический
В-сплайн задан узловым вектором, содержащим 23 внутренних узла, и 26 контрольными
точками. Узловой вектор U = (0, 0, 0, 0, 0,0136, 0,0373, 0,0613, 0,0859, 0,1186, 0,2099, 0,3066,
0,3771, 0,4187, 0,4395, 0,4677, 0,5036, 0,5429, 0,5817, 0,6473, 0,7430, 0,7941, 0,8403, 0,8914,
0,9333, 0,9610, 0,9775, 0,9860, 1, 1, 1, 1) и точки контрольного полигона указаны на рис. 3.
Опуская выражения координат, приведём результаты расчёта длины сплайн-кривой по фор-
муле Симпсона при n = 512 l = 9888,944d, при n = 1024 l = 9888,941d (d – дискрета), прямая
интерполяция с шагом 1/1024 l = 9888,939d
Выводы
Вычисление длины В-сплайн кривой по методике Симпсона обеспечивает достаточ-
ную для практики точность. Неизбежные различия расчетной длины от величины длины
кривой при прямой интерполяции тем меньше, чем меньше шаг вычислений по Симпсону и
шаг интерполяции. Эти различия могут быть учтены при организации процедур начала тор-
можения и выхода в конечную точку сплайна.
Литература
1. Emami M. M. A look-ahead command generator with control over trajectory and chord error for NURBS
curve with unknown arc length / M. M. Emami, B. Arezoo // Computer-Aided Design. – 2010. – №. 43. –
P. 625–632.
2. Обухов А. И. Принцип реализации сплайнового интерполятора системы ЧПУ / А. И. Обухов // Ин-
новационные технологии: теория, инструменты. практика INOTECH-2010. Международ. интернет-
конф. молодых учёных, аспирантов и студентов WWW.NCSISTEM.ru/ru/education/conference
3. Fast real-time NURBS path interpolation for CNC machine tools / W. T. Lei, M. P. Sung, L. Y. Lin,
J. J. Huang // Intern. J. Machine tools and Manufacture. – 2007. – Vol. 47. – P. 1530–1541.
4. Piegle L. The NURBS book / L. Piegle, W. Tiller. – Berlin, Heidelberg, New York: Springer, 1997. –
578 p.
5. Раисов Ю. А. В-сплайн интерполяция для двухуровневых систем ЧПУ / Ю. А. Раисов, И. В. Быч-
ков, П. А. Кулаков // Інформаційно-керуючі системи на залізнич. трансп. – 2008. – № 5–6. – С. 71–
74.
Поступила в редакцию
01.06.12
Рис. 3. В-сплайн кривая примера 3
|
| id | nasplib_isofts_kiev_ua-123456789-99093 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 0131-2928 |
| language | Russian |
| last_indexed | 2025-12-07T18:40:00Z |
| publishDate | 2012 |
| publisher | Інстиут проблем машинобудування ім. А.М. Підгорного НАН України |
| record_format | dspace |
| spelling | Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. 2016-04-22T20:13:36Z 2016-04-22T20:13:36Z 2012 Вычисление длины В-сплайн кривой / Ю.А. Раисов, И.В. Бычков, Н.И. Бычков // Проблемы машиностроения. — 2012. — Т. 15, № 5-6. — С. 65-69. — Бібліогр.: 5 назв. — рос. 0131-2928 https://nasplib.isofts.kiev.ua/handle/123456789/99093 621.9.06 Предложен метод вычисления длины В-сплайн кривой. Метод основан на представлении В-сплайн кривой в виде многочлена в пределах каждого сегмента В-сплайна и использовании формулы Симпсона (парабол) для численного интегрирования. Методика проиллюстрирована примером. Запропоновано метод обчислення довжини В-сплайн кривої. Метод ґрунтується на представленні В-сплайн кривої у вигляді багаточлена в межах кожного сегмента В-сплайна і використанні формули Сімпсона (парабол) для чисельного інтегрування. Методика проілюстрована прикладом. This paper proposes a method for calculating the length of the B-spline curve. The method is based on the notion of B-spline curve in the form of a polynomial within each segment of the B-spline and using Simpson's formula (parabolas) for numerical integration. The technique is illustrated by an example. ru Інстиут проблем машинобудування ім. А.М. Підгорного НАН України Проблемы машиностроения Прикладная математика Вычисление длины В-сплайн кривой Calculation the length of the B-spline curve Article published earlier |
| spellingShingle | Вычисление длины В-сплайн кривой Раисов, Ю.А. Бычков, И.В. Бычков, Н.И. Прикладная математика |
| title | Вычисление длины В-сплайн кривой |
| title_alt | Calculation the length of the B-spline curve |
| title_full | Вычисление длины В-сплайн кривой |
| title_fullStr | Вычисление длины В-сплайн кривой |
| title_full_unstemmed | Вычисление длины В-сплайн кривой |
| title_short | Вычисление длины В-сплайн кривой |
| title_sort | вычисление длины в-сплайн кривой |
| topic | Прикладная математика |
| topic_facet | Прикладная математика |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/99093 |
| work_keys_str_mv | AT raisovûa vyčisleniedlinyvsplainkrivoi AT byčkoviv vyčisleniedlinyvsplainkrivoi AT byčkovni vyčisleniedlinyvsplainkrivoi AT raisovûa calculationthelengthofthebsplinecurve AT byčkoviv calculationthelengthofthebsplinecurve AT byčkovni calculationthelengthofthebsplinecurve |