Вычисление длины В-сплайн кривой

Предложен метод вычисления длины В-сплайн кривой. Метод основан на представлении В-сплайн кривой в виде многочлена в пределах каждого сегмента В-сплайна и использовании формулы Симпсона (парабол) для численного интегрирования. Методика проиллюстрирована примером. Запропоновано метод обчислення довжи...

Повний опис

Збережено в:
Бібліографічні деталі
Опубліковано в: :Проблемы машиностроения
Дата:2012
Автори: Раисов, Ю.А., Бычков, И.В., Бычков, Н.И.
Формат: Стаття
Мова:Російська
Опубліковано: Інстиут проблем машинобудування ім. А.М. Підгорного НАН України 2012
Теми:
Онлайн доступ:https://nasplib.isofts.kiev.ua/handle/123456789/99093
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Вычисление длины В-сплайн кривой / Ю.А. Раисов, И.В. Бычков, Н.И. Бычков // Проблемы машиностроения. — 2012. — Т. 15, № 5-6. — С. 65-69. — Бібліогр.: 5 назв. — рос.

Репозитарії

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