Ovil Aviation High Technologies
Vol. 20, No. 02, 2017
УДК 519.6
МЕТОД ПОСТРОЕНИЯ СОПРЯЖЕННЫХ КРУГОВЫХ ДУГ
В.Н. АГЕЕВ1
1 Московский государственный технический университет гражданской авиации,
г. Москва, Россия
В работе исследуются геометрические свойства сопряженных круговых дуг, соединяющих две точки на плоскости, с заданными в них направлениями касательных векторов. Показано, что пары сопряженных дуг с одинаковыми условиями в граничных точках образуют однопараметрическое множество гладких кривых, плотно заполняющих всю плоскость. Одним из основных свойств этого множества является то, что все точки сопряжения круговых дуг лежат на окружности, проходящей через изначально заданные точки. Радиус окружности зависит от направления касательных векторов. Любая точка этой окружности, названная в данной работе вспомогательной, однозначно определяет пару сопряженных дуг с заданными граничными условиями. Еще одно свойство вспомогательной окружности состоит в том, что она делит плоскость на две части. Дуги, выходящие из начальной точки, лежат вне круга, ограниченного этой окружностью, а дуги, приходящие в конечную точку - внутри него. Эти свойства положены в основу предложенного в данной статье метода построения сопряженных круговых дуг. Алгоритм достаточно простой и позволяет выполнить все необходимые построения, пользуясь только циркулем и линейкой. Рассмотрены два конкретных примера. Первый относится к задаче построения пары спряженных дуг с минимальным скачком кривизны при прохождении через точку сопряжения. Второй демонстрирует возможность построения гладкой кривой, проходящей через любые три точки на плоскости, при условии, что в начальной и конечной точках заданы направления касательных векторов. Предложенный метод построения сопряженных круговых дуг может найти применение при решении широкого круга задач, связанных с построением криволинейных контуров, например лекальных кривых в текстильной промышленности или в системах автоматизированного проектирования при программировании станков с числовым программным управлением.
Ключевые слова: гладкая кривая, круговые дуги, точка сопряжения, касательные векторы.
ВВЕДЕНИЕ
В системах автоматизированного проектирования для описания контуров сложной формы широко применяются так называемые кусочно-непрерывные методы аппроксимации, суть которых состоит в том, что криволинейный контур представляется в виде последовательности сопряженных между собой дуг каких-либо кривых (например, парабол второго, третьего или более высокого порядка). В зависимости от решаемой задачи на проектируемый контур накладываются определенные условия гладкости. В простейшем случае это условие непрерывности изменения угла наклона касательной при переходе через точку сопряжения, более жесткие требования включают непрерывность изменения кривизны кривой. На эту тему имеется множество публикаций, в качестве примера можно привести статьи [1-4], в которых даются многочисленные ссылки на работы, освещающие различные стороны проблемы.
Выбор круговых дуг в качестве аппроксимирующих кривых обусловлен тем, что в устройствах машинной графики (графопостроителях, плоттерах), а также в применяемых в машиностроении металлообрабатывающих станках с числовым программным управлением (ЧПУ) для перемещения рабочего органа используется два типа интерполяторов: линейный и круговой. Описание контура с помощью таких графических примитивов, как отрезки прямых и круговые дуги позволяет получить управляющую программу для станка с ЧПУ без дополнительных преобразований, в результате чего уменьшаются погрешности при воспроизведении контура.
Обзор публикаций на эту тему позволяет сделать вывод, что авторы в основном уделяют внимание методам минимизации погрешности при аппроксимации, а также проблемам устойчивости. При этом на второй план отходят вопросы, связанные с практическим построением пары сопряженных дуг, поскольку эта задача представляется достаточно простой. Тем не менее необходимость исследований в этом направлении очевидна. Свидетельством этому может служить статья [5], в которой автор описывает достаточно сложную процедуру сопряжения при
Vol. 20, No. 02, 2017
Ovil Aviation High Technologies
аппроксимации круговыми дугами швейных лекал. Возможно, что подобная проблема возникает и при решении других практических задач.
В данной работе описан метод построения пары сопряженных круговых дуг, соединяющих две точки на плоскости с заданными в них направлениями касательных векторов. Он достаточно прост с вычислительной точки зрения, более того, он может быть применен для вычерчивания сопряженных дуг «вручную», с использованием только циркуля и линейки.
ВСПОМОГАТЕЛЬНАЯ ОКРУЖНОСТЬ И ЕЕ СВОЙСТВА
Пусть на концах отрезка АВ заданы направления векторами тл и тв. Первое под углом а (отсчитывается против часовой стрелки), второй - под углом ( (по часовой стрелке). Требуется построить пару сопряженных дуг, первая из которых выходит из А в направлении тл, а вторая приходит в В по направлению тв (рис. 1, а).
О 2 Э б
Рис. 1. Построение пары сопряженных круговых дуг: а - пример построения; б - вспомогательная окружность с центром в точке пересечения срединного перпендикуляра к отрезку AB и линии биссектрисы угла 5 Fig. 1. Construction of pair of the attended arcs: a - example of construction; b - auxiliary circumference
Точки Oi и О2 лежат на линиях возможных центров, определяемых векторами па и пв, ортогональных векторам та и тв соответственно. Через точку пересечения этих линий проведем линию, являющуюся биссектрисой угла 5 (рис. 1, б). Точку пересечения этой линии со срединным перпендикуляром к отрезку АВ обозначим S. Из этой точки, как из центра, проведем окружность, проходящую через концы отрезка.
Нетрудно показать, что ZASB = а +ß и что радиус этой окружности равен
2 • sin-
где d - длина отрезка АВ.
Oivil Aviation High Technologies
Vol. 20, No. 02, 2017
Данная окружность обладает весьма интересными свойствами. В работе [6] она была названа вспомогательной, поскольку с ее помощью выполняются все необходимые построения. Покажем, что любая точка 0 вспомогательной окружности является точкой сопряжения двух круговых дуг, первая из которых выходит из точки А в направлении т л, а вторая приходит в точку В в направлении т в.
Возьмем произвольную точку 0 на вспомогательной окружности и соединим ее с концами отрезка АВ (рис. 2).
Проведем срединные перпендикуляры к отрезкам АО и 0В до пересечения с линиями возможных центров (на рис. 2 они показаны пунктиром). Точки пересечения обозначим О1 и О2. Нетрудно видеть, что это искомые центры первой и второй дуги. Действительно, |О1А|=|О10| и |О20|=|О2В| по построению. Кроме того, из равенства углов ZSAOl, ZOlQS и ZSBO2 следует, что центры дуг и 0 лежат на одной прямой, а значит, в точке сопряжения дуги имеют общую касательную. Таким образом, выбор точки на вспомогательной окружности однозначно определяет пару сопряженных в этой точке круговых дуг.
Выше был рассмотрен частный случай положения точки 0 на вспомогательной окружности. Однако нетрудно убедиться в том, что любой другой выбор 0 приводит к тем же результатам.
Из сказанного следует, что на плоскости можно построить бесконечно много пар сопряженных между собой круговых дуг, соединяющих две точки, в которых заданы направления касательных векторов. Они образуют однопараметрическое семейство гладких кривых. В качестве параметра, характеризующего положение точки сопряжения можно взять длину дуги вспомогательной окружности А0 или величину центрального угла у= ZASQ, 0 < у <2л:. В этом случае радиусы сопряженных в точке 0 дуг вычисляются по формулам
Тд Q
Рис. 2. Нахождение центров Oi и О2 по заданной точке Q на вспомогательной окружности Fig. 2. Finding of centers of Oi and O2 on the set point of Q on an auxiliary circumference
свойства семейства сопряженных дуг
Vol. 20, No. 02, 2017
Ovil Aviation High Technologies
Ri - RS
sm
У
sm
a-ß + y'
sin
a ■
R2 - RS
ß 2
y
sin(ß-y)
(2)
Из этих формул следует, что при у = 2Р радиус второй дуги Я2 становится бесконечно большим. При этом точка сопряжения лежит на пересечении линии второй касательной со вспомогательной окружностью. Обозначим эту точку Q*.
Вторая дуга при этом становится отрезком прямой Q*B.
При у = 2п - а + Р бесконечно большим становится радиус первой дуги Я1. В этом случае точка сопряжения лежит на пересечении линии первой касательной со вспомогательной окружностью. Обозначим эту точку Q**. Первая дуга так же, как и в предыдущем случае, вырождается в линию с нулевой кривизной, и центр ее перемещается в бесконечно удаленную точку. Эти две возможные ситуации показаны на рис. 3.
а б
Рис. 3. Примеры построения дуг для случаев y= 2ß (а) и y= 2 л - a + ß (б) Fig. 3. Examples of construction of arcs for the cases of y = 2ß (а) and y = 2л - a + ß (б)
В системе координат, начало которой совпадает с точкой А, а ось Ох направлена вдоль отрезка АВ, координаты центров дуг О1, О2 вычисляются по формулам
Х1 = Я1 sinа, у1 = -Я1 cosа, Х2 = ё- Я2 бШД у = - Я2 СОБД (3)
На рис. 4 показано семейство гладких кривых, представляющих собой пары сопряженных круговых дуг, соединяющих две точки с заданными в них направлениями касательных. Обращает на себя внимание тот факт, что все дуги, выходящие из первой точки, лежат вне круга, границей которого является множество точек сопряжения, а все дуги, приходящие во вторую точку, лежат внутри круга.
Численные эксперименты показывают, что с уменьшением шага изменения параметра у количество кривых растет и они начинают заполнять собой всю плоскость. Можно предположить, что через любую точку на плоскости можно провести пару сопряженных дуг, удовлетворяющих поставленным условиям.
Civil Aviation High Technologies
Vol. 20, No. 02, 2017
Рис. 4. Множество пар сопряженных дуг, построенных с шагом 10о.
Углы наклона касательных: а = 60о, ß = 30о Fig. 4. Great number of pair of the attended arcs, built with the step of Ду= 10о.
Angles of slope of tangents of а = 60°, ß = 30°
ПОСТРОЕНИЕ КРИВОЙ, ПРОХОДЯЩЕЙ ЧЕРЕЗ ЗАДАННУЮ ТОЧКУ
Пусть на плоскости заданы направления касательных тл и тв в точках A и B соответственно. Требуется построить пару сопряженных дуг, первая из которых выходит из A по направлению тл, а вторая приходит в B по направлению тв. При этом дополнительным условием является требование прохождения кривой через произвольную точку P.
Рассмотрим два случая, связанных с положением точки P относительно круга, границей которого является вспомогательная окружность, то есть множеством возможных центров сопряжения дуг.
1. Точка находится вне круга
В этом случае, как это следует из результатов, полученных в предыдущем разделе, через точку P проходит первая дуга, выходящая из точки A (рис. 5, а). Построим отрезок AP и проведем к нему срединный перпендикуляр (показан пунктиром) до пересечения с линией возможных центров первой дуги. Обозначим ее Oi. Окружность с радиусом Ri=|OiA| и центром Oi пересекает вспомогательную окружность в некоторой точке Q. Из результатов раздела 1 следует, что точка Q однозначно определяет центр и радиус второй дуги.
2. Точка находится внутри круга
В этом случае через точку P проходит вторая дуга, приходящая в точку B. Построим отрезок BP и проведем к нему срединный перпендикуляр до пересечения с линией возможных центров второй дуги. Обозначим ее O2. Окружность с радиусом R2=|O2B| и центром O2 пересекает вспомогательную окружность в некоторой точке Q. Как было показано выше, точка Q однозначно определяет центр и радиус первой дуги.
Примеры построений приведены на рис. 5.
Vol. 20, No. 02, 2017
Ovil Aviation High Technologies
а б
Рис. 5. Примеры построения кривых, проходящих через заданную точку: а - точка P лежит вне круга, ограниченного вспомогательной окружностью (показана пунктиром), б - точка P лежит внутри круга Fig. 5. Examples of construction of curves, passing through the set point: a - the point of P lies out of circle, b - the point of P lies into a circle
Данные примеры показывают, что через любые три точки на плоскости можно провести гладкую кривую в виде пары сопряженных дуг, при условии что в начальной и конечной точках заданы направления касательных векторов.
ПОСТРОЕНИЕ СОПРЯЖЕНННЫХ ДУГ С МИНИМАЛЬНЫМ СКАЧКОМ КРИВИЗНЫ
Кривая, составленная из пары сопряженных круговых дуг, является гладкой, поскольку обеспечивается непрерывность первой производной, то есть изменения угла наклона касательной при переходе через точку сопряжения. Однако вторая производная изменяется скачкообразно, поскольку имеет место скачок кривизны, равный
Ак = 1/ Ri - 1/R2.
(4)
Подставляя сюда выражения для Ri и R2 из (2), получим
At = -L - ± = _L
R1 R2 RS
sin
a- ß + y
sin
У
sin(ß-y)
a + ß-y
sin
(5)
Численные эксперименты показали, что минимум этой величины для различных значений а и / получается при у = (а + /3)12.
Чтобы убедиться в том, что функция Дк(у) имеет локальный минимум в точке у = (а + 3 )/2, представим у в виде у = (а + / )/2 + 2е, где е - малый параметр.
Подставляя это выражение в (5) и раскладывая в ряд по степеням е до второго порядка малости включительно, получим [7]
Ovil Aviation High Technologies
Vol. 20, No. 02, 2017
„ . a— ß a + ß 4 • sin-— • cos-—
Ak = Ak() +-2-—-f2.
0 .2 a + ß
(6)
d - sin
2
где Ако - значение (5) при у = (а + /3)12.
При а >/ коэффициент при а2 положителен. Отсюда следует, что у = (а +/ )/2 является точкой локального минимума функции Ак(у).
Подставляя значение у = (а + /3)12 в формулы (2), получим следующие значения радиусов сопряженных дуг, при которых скачок кривизны при переходе через точку сопряжения минимален:
sin
a+ß
sin
a+ß
R = R . 3a — ß ' R = R sin-—
. 3ß-a '
sin —-
4
(7)
Рис. 6. Построение сопряженных дуг с минимальным скачком кривизны. Углы наклона касательных
a = 60°, р = 30°. S - центр вспомогательной окружности, SQ - биссектриса угла ASB Fig. 6. Construction of the attended arcs with the minimum jump of curvature. Angles of slope of tangents of a = 60°, р = 30°. S is a center of auxiliary circumference, SQ is a bisector of corner of ASB
Точка сопряжения Q при этом будет иметь координаты
d
x.
= —. =— tg
d a + ß
4
(8)
Если обратиться к рис. 1, б, где изображена вспомогательная окружность, то точка Q, соответствующая значению параметра у = (а + /)/2, находится на пересечении окружности и про-
Vol. 20, No. 02, 2017
Oivil Aviation High Technologies
должением пунктирной линии (срединного перпендикуляра к отрезку AB). Это следует из того, что ZASB = а+р.
Таким образом, можно предложить следующий простой алгоритм построения пары сопряженных круговых дуг с минимальным скачком кривизны в точке сопряжения.
1. По заданным на концах отрезка AB углам наклона касательных а и р проводятся линии возможных центров до их пересечения, и методом, описанным в разделе 1 , строится вспомогательная окружность с центром в точке S.
2. Определяется точка сопряжения Q как точка пересечения срединного перпендикуляра к отрезку AB со вспомогательной окружностью. Линия SQ при этом является биссектрисой угла ASB.
3. К отрезкам AQ и QB проводятся срединные перпендикуляры (на рис. 6 показаны пунктиром) до их пересечения с линиями возможных центров первой и второй дуг соответственно. Точки пересечения и являются искомыми центрами дуг Oi и O2.
СПИСОК ЛИТЕРАТУРЫ
1. Yang X., Wang G. Planar point set fairing and fitting by arc splines. Comp.-Aided design, vol. 34, issue 13, nov. 2002, pp. 35-43.
2. Park H. Error-bounded biarc approximation of planar curves. Comp.-Aided design, vol. 36, issue 12, oct. 2004, pp. 1241-1251.
3. Сабитов И.Х., Словеснов А.В. Приближение плоских кривых круговыми дугами // Журнал вычислительной математики и математической физики. 2010. Т. 50, № 8. С. 1347-1356.
4. Курносенко А.И. Интерполяционные свойства плоских спиральных кривых // Фундаментальная и прикладная математика. 2001. Т. 7, № 2. С. 441-463.
5. Сайфуллаева Д. А. Методы математического описания контуров лекал швейных изделий, методы линейно-круговой аппроксимации // Молодой ученый. 2016. № 11. С. 459-461.
6. Агеев В.Н. О геометрических свойствах одного семейства плоских кривых / Геометрия, топология и приложения: межвузовский сборник научных трудов. М.: Моск. ин-т приборостроения, 1990. С. 41-45.
7. Агеев В.Н. Аппроксимация линий и контуров круговыми дугами // Известия высших учебных заведения. Проблемы полиграфии и издательского дела. 2012. № 1. С. 3-10.
СВЕДЕНИЯ ОБ АВТОРЕ
Агеев Владимир Николаевич, профессор, доктор технических наук, профессор кафедры прикладной математики МГТУ ГА, [email protected].
METHOD OF CONJUGATED CIRCULAR ARCS TRACING
Vladimir N. Ageyev1
1Moscow State Technical University of Civil Aviation, Moscow, Russia ABSTRACT
The geometric properties of conjugated circular arcs connecting two points on the plane with set directions of tangent vectors are studied in the work. It is shown that pairs of conjugated circular arcs with the same conditions in frontier points create one-parameter set of smooth curves tightly filling all the plane. One of the basic properties of this set is the fact that all coupling points of circular arcs are on the circular curve going through the initially given points. The circle radius depends on the direction of tangent vectors. Any point of the circle curve, named auxiliary in this work, determines a pair of conjugated arcs with given boundary conditions. One more condition of the auxiliary circle curve is that it divides the plane into two parts. The arcs going from the initial point are out of the circle limited by this circle curve and the arcs
Civil Aviation High Technologies
Vol. 20, No. 02, 2017
coming to the final point are inside it. These properties are the basis for the method of conjugated circular arcs tracing proposed in this article. The algorithm is rather simple and allows to fulfill all the needed plottings using only the divider and ruler. Two concrete examples are considered. The first one is related to the problem of tracing of a pair of conjugated arcs with the minimal curve jump when going through the coupling point. The second one demonstrates the possibility of tracing of the smooth curve going through any three points on the plane under condition that in the initial and final points the directions of tangent vectors are given. The proposed methods of conjugated circular arcs tracing can be applied in solving of a wide variety of problems connected with the tracing of cam contours, for example pattern curves in textile industry or in computer-aided-design systems when programming of looms with numeric control.
Key words: smooth curve, circular arc, coupling point, tangent vectors.
REFERENCES
1. Yang X., Wang G. Planar point set fairing and fitting by arc splines. Comp.-Aided design, vol. 34, issue 13, nov. 2002, pp. 35-43.
2. Park H. Error-bounded biarc approximation of planar curves. Comp.-Aided design, vol. 36, issue 12, oct. 2004, pp. 1241-1251.
3. Sabitov I.Kh., Slovesnov A.V. Priblizheniye ploskikh krivykh krugovymi dugami [Approximation of plane curves by circular arcs]. Journal of Computational Mathematics and Mathematical Physics, 2010, vol. 50, no. 8, pp. 1347-1356. (in Russian)
4. Kurnosenko A.I. Interpolyatsionnyye svoystva ploskikh spiral'nykh krivykh [Interpolation properties of plane spiral curves]. Fundamental and Applied Mathematics, 2001, vol. 7, no. 2, pp. 441-463. (in Russian)
5. Saifullaeva D.A. Metody matematicheskogo opisaniya konturov lekal shveynykh izdeliy, meto-dy lineyno-krugovoy approksimatsii [Methods of mathematical description of contours of garments, methods of linear-circular approximation]. Young scientist, 2016, no. 11, pp. 459-461. (in Russian)
6. Ageev V.N. O geometricheskikh svoystvakh odnogo semeystvaploskikh krivykh [On geometric properties of a family of plane curves]. Geometry, topology and applications: Interuniversity collection of scientific papers. Moscow, Moskow Institute of Instrumentation, 1990, pp. 41-45. (in Russian)
7. Ageev V.N. Approksimatsiya liniy i konturov krugovymi dugami [Approximation of lines and contours by circular arcs]. News of higher educational institutions. Problems of polygraphy and publishing. 2012, no. 1, pp. 3-10. (in Russian)
INFORMATION ABOUT THE AUTHOR
Vladimir N. Ageyev, Doctor of Science, Professor, Professor of the Applied Mathematics Chair, Moscow State Technical University of Civil Aviation, [email protected].