Программные системы и вычислительные методы
Правильная ссылка на статью:
Панчук К.Л., Мясоедова Т.М. — Описание дискретно заданного плоского контура составной линией из дробно-рациональных кривых Безье второго порядка // Программные системы и вычислительные методы. -2019. - № 3. DOI: 10.7256/2454-0714.2019.3.30637 URL: https;//nbpublish.com/Hbrary_read_article.ptp?id=30637
Описание дискретно заданного плоского контура составной линией из дробно-рациональных кривых Безье второго порядка
Панчук Константин Леонидович
доктор технических наук
профессор, кафедра Инженерная геометрия и САПР, Омский государственный технический
университет
644050, Россия, Омская область, г. Омск, уп. Пр. I\4ipa, 11 El [email protected]
Мясоедова Татьяна Михайловна
старшей преподаватель, кафедра Инженерная геометрия и САПР, Омский государственный технический
университет
644050, Россия, Омская область, г. Омск, пр. М/1ра, 11 ЕЗ [email protected]
Статья из рубрики "Математическое моделирование и вычислительный эксперимент"
Аннотация.
Объектом исследования является формообразование кривой линии по дискретному множеству исходных данных. При этом в качестве исходных данных принимается дискретный ряд точек-узлов с касательными в них и значение кривизны первого сегмента в его начальном узле. Предметом исследования является дробно-рациональная кривая Безье второго порядка. Авторы подробно исследуют аспекты получения сегментов дробно-рациональных кривых Безье в направлении стыковкиих по гладкости С2 с целью получения сплайна Безье. Применяется математический метод, основанный на аналитическом представлении дробно рациональных сегментов Безье 2-го порядка с использованием аппарата математического анализа и дифференциального исчисления. Новизна исследования заключается в том, что полученная математическая модель сплайна позволяет напрямую указывать в процессе формообразования типы составляющих его сегментов: параболический, эллиптический или гиперболический. П оказано, что стандартная форма представления кривой Безье может быть приведена к более простой форме. Этим предлагаемая модель качественно отличается от существующих моделей. Рассмотрены численные примеры получения незамкнутого и замкнутого сплайна Безье.
Ключевые слова: сплайн интерполяция, кривая Безье, дробно-рациональная кривая, порядок гладкости С2, замкнутый контур, параметрическое представление кривой, параметризация, формообразование, аналитический метод, дискретное множество
10.7256/2454-0714.2019.3.30637 DOI:
10.7256/2454-0714.2019.3.30637
Дата направления в редакцию:
02-09-2019
Дата рецензирования:
02-09-2019
ВВЕДЕНИЕ
Кривые Безье находят широкое применение:
■ в современных CAD-системах для автоматизированной разработки конструкций изделий различного назначения с учетом предъявляемых к ним требований функционального и эстетического характера [2, 3 5 9-12,15 ,161-
■ в компьютерной графике при моделировании реалистичных трехмерных изображений и сцен, в трехмерной анимации и моделировании динамических процессов и преобразований геометрических форм [14, 17];
■ при моделировании геометрической формы по набору точечных данных, полученных в результате экспериментов или математических расчетов [1, 8 11 13, 181.
При этом достаточно часто приходится решать задачу, когда по заданному в пространстве или на плоскости массиву точек необходимо построить кривую линию, которая либо должна пройти через все точки массива (задача интерполяции), либо должна пройти вблизи этих точек (задача приближения или сглаживания). Достаточно типичной является задача интерполяции заданного в плоскости точечного массива с использованием составной кривой линии из сегментов, состыкованных по необходимому порядку гладкости. В качестве сегментов этой кривой линии, как правило, используются
кривые Безье 7 11, 141, а сама линия представляет собой незамкнутый контур. Вместе с тем существует множество практических задач, в которых требуется построить замкнутый гладкий контур по заданному массиву точек. К ним относятся, например следующие задачи:
■ аналитическое проектирование обуви [61;
■ геометрическое моделирование замкнутого контура плоской области для формообразования семейства эквидистант при контурно-параллельной обработке
карманных поверхностей изделий машиностроения [16, 181.
В этой связи актуальной является задача формообразования достаточно регулярного составного замкнутого контура из кривых Безье по заданному в плоскости массиву точек. Одно из ее решений и является предметом рассмотрения настоящей работы.
ПОСТАНОВКА ЗАДАЧИ
Основные понятия . Стандартная форма дробно-рациональной кривой Безье второго порядка (BCfr )2 - fractional rational Bezier Curve , имеет вид [2, 3' 4]:
Q(") =
(l-u)2-Q0+2-q0-(l-u)-ir4i+ii2-Q1 (1 - u)2 + 2 ■ q0 ■ (1 - u) ■ u 4- u2
(1)
Смена параметризации u->r приводит к канонической форме дробно-рациональной
кривой (BCfr )
2.
Покажем, что параметрические представления (1), (2) определяют одну и ту же (BCfr )2:
{е(ы)|иЕ[од)}= {е*(0|ге[0,оо)} Между промежутками /и(ие[0,1)) и /Д? е [0,да)) существует
гомеоморфное соответствие, которое конструктивно реализуется следующим образом (рис 1):
1. В начале ортогональным проецированием реализуется гомеоморфное соответствие
2. Затем центральным проецированием реализуется гомеоморфное соответствие
3. В итоге получаем гомеоморфное соответствие
Рис. 1. Гомеоморфное соответствие промежутков 1и и I£
Поскольку обе кривые (1) и (2) являются гладкими, по свойству кривой второго порядка,
то исходя из сш(1и,1,) получаем, что (1) и (2) описывают один и тот же геометрический
образ - кривую (ВС^ )2 плоскости Я 2.
Постановка основной задачи. Задан точечный ряд на плоскости Я . Необходимо
построить сплайн (ВС^ )2 класса С 2 с узловыми точками <<; , I =0,1,..., п -1, с заданными
касательными т, в них (рис. 2) и заданным значением кривизны к(С2 о) в начальной точке Q 0.
ч
Рис 2. Множество ^¡ касательных формируемого сплайна из сегментов (ВС^ )2
ТЕОРИЯ
Для задания касательных и значение кривизны к(Q о) выполним решение вспомогательной задачи: требуется построить сплайн, проходящий через узлы Q о, Q 1 и
Q 2, состоящий из двух линий (ВС )2:
где г2 е[0=1]. При этом линии <2 д^ 1) и <2 2) должны быть состыкованы в точке <2 ^ по максимальному порядку гладкости. Для решения вспомогательной задачи определим первые и вторые производные из уравнений (3) и (4):
Из рассмотрения условий = =0)и = = 0)следует:
Из последующих двух уравнений следует
Таким образом, получаем сплайн д0, =е01(оиа,(л) из двух сегментов, составленных по первому порядку гладкости с равным значением кривизны в точке стыка.
Решение вспомогательной задачи позволяет задать в условии основной задачи следующий порядок на заданном массиве точек - распределения касательных:
1. По формулам (5) определяем координаты управляющих точек А о, А 1.
2. Точки А о, <3 о определяют касательную прямую г.,; точки Л о, А ^ определяют касательную прямую тг. В последнем случае.
3. Точки А С} 2 определяют касательную прямую г2 и точку Л 2 на ней такую, что |А о<2 21 = 1 < 2А 21 и т. д.
Таким образом, управляющая точка А/ и узел <2/+ ^ определяют касательную тм и управляющую точку на ней А1+ 1 на ней. В качестве значения кривизны к (ф 0) конструируемого сплайна (ВС^ )2 класса С 2 назначаем кривизну линии << 01(£ 1) в ее точке £ 1=0. Для решения основной задачи модифицируем известный алгоритм Суть предлагаемой нами модификации заключается в следующем. В отмеченной работе в качестве сегмента кривой второго порядка, положенной в основу формообразования обвода, проходящего через заданные узловые точки {2,}^', предложено использовать линию
где ¿ = -—; ге[0,1), у, - некоторый числовой параметр. Анализ применения линии ) в работе [71 позволяет сделать следующие выводы:
1. При подстановке
1-
1-г
в уравнение (6) получаем дробно-рациональную функцию
не совпадающую с функцией (1), которая представляет собой стандартную форму описания дробно-рациональной кривой (ВС^ )2 [2, ^ 41.
2. Прикрепление параметра у1 к третьему слагаемому числителя в уравнении (7), в отличие от прикрепления его ко второму слагаемому в стандартной форме (1), не позволяет прямо указать вид и форму присоединяемого сегмента (парабола, гипербола, эллипс).
Исходя из сделанных выводов 1 и 2, представим уравнение (2) в векторной форме для первого сегмента s 01 конструируемого сплайна:
Определим по формуле (8) первую и вторую производные векторной функции п>1(г):
il nuit) _ (2q0-Гл, +2f-/\a)-(l + 2g0 ■/+/2)-(га + 2q0-t-rA-J +11 ■ г■ (2qa +21) _
roi(f) - -
dt (1 + 2q0-t + t)
_ - гл, +4ql ■t-глз +2g0 ■ i2 + 2f-,rg +4g0 -t2 -ro, + 2f3 -rg + (l + 2#0 -/ + f2)2
_ -2<70 -го, -2t-ro, -Aql ■t-r-i2 -Га, ~2rq0 ■ro1 -li ■rg1 0+2 q.'t + T1)2
(l+2ç0T+r)2
roi(f) - 2
(9)
i-oi(f) = 2
[(ffl -ra) + 2gl].f.(ffl -,-^,)].(l + 2go ■? + ?-)-(1 + 2q0 -f + f2)4
-гаНК^й + '(па ■(1+2^о ^ + Н^о +0
(1 + 2^.г + г)4
Определим значения производных в начальной точке t =0 первого сегмента s 01:
Найдем векторное произведение векторов (10) и (11):
[m(0)3m(0)]=[2?0-(^ -m)]x[2.(7-a
= Aq0 ■ [га, , rQl)]-4q0 ■ [гЛ,го„)] + I6q0 ■ [га, , га )]-4^0 ■ [го.,Гц )] + 4?0 ■ [74,)] +
+1б9о-[га,г4)] = 49о{[гл,га)]-[гл,га)]-[го„,г0)]} Таким образом, получаем
[roi (0),t-oi(0)]-4ç0 {[rA, ra )] - [гa, ra )] + [ra, )]} . Определим кривизну k (Q 0) сегмента s 01 в начальной точке Q 0:
(12)
Таким образом, получаем:
В соответствии с алгоритмом, представленном в работе построим следующий сегмент S12 сплайна (ВС ^ )2. Запишем векторное уравнение этого сегмента:
где * = ыЕрМ); ¿е[0,°о). 1-й
Так как сегменты s 01 и s 12 стыкуются в точке ф 0 по второму порядку гладкости с сохранением непрерывности кривизны, то
где q 0 определяется по формуле (14). Получаем следующую формулу кривизны:
1 яд&ЛЙ
^ \вл
С другой стороны, кривизна линии s 12 в точке << 1, расположенной в треугольнике << 1А 1<< 2 (см. рис. 2), определяется так:
Из уравнений (16) и (17)следует
Что позволяет записать формулу
(18)
В конструируемом сплайне (ВС ^ )2 добавляем следующую линию - сегмент s 23 :
Линии s 12 и s 23 стыкуются в точке ф 2 по тем же условиям, что и в случае сегмента s 12. Поэтому следует равенство
Таким образом, получаем
С другой стороны, кривизна линии s 23 в точке ф 2, расположенной в треугольнике ф 2А 2< з (см. рис. 2), определяется так:
1 <2гА&ъ
" 92 |&А| Из уравнений (21) и (22) получаем
'\ОЛ\-\ОА\
(22)
т)
Следовательно, можно записать
1
1алНади \д2л2\3
Обобщая, запишем для сегмента s¡¡+ 1 его векторное уравнение
где I =-; г е [0,ю); и е [0,1).
1-й
Обобщая уравнения (23) применительно к сегменту г. получаем итоговую формулу
где ¡ =0, 1, ..., п -1.
Кроме обобщенной формулы (25) имеет место другая формула, устанавливающая зависимость между параметрами соседних сегментов конструируемого сплайна:
В работедана классификация дробно-рациональных линий (ВС ^ )2 в зависимости от
значения управляющего параметра При -\ линия (ВС ^ )2 является сегментом
параболы, при /л >1 - сегментом гиперболы и при д е(ол) - сегментом эллипса. ПРИМЕРЫ КОНСТРУИРОВАНИЯ СПЛАЙНОВ (ВСГг )2
Конструирование сплайна (ВС^ )2 из сегментов кривых второго порядка, состыкованных по гладкости С 2
Исходными данными является точечный массив {¡Э^ : {(0,0),(20,30),(50,30),(80,10)} (рис.3).
Рис.3. Сплайн (ВСГг )2, построенный по узлам (0,0), (20,30), (50,30), (80,10)
По уравнениям (5) вычисляем координаты управляющих точек: А 0(7.5, 22.5) и А 1(32.5, 37.5). Кривизну сегмента Q oQ 1 конструируемого сплайна в точке Q 0 определяем по формуле (13), где г^(0) = 2\-2до ■ т(0) = 20, 4^+20, в результате вычислений получаем к (Q 0) = 0.00843274042711568. Затем вычисляем по уравнению (14) управляющий
параметр для сегмента Q oQ 1 сплайна (ВС^ )2: q 0=1. Управляющую точку сегмента Q 2 находим по условию ЦйНбг^! из выражения А 2=2(3 2~А 1- В результате получаем её координаты: А 2(67.5, 22.5). Управляющие параметры соседних сегментов конструируемого сплайна вычисляем по формуле (26). Получаем значения q 1=1 и q 2=0.745355992499930. Типы сегментов сплайна (ВС^ )2 определяются по значениям управляющих параметров <?/ : <2 о<2 1 ~ параболический тип (^ = 1); <2 1<2 2 ~ ПарабОЛИЧеСКИЙ ТИП 2<Э 3 ~ ЭЛЛИПТИЧеСКИЙ ТИП (<1г =0.5555555556).
Конструирование замкнутого сплайна (ВС^ )2 из сегментов кривых второго порядка, состыкованных по гладкости С 2.
Исходными данными является точечный массив/^: {(0, 0), (0, 1), (1, 1), (1, 0)} (рис. 4). По вышеизложенному алгоритму для сплайна (ВС^ )2 находим координаты управляющих точек: А 0(- 0.25, 0.75) и А ^0.25, 1.25), а так же кривизну сегмента <2 1 в точке Q 0 , равную к ^ 0) = 0.252982212813470. По формуле (14) вычисляем управляющий параметр q 0=1. По формуле (26) вычисляем значения управляющих параметров для последующих сегментов сплайна: q 1=1, q 2= 1.73205080756888. Чтобы замкнуть конструируемый сплайн (ВС^ )2, необходимо найти координаты управляющей точки А 3 замыкающего сегмента Q зQ 0 и найти соответствующий ему управляющий параметр q 3. Так какЛ3ЕГ0 и^3ег3, то координаты управляющей точки замыкающего сегмента
находим как для точки пересечения касательных Л, = тх Управляющий параметру 3 вычисляем по формуле (26), где А=А 3; А/ +1=А о; Q¡=Q 3 ; Q¡ +1 = Q о ■
Рис. 4. Замкнутый сплайн (BCfr )2, построенный по 4 узлам.
Типы сегментов конструируемого на рисунке 4 сплайна (BCfr )2 следующие: Q qQ 1 и Q lQ 2 - параболический тип = 1, q\ = 1): Q 2Q 3 и Q 3Q 0 ~ гиперболический тип. На
рисунке 5 показан пример построения замкнутого сплайна (BCfr )2 по вышеизложенному алгоритму для массива точек {gj* :(-4, 0), (-3, 3), (0, 4), (3, 3), (4, 0) (3, -3), (0, -4), (-3,
-3). На рисунке 6 приведен пример построения замкнутого сплайна (BCfr )2 для массива точек {¡3}":(0, 0), (20, 30), (50, 30), (80, 40), (110, 40) (140, 50), (200, 50), (240, 0), (200, -50), (140, -50), (110, - 40) (80, - 40), (50, -30), (20,-30).
Рис. 5. Замкнутый сплайн (BCfr )2, построенный по 8 узлам
| i i i i | i i i i j i i i i | i "i i i | i i i i о jo- i!ito 1» ля
Рис 6. Замкнутый сплайн (BCfr )2, построенный по 14 узлам РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ
Результаты вычислительных экспериментов по конструированию сплайна (BCfr )2из
сегментов кривых второго порядка, состыкованных по гладкости С 2, показали простоту и стабильность работы предложенного алгоритма. Вычисляемые в ходе конструирования управляющие параметры сегментов позволяют прямо указывать тип кривой сегмента
сплайна (BCfr )2. Алгоритм конструирования сплайна ведёт себя устойчиво при
относительно равномерном распределении узлов. Однако при неравномерном
распределении узлов сплайна (BCfr )2 совершает резкие изменения его формы.
Применение известных подходов для устранения подобной проблемы является
проблематичным -Ш. Одним из препятствий является не замкнутость промежутков, в которых изменяются значения параметров стыкуемых кривых линий сегментов.
ВЫВОДЫ И ЗАКЛЮЧЕНИЕ
Для конструирования замкнутой гладкой кривой по заданному массиву точек предложено использовать дробно-рациональные кривые Безье второго порядка. Дробно-рациональные кривые Безье второго порядка приведены к более простой форме. Благодаря простоте задания и манипуляции, предложенный в работе метод формообразования дробно-рациональной кривой Безье может иметь широкое применение в графическом и промышленном дизайне, компьютерной анимации для моделирования гладких замкнутых линий. Предложенный аналитический аппарат применим в современных CAD-системах для подготовки производства изделий различного назначения.
Библиография
1. Борисенко, В. В. Построение оптимального сплайна Безье. // Фундаментальная и прикладная математика, 2016. - Т. 4, № 3. - С. 57-72.
2. Голованов, Н. Н. Геометрическое моделирование. - М: Физматлит, 2002. - 472 с.
3. Голованов, Н. Н., Ильютко, Д. П., Носовский, Г. В., Фоменко, А. Т. Компьютерная геометрия. - М: Академия, 2006.- 512 с.
4. Григорьев, М. И., Малозёмов, В. Н., Сергеев, А. Н. О классификации дробных рациональных кривых Безье второго порядка. // Вестник СПбГУ, 2008. - Сер. 1, вып. 2. - С. 103-108.
5. Роджерс, Д., Адаме, Дж. Математические основы машинной графики: [пер. с англ.] - М.: Мир, 2001. - 604с.
6. Скидан, А.В., Надопта, Т.А., Пастух, И. М. Теоретические основы аналитического конструирования обуви // Вестник ХНУ, 2015. - № 4.- С. 244-249.
7. Фоменко, В. Т., Сидорякина, В. В. Построение гладкого контура класса C2 с использованием метода кривых второго порядка по заданным касательным в узлах. // Вестник Таганрогского института им. А.П. Чехова, 2013. - Вып. 1, № 1. - С. 37-41.
8. Шикин, Е. В., Плис, Л. И. Кривые и поверхности на экране компьютера: руководство по сплайнам для пользователей. М: ДИАЛОГ-МИФИ, 1996. -240 с.
9. Farin, G. Curves and surfaces for CAGD. - 5th ed. San Diego: Academic Press, 2002. -xvii+ 499 pp.
10. Farin, G. Class A Bézier curves // Computer Aided Geometric Design, 2006. - № 23. -
P. 573-581.
11. Feng, Y. Y., Kozak, J. On G2 continuous interpolatory composite quadratic Bezier Curves // Journal of Computational and Applied Mathematics, 1996. - № 72. - P.141-159.
12. Fiorot, J.C., Jeannin, P. Rational Curves and Surfaces. Applications to CAD. Chichester: Wiley, 1992. - 322 pp.
13. Gallier, J.H. Curves and surfaces in geometric modeling: theory and algorithms. Waltham: Morgan Kaufmann Publishers, 2011. - 504 pp.
14. Handbook of Computer Aided Geometric Design; edited by Gerald Farin, Josef Hoschekf, Myung-Soo Kim. Amsterdam: Publishing house «ELSEVIER», 2002-848 pp.
15. Hartmann, E. Geometry and Algorithms for Computer Aided Design. Darmstadt: Department of Mathematics Darmstadt University of Technology, October 2003. -160 pp.
16. Held, M. On the Computational Geometry of Pocket Machining. / Lecture Notes in Computer Science. M. Berlin: Springer Verlag, 1991. - Vol 500.- 184 pp.
17. Mestetskiy, L.M. Skeleton of polygonal figure - representation by planar linear graph // Proceedings of the 20th International Conference on Computer Graphics and Vision "Graphicon 2010" Publisher. - Saint Petersburg, 2010. - P. 222 - 229 - (In Russian).
18. Pottmann, H., Wallner, J. Computational Line Geometry. Berlin. Heidelberg: Springer Verlag, 2001. - 565 pp.