Library
|
Your profile |
Software systems and computational methods
Reference:
Panchuk K.L., Myasoedova T.M.
Description of a discretely defined flat contour with a composite line of rational second-order Bezier curves
// Software systems and computational methods.
2019. № 3.
P. 49-60.
DOI: 10.7256/2454-0714.2019.3.30637 URL: https://en.nbpublish.com/library_read_article.php?id=30637
Description of a discretely defined flat contour with a composite line of rational second-order Bezier curves
DOI: 10.7256/2454-0714.2019.3.30637Received: 27-08-2019Published: 08-09-2019Abstract: The object of study is shaping of the curve of the line on a discrete set of source data. In this case, a discrete series of points-nodes with tangents in them and the value of the curvature of the first segment in its initial node are taken as initial data. The subject of the study is a fractional rational Bezier curve of the second order. The authors investigate in detail the aspects of obtaining segments of rational Bezier curves in the direction of docking their C2 smoothness in order to obtain a Bezier spline.A mathematical method is applied based on the analytical representation of fractional rational Bezier segments of the second order using the apparatus of mathematical analysis and differential calculus. The novelty of the study lies in the fact that the obtained mathematical model of the spline allows you to directly indicate in the process of shaping the types of segments that make it up: parabolic, elliptical or hyperbolic. It is shown that the standard form of the Bezier curve representation can be reduced to a simpler form. This proposed model is qualitatively different from existing models. Numerical examples of obtaining open and closed Bezier spline are considered. Keywords: spline interpolation, Bezier curve, rational fractional curve, C2 smoothness order, closed loop, parametric representation of the curve, parameterization, shaping, analytical method, discrete set
ВВЕДЕНИЕ Кривые Безье находят широкое применение: · в современных CAD-системах для автоматизированной разработки конструкций изделий различного назначения с учетом предъявляемых к ним требований функционального и эстетического характера [2, 3, 5, 9–12,15 ,16]; · в компьютерной графике при моделировании реалистичных трехмерных изображений и сцен, в трехмерной анимации и моделировании динамических процессов и преобразований геометрических форм [14, 17]; · при моделировании геометрической формы по набору точечных данных, полученных в результате экспериментов или математических расчетов [1, 8, 11, 13, 18]. При этом достаточно часто приходится решать задачу, когда по заданному в пространстве или на плоскости массиву точек необходимо построить кривую линию, которая либо должна пройти через все точки массива (задача интерполяции), либо должна пройти вблизи этих точек (задача приближения или сглаживания). Достаточно типичной является задача интерполяции заданного в плоскости точечного массива с использованием составной кривой линии из сегментов, состыкованных по необходимому порядку гладкости. В качестве сегментов этой кривой линии, как правило, используются кривые Безье [1, 7, 11, 14], а сама линия представляет собой незамкнутый контур. Вместе с тем существует множество практических задач, в которых требуется построить замкнутый гладкий контур по заданному массиву точек. К ним относятся, например следующие задачи: · аналитическое проектирование обуви [6]; · геометрическое моделирование замкнутого контура плоской области для формообразования семейства эквидистант при контурно-параллельной обработке карманных поверхностей изделий машиностроения [16, 18]. В этой связи актуальной является задача формообразования достаточно регулярного составного замкнутого контура из кривых Безье по заданному в плоскости массиву точек. Одно из ее решений и является предметом рассмотрения настоящей работы. ПОСТАНОВКА ЗАДАЧИ Основные понятия. Стандартная форма дробно-рациональной кривой Безье второго порядка (BCfr)2 – fractional rational Bezier Curve, имеет вид [2, 3, 4]: Смена параметризации приводит к канонической форме дробно-рациональной кривой (BCfr)2: Покажем, что параметрические представления (1), (2) определяют одну и ту же (BCfr)2: Между промежутками существует гомеоморфное соответствие, которое конструктивно реализуется следующим образом (рис 1): 1. В начале ортогональным проецированием реализуется гомеоморфное соответствие
2. Затем центральным проецированием реализуется гомеоморфное соответствие 3. B итоге получаем гомеоморфное соответствие Рис. 1. Гомеоморфное соответствие промежутков Iu и It
Поскольку обе кривые (1) и (2) являются гладкими, по свойству кривой второго порядка, то исходя из получаем, что (1) и (2) описывают один и тот же геометрический образ – кривую (BCfr)2 плоскости R2. Постановка основной задачи. Задан точечный ряд на плоскости R2. Необходимо построить сплайн (BCfr)2 класса C2 с узловыми точками Qi, i=0,1,…, n–1, с заданными касательными в них (рис. 2) и заданным значением кривизны k(Q0) в начальной точке Q0. Рис 2. Множество касательных формируемого сплайна из сегментов (BCfr)2 ТЕОРИЯ Для задания касательных и значение кривизны k(Q0) выполним решение вспомогательной задачи: требуется построить сплайн, проходящий через узлы Q0, Q1 и Q2, состоящий из двух линий (BC)2: где . При этом линии Q01(t1) и Q12(t2) должны быть состыкованы в точке Q1 по максимальному порядку гладкости. Для решения вспомогательной задачи определим первые и вторые производные из уравнений (3) и (4): Из рассмотрения условий следует: Из последующих двух уравнений следует
Таким образом, получаем сплайн из двух сегментов, составленных по первому порядку гладкости с равным значением кривизны в точке стыка. Решение вспомогательной задачи позволяет задать в условии основной задачи следующий порядок на заданном массиве точек распределения касательных: 1. По формулам (5) определяем координаты управляющих точек A0, A1. 2. Точки A0, Q0 определяют касательную прямую точки A0, A1 определяют касательную прямую В последнем случае. . 3. Точки A1, Q2 определяют касательную прямую и точку A2 на ней такую, что |A0Q2|=|Q2A2| и т. д. Таким образом, управляющая точка Ai и узел Qi+1 определяют касательную и управляющую точку на ней Ai+1 на ней. В качестве значения кривизны k(Q0) конструируемого сплайна (BCfr)2 класса C2 назначаем кривизну линии Q01(t1) в ее точке t1=0. Для решения основной задачи модифицируем известный алгоритм [7]. Суть предлагаемой нами модификации заключается в следующем. В отмеченной работе в качестве сегмента кривой второго порядка, положенной в основу формообразования обвода, проходящего через заданные узловые точки , предложено использовать линию где – некоторый числовой параметр. Анализ применения линии Qi,i+1(t) в работе [7] позволяет сделать следующие выводы: 1. При подстановке в уравнение (6) получаем дробно-рациональную функцию не совпадающую с функцией (1), которая представляет собой стандартную форму описания дробно-рациональной кривой (BCfr)2 [2, 3, 4]. 2. Прикрепление параметра к третьему слагаемому числителя в уравнении (7), в отличие от прикрепления его ко второму слагаемому в стандартной форме (1), не позволяет прямо указать вид и форму присоединяемого сегмента (парабола, гипербола, эллипс). Исходя из сделанных выводов 1 и 2, представим уравнение (2) в векторной форме для первого сегмента s01 конструируемого сплайна: Определим по формуле (8) первую и вторую производные векторной функции Определим значения производных в начальной точке t=0 первого сегмента s01: Найдем векторное произведение векторов (10) и (11):
Таким образом, получаем Определим кривизну k(Q0) сегмента s01 в начальной точке Q0: Таким образом, получаем: В соответствии с алгоритмом, представленном в работе [7], построим следующий сегмент s12 сплайна (ВСfr)2. Запишем векторное уравнение этого сегмента: Так как сегменты s01 и s12 стыкуются в точке Q0 по второму порядку гладкости с сохранением непрерывности кривизны, то где q0 определяется по формуле (14). Получаем следующую формулу кривизны: С другой стороны, кривизна линии s12 в точке Q1, расположенной в треугольнике Q1A1Q2 (см. рис. 2), определяется так: Из уравнений (16) и (17) следует Что позволяет записать формулу В конструируемом сплайне (ВСfr)2 добавляем следующую линию – сегмент s23 : Линии s12 и s23 стыкуются в точке Q2 по тем же условиям, что и в случае сегмента s12. Поэтому следует равенство Таким образом, получаем С другой стороны, кривизна линии s23 в точке Q2, расположенной в треугольнике Q2A2Q3 (см. рис. 2), определяется так: Из уравнений (21) и (22) получаем Следовательно, можно записать Обобщая, запишем для сегмента si,i+1 его векторное уравнение Обобщая уравнения (23) применительно к сегменту , получаем итоговую формулу где i=0, 1, …, n–1. Кроме обобщенной формулы (25) имеет место другая формула, устанавливающая зависимость между параметрами соседних сегментов конструируемого сплайна: В работе [4] дана классификация дробно-рациональных линий (ВСfr)2 в зависимости от значения управляющего параметра . При линия (ВСfr)2 является сегментом параболы, при – сегментом гиперболы и при – сегментом эллипса. ПРИМЕРЫ КОНСТРУИРОВАНИЯ СПЛАЙНОВ (BCfr)2 Конструирование сплайна (BCfr)2 из сегментов кривых второго порядка, состыкованных по гладкости С2 Исходными данными является точечный массив (рис.3).
Рис.3. Сплайн (BCfr)2, построенный по узлам (0,0), (20,30), (50,30), (80,10) По уравнениям (5) вычисляем координаты управляющих точек: A0(7.5, 22.5) и A1(32.5, 37.5). Кривизну сегмента Q0Q1 конструируемого сплайна в точке Q0 определяем по формуле (13), где В результате вычислений получаем k(Q0)=0.00843274042711568. Затем вычисляем по уравнению (14) управляющий параметр для сегмента Q0Q1 сплайна (BCfr)2: q0=1. Управляющую точку сегмента Q1Q2 находим по условию из выражения A2=2Q2-A1. В результате получаем её координаты: A2(67.5, 22.5). Управляющие параметры соседних сегментов конструируемого сплайна вычисляем по формуле (26). Получаем значения q1=1 и q2=0.745355992499930. Типы сегментов сплайна (BCfr)2 определяются по значениям управляющих параметров qi: Q0Q1 – параболический тип Q1Q2 – параболический тип Q2Q3 – эллиптический тип . Конструирование замкнутого сплайна (BCfr)2 из сегментов кривых второго порядка, состыкованных по гладкости С2. Исходными данными является точечный массив: {(0, 0), (0, 1), (1, 1), (1, 0)} (рис. 4). По вышеизложенному алгоритму для сплайна (BCfr)2 находим координаты управляющих точек: A0(– 0.25, 0.75) и A1(0.25, 1.25), а так же кривизну сегмента Q0Q1 в точке Q0 , равную k(Q0)=0.252982212813470. По формуле (14) вычисляем управляющий параметр q0=1. По формуле (26) вычисляем значения управляющих параметров для последующих сегментов сплайна: q1=1, q2= 1.73205080756888. Чтобы замкнуть конструируемый сплайн (ВСfr)2, необходимо найти координаты управляющей точки A3 замыкающего сегмента Q3Q0 и найти соответствующий ему управляющий параметр q3. Так как и , то координаты управляющей точки замыкающего сегмента находим как для точки пересечения касательных . Управляющий параметр q3 вычисляем по формуле (26), где Ai=A3; Ai+1=A0; Qi=Q3 ; Qi+1=Q0 .
Рис. 4. Замкнутый сплайн (ВСfr)2, построенный по 4 узлам.
Типы сегментов конструируемого на рисунке 4 сплайна (BCfr)2 следующие: Q0Q1 и Q1Q2 – параболический тип Q2Q3 и Q3Q0 – гиперболический тип. На рисунке 5 показан пример построения замкнутого сплайна (BCfr)2 по вышеизложенному алгоритму для массива точек :(-4, 0), (-3, 3), (0, 4), (3, 3), (4, 0) (3, -3), (0, -4), (-3, -3). На рисунке 6 приведен пример построения замкнутого сплайна (BCfr)2 для массива точек :(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 узлам
Рис 6. Замкнутый сплайн (BCfr)2, построенный по 14 узлам
РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТОВ Результаты вычислительных экспериментов по конструированию сплайна (BCfr)2из сегментов кривых второго порядка, состыкованных по гладкости С2, показали простоту и стабильность работы предложенного алгоритма. Вычисляемые в ходе конструирования управляющие параметры сегментов позволяют прямо указывать тип кривой сегмента сплайна (BCfr)2. Алгоритм конструирования сплайна ведёт себя устойчиво при относительно равномерном распределении узлов. Однако при неравномерном распределении узлов сплайна (BCfr)2 совершает резкие изменения его формы. Применение известных подходов для устранения подобной проблемы является проблематичным [1]. Одним из препятствий является не замкнутость промежутков, в которых изменяются значения параметров стыкуемых кривых линий сегментов.
ВЫВОДЫ И ЗАКЛЮЧЕНИЕ Для конструирования замкнутой гладкой кривой по заданному массиву точек предложено использовать дробно-рациональные кривые Безье второго порядка. Дробно-рациональные кривые Безье второго порядка приведены к более простой форме. Благодаря простоте задания и манипуляции, предложенный в работе метод формообразования дробно-рациональной кривой Безье может иметь широкое применение в графическом и промышленном дизайне, компьютерной анимации для моделирования гладких замкнутых линий. Предложенный аналитический аппарат применим в современных CAD-системах для подготовки производства изделий различного назначения.
References
1. Borisenko, V. V. Postroenie optimal'nogo splaina Bez'e. // Fundamental'naya i prikladnaya matematika, 2016. – T. 4, № 3. – S. 57–72.
2. Golovanov, N. N. Geometricheskoe modelirovanie. – M: Fizmatlit, 2002. – 472 s. 3. Golovanov, N. N., Il'yutko, D. P., Nosovskii, G. V., Fomenko, A. T. Komp'yuternaya geometriya. – M: Akademiya, 2006. – 512 s. 4. Grigor'ev, M. I., Malozemov, V. N., Sergeev, A. N. O klassifikatsii drobnykh ratsional'nykh krivykh Bez'e vtorogo poryadka. // Vestnik SPbGU, 2008. – Ser. 1, vyp. 2. – S. 103–108. 5. Rodzhers, D., Adamc, Dzh. Matematicheskie osnovy mashinnoi grafiki: [per. s angl.] – M.: Mir, 2001. – 604s. 6. Skidan, A.V., Nadopta, T.A., Pastukh, I. M. Teoreticheskie osnovy analiticheskogo konstruirovaniya obuvi // Vestnik KhNU, 2015. – № 4.– S. 244-249. 7. Fomenko, V. T., Sidoryakina, V. V. Postroenie gladkogo kontura klassa C2 s ispol'zovaniem metoda krivykh vtorogo poryadka po zadannym kasatel'nym v uzlakh. // Vestnik Taganrogskogo instituta im. A.P. Chekhova, 2013. – Vyp. 1, № 1. – S. 37-41. 8. Shikin, E. V., Plis, L. I. Krivye i poverkhnosti na ekrane komp'yutera: rukovodstvo po splainam dlya pol'zovatelei. M: DIALOG-MIFI, 1996. –240 s. 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. |