Волошинов Денис Вячеславович | (Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А.Бонч-Бруевича) |
Статья посвящена разработке виртуальных геометрических инструментов, выполняющих построение ортогональных окружностей
В настоящей статье речь пойдет о создании геометрических инструментов, обеспечивающих построение прямых углов, но не между прямыми линиями, а между окружностями. Несмотря на то, что проективная геометрия не различает величин углов и любой угол при необходимости может быть рассмотрен как прямой, ортогональность будет нам необходима для создания графического интерфейса, обеспечивающего работу с информационной системой, и для упрощения решения целого ряда задач, которые легко смогут быть перенесены на общий проективный случай.
В статьях [1, 2] уже шел разговор об основных принципах создания компьютеризированных геометрических инструментов, разработан и испытан инструмент, обеспечивающий построение проективного соответствия в линейных точечных рядах. Был рассмотрен частный случай такого преобразования – инволюция в линейных точечных рядах. В начале этой статьи будут приведены два примера, иллюстрирующие несложные, но важные для проведения дальнейших исследований практические задачи: построение прямой линии, касательной к окружности и построение общих касательных, проведенных к двум окружностям. Решены эти задачи будут с применением инструмента инволюции [3, 4, 5].
Пусть на плоскости заданы окружность a и точка A. Найдем центр Ca окружности a и проведем через центр Ca и точку A прямую линию t. Найдем точки M и N пересечения прямой t с окружностью a и зададим бесконечно удаленную точку U на прямой t. Теперь, используя прямую t как носитель точечного ряда, определим инволюционное преобразование pr1 с помощью точек U, A, M, N и найдем двойные точки этого преобразования P и Q. Проведем через точки P и Q, рассматриваемые как диаметральные, окружность j и найдем точки K и L ее пересечения с исходной окружностью a. Соединяя двумя прямыми точку A c точками K и L определим искомые касательные k и l. Проведем также через точки K и L прямую линию rx и найдем точку пересечения T этой линии с носителем t. В результате нами получены не только касательные, но и задано преобразование инверсии точки A относительно окружности a, а также продемонстрирован способ построения полярного соответствия относительно окружности a, то есть определено сопоставление точке A, рассматриваемой как полюс, поляры rx (рис. 1, 2).
Рис. 1. Построение касательных, опущенных из точки на окружность с использованием проективного преобразования
Рис. 2. Последовательность решения задачи о касательных
На основе полученной геометрической конструкции можно провести несколько несложных, но показательных экспериментов. В частности, показать, что касательные прямые можно провести не только из внешней по отношению к окружности точке, но и из точки, расположенной внутри нее. Работа инструмента «инволюция» с объектами мнимой природы позволяет не делать исключений, которые неизбежно сопутствуют ручному исполнению такого построения. Кроме того данная геометрическая конструкция позволяет легко объяснить и продемонстрировать геометрическую природу корреляции, принципа двойственности, связи преобразования инверсии точки относительно кривой второго порядка с поляритетом, причем вся эта демонстрация непременно будет сопровождаться показом единства алгоритма для действительных и для мнимых образов (рис. 3, 4).
Рис. 3. Работа геометрической машины, реализующий алгоритм построения касательной с использованием проективного преобразования в действительной плоскости
Рис. 4. Работа геометрической машины, реализующий алгоритм построения к асательной с использованием проективного преобразования с мнимыми образами
Следующая задача не намного сложнее. Пусть требуется найти общие касательные к двум окружностям a и b, заданным на плоскости. Для этого соединим центры этих окружностей Ca и Cb, проведем через них линию t и определим точки пересечения Ma, Na окружности a с прямой t и точки пересечения Ma, Na окружности b с прямой t.
В отличие от предыдущего случая нам неизвестна точка S – центр подобия исходных окружностей, из которой следует опустить их общие касательные. Заметим, что таких точек, вообще говоря, две. Для отыскания центра подобия зададим инволюцию pr1 следующим образом: прямая t – носитель, Ma, Nb, Na, Mb – последовательность точек. Найдем двойные точки P и Q инволюции pr1, проведем на них, как на диаметральных, окружность j и определим ее центр S. Эта точка и будет являться центром подобия окружностей a и b (рис. 5). Алгоритм построения касательных был только что приведен в предыдущей задаче, поэтому подробно рассматривать еще раз, мы его уже не будем.
Хочется обратить внимание читателей на то, что рассмотренный нами геометрическая конструкция, несмотря на кажущуюся простоту, таит в себе ряд неожиданностей и геометрических "сюрпризов". Одна из таких неожиданностей проявит себя при решении задачи о нахождении центра подобия двух окружностей, в которой хотя бы одна из окружностей задана мнимым радиусом. В наибольшей степени эта проблема высветится при обосновании проективного характера задачи Аполлония о сопряжении трех исходных окружностей двумя касательными окружностями. Эта задача требует отдельного рассмотрения, выходящего за рамки темы данной статьи, поэтому обсуждение этого вопроса пока отложим.
Рис. 5. Построение общих касательных к двум окружностям с использованием проективного преобразования
Рис. 6. Последовательность выполнения построения общих касательных двух окружностей с применением проективного преобразования
Обратим внимание на то, что перед нами предстал исключительно простой, но, тем не менее, показательный пример возможности многократного приложения одного алгоритма к разным данным другого алгоритма. Поэтому, как и в декларативных языках программирования общего назначения, алгоритм первой рассмотренной нами задачи можно выразить в качестве процедуры, в которой следует определить формальные входные и выходные параметры. Применительно к нашей задаче в качестве входных параметров следует указать окружность a и точку A, из которой будут опускаться касательные на эту окружность, а в качестве выходных параметров – две точки касания K и L. Такую процедуру можно дважды использовать во втором алгоритме, подставив в ее входные параметры a и S, а в выходные Ka и La в первый раз и, аналогично, b и S и Kb и Lb во второй. Точно так же можно построить и вторую пару касательных. Таким образом, на простейшем примере мы рассмотрели принцип модульного визуального геометрического программирования, который целесообразно применять при решении сложных задач, допускающих декомпозицию алгоритма на отдельные структурно-подобные геометрические конструкции.
Рис. 7. Пример объявления формальных параметров процедуры для построения точек касания касательных, проведенных из точки к окружности
Нетрудно заметить то, что оба примера тесно связаны с задачей построения окружности, ортогональной к заданным, каковой в нашем случае является окружность j. Обратимся теперь к решению такой задачи в расширенной постановке, применяя для ее реализации проективное соответствие в линейных точечных рядах. Так же, как и раньше, будем делать это, преследуя цель: алгоритм геометрического построения должен быть применим как для действительных окружностей, так для окружностей с мнимыми радиусами.
Следующий вычислительный эксперимент будет демонстрировать свойства геометрических объектов, образующихся в результате пересечения окружностей, не пересекающихся явно в действительной плоскости. Он также позволит нам указать два альтернативных способа построения окружности, ортогональной к заданным, один из которых (проективный по своей природе), позволит нам не прибегать к измерению расстояний и будет эффективно работать как с вещественными, так и с мнимыми образами в любых комбинациях.
Пусть на плоскости заданы две окружности a и b, не пересекающиеся явно (то есть не имеющие действительных точек пересечения). Соединим центры этих окружностей прямой линией t. Начертим теперь третью окружность c, которая пересекает окружность a в двух действительных точках A и A', а окружность b в двух действительных точках B и B'. Найдем точку пересечения линий AA' и BB'. После этого опустим из точки F перпендикуляр rx на линию t (рис. 8). Тем самым, мы получим прямую линию, называемую радикальной осью, которая, как хорошо известно, обладает рядом интересных свойств.
Рис. 8. Последовательность реализации алгоритма построения радикальной оси трех окружностей
Полученная геометрическая конструкция является заготовкой, которая поможет нам продемонстрировать несколько замечательных свойств системы трех окружностей.
Действуя, модель помогает увидеть, что радикальная ось rx проходит через точки пересечения двух окружностей даже в том случае, если эти точки мнимые. Это первое, и наиболее ценное в методическом плане качество полученной нами геометрической конструкции. Она позволяет показать, каким образом путем замены исходных объектов (то есть через геометрическое моделирование) можно получить необходимый результат и сделать смысловое обобщение, которого нельзя было бы достичь, опираясь лишь на исходные начерченные образы.
Второе: перемещая исходные окружности относительно друг друга и приводя их в реальное пересечение, можно показать, что прямые AA' и BB' являются такими же, как и ось rx, равноправными радикальными осями в отношении остальных пар окружностей.
Рис. 9. Демонстрация работы геометрической машины, строящей радикальную ось окружностей a и b, а также "поведения" сопутствующих алгоритму объектов
Поместив точку J на радикальную ось rx, покажем, что все касательные (k1, k2, k3, k4), опущенные на окружности а и b, задающие эту ось, равны по длине, следовательно, если принять точку J за центр окружности j, проходящей через любую из точек касания (T1, T2, T3 или T4) касательных к исходным окружностям. Такая окружность будет ортогональной как к исходным окружностям a и b, так и к радикальной оси rx. Понятно, что окружность проведенная в точки касаний из точки пересечения всех трех радикальных осей (радикального центра) трех исходных окружностей, будет ортогональной ко всем эти трем окружностям. Таким образом, в нашем распоряжении появляется геометрическое построение, а значит, и виртуальный геометрический инструмент, с помощью которого такую ортогональную окружность можно провести (рис. 10).
Рис. 10. Пучок окружностей, ортогональных к двум заданным окружностям
Особенность нашего инструмента заключается в том, что мы можем провести ортогональную окружность как к вещественным окружностям (рис. 11), так и к окружностям с мнимыми радиусами. Поскольку получение точек пересечения таких окружностей не представляет особого труда, то мы можем построить радикальные оси таких окружностей, а это значит, что мы всегда сможем построить и радикальный центр таких окружностей. Теперь можно воспользоваться представленным в начале нашего обсуждения алгоритмом построения касательных, проведенных к окружности из точки. Как уже отмечалось ранее, такой инструмент позволяет строить и мнимые точки касания. Поэтому, воспользовавшись известной формулой определения расстояний между точками (мнимые, в этом смысле, не исключение), мы можем определить расстояние от этой точки до вещественного радикального центра. В том случае, если две из исходных окружностей вещественны, то в расчете расстояния необходимости нет: можно опустить касательные из радикального центра на одну из таких окружностей и провести искомую окружность через точку касания с центром в радикальном центре. Но расчет расстояния непременно придется делать, если мы встанем перед задачей о построении окружности, ортогональной к трем окружностям, заданным мнимыми радиусами. Рассматривая задачу в целом, приходится признать, что необходимость определения расстояния между точками, то есть использование числовой характеристики, является в некотором роде «неудобством» этого алгоритма.
Рис. 11. Построение окружности, ортогональной к трем действительным окружностям плоскости
Обратив внимание на то, что ортогональные окружности проходят через две фиксированные точки F и F', которое демонстрирует рис. 10, нетрудно догадаться, что это свойство можно с успехом использовать для построения ортогональной окружности к трем заданным окружностям, причем это построение не потребует обращения к функциям расчета расстояний. Соединим центры исходных окружностей и проведем через образованные три пары точек прямые линии. Каждая прямая линия из такой пары пересечет пару окружностей, на которых мы зададим инволюцию, с помощью указания пары точек от первой окружности и пары от второй. Точки, имеющие ту же геометрическую природу, что и F и F' на рис. 10, являются двойным точками таких инволюций. Имея три пары двойных точек, мы можем выбрать из них любые три точки, для того чтобы провести через них окружность. Естественно, она будет ортогональной к трем заданным окружностям (рис. 12). Третью инволюцию, вообще говоря, можно было бы и не строить: для решения задачи вполне достаточно иметь всего две. На рис. 13 показан пример построения окружности, ортогональной к трем окружностям с мнимым радиусом, в котором использован только что рассмотренный прием.
Рис. 12. Построение окружности, ортогональной к трем заданным окружностям, с использованием инволюций
Рис. 13. Построение окружности, ортогональной к трем заданным окружностям с мнимыми радиусами, с использованием инволюций
Рассмотренные алгоритмы подвели нас к еще одной исключительно важной для проведения дальнейших исследований задаче. Теперь мы можем легко показать, каким образом может быть построена действительная окружность, проходящая через две мнимые комплексно сопряженные и одну вещественную точки.
Перед тем как обсуждать этот вопрос, хотелось бы сделать одно очень важное замечание, которому обычно не уделяется должного внимания. Суть его состоит в следующем. Очень часто можно слышать о том, что окружность, радиус которой в результате каких-либо изменений или построений стал нулевым, превратилась в точку, то петь "стянулась" в эту точку, а следовательно, может быть заменена этой точкой (впрочем, подобные представления формируются и о других объектах - не только об окружности и точке). Подобные рассуждения в корне неверны, искажают теорию и приводят к ошибкам или пропускам в решениях. Они возникает в результате некорректной и трудно замечаемой подмены абстрактной геометрической модели предметной графической моделью, на которой геометрические объекты представляются физическими средствами: графитом, чернилами, мелом, пикселами на экране. Условность графического отображения точки и окружности формирует ложное представление о том, что они могут быть идентичными и без особых на то оснований заменены друг другом. На самом деле они различны. Они задаются разными уравнениями, относятся к пространствам неодинаковой размерности. В отношении окружности правомерно говорить о перпендикулярности к ней другой окружности, даже если она "нулевая". В отношении точки говорить о перпендикулярности к ней чего-либо без привлечения понятий пространств отрицательной размерности неправомерно. Поэтому, когда говорят о центре подобия двух окружностей, то в этих рассуждениях неявно присутствует и почти всегда упускается из виду нулевая окружность, центр который совпадает с центром подобия окружностей исходных. Кажущаяся несущественность приведенного здесь замечания обманчива: его недооценка не позволяет понять общую суть наблюдаемых геометрических явлений.
Но вернемся к задаче.
Решим эту задачу сначала на "вещественном" аналоге. Пусть имеются две окружности a и b, которые пересекаются явно в точках P и Q. Пусть имеется также некоторая точка X, через которую совместно с точками P и Q требуется провести окружность v.
Построим центры Ca и Cb окружностей a и b и проведем через них линию AB. Построим радикальную ось rx. Окружность v - одна из окружностей пучка, к которому принадлежат a и b. Следовательно, эта окружность должна быть перпендикулярна окружности m, центр которой Cm находится на rx, а сама она перпендикулярна к a и b. Построив такую окружность, проведем через ее центр Cm и точку X прямую t, на которой зададим инволюцию pr1, в которой точка X является двойной, а остальные точки T1 и T2 являются результатом пересечения прямой t и окружности m. Найдя недостающую двойную точку инволюции D, проведем через нее и точку X окружность j, из центра Cj которой опустим перпендикуляр g к прямой t. Этот перпендикуляр высечет на прямой AB точку Cv, которая в совокупности с точкой X и определит искомую окружность v (рис. 14).
Рис. 14. Предварительная задача к разработке алгоритма построения окружности, проходящей через одну вещественную и две мнимые комплексно-сопряженные точки.
Данный алгоритм работоспособен, но его недостатком является то, что для построения результата нам необходимо знать окружности a и b, которых в исходной постановке задачи нет. Тем не менее в случае проведения окружности через две мнимые комплексно-сопряженные точки и одну вещественную точку, этот недостаток будет устранен.
Перейдем теперь к окончательной задаче. Зададим две комплексно-сопряженные мнимые точки P и Q и одну вещественную точку X. Проведем через P и Q прямую линию rx, а также построим на них мнимую окружность d, принимая эти точки за диаметральные. Прямая линия rx является радикальной осью пучка окружностей, в который входит как исходная окружность d, так и искомая v. Центры этих окружностей будут находиться на прямой линии AB, перпендикулярной к радикальной оси rx и проходящей через центр Сd известной окружности d. Поэтому нам необходимо найти центр Cd окружности d, а затем опустить из нее перпендикуляр AB на прямую rx. Построим также с центром той же точке вещественную окружность m с радиусом, равным по величине мнимому радиусу окружности d. Эта окружность проходит перпендикулярно ко всем окружностям пучка, к которому будет принадлежать v, кроме того ее особенность состоит в том, что она проходит и через центры F1 и F2 этого пучка, поэтому мы можем считать эти центры известными. Теперь уже, действуя по только что намеченной схеме, мы сможем без труда построить искомую окружность v. Задача решена (рис. 15).
Рис. 15. Алгоритм построения окружности, проходящей через одну вещественную и две мнимые комплексно-сопряженные точки
Представленный алгоритм и замечание, высказанное в отношении точек и нуль-окружностей, позволяют сделать еще одно обобщение. Теперь мы можем провести окружность через две комплексно сопряженные и одну обособленную мнимую точку. Разумеется, эта обособленная точка имеет комплексно сопряженную и строящаяся окружность обязательно пройдет через нее тоже. Фактически, алгоритм построения сводится к следующему: На первой паре комплексно сопряженных точек строим первую мнимую окружность. Доопределив комплексно сопряженную точку обособленной мнимой точки, строим вторую мнимую окружность. Находим центры этих окружностей и в этих центрах соответственно строим действительные окружности с действительными радиусами, равными значениям радиусов мнимых окружностей ми далее действуем по намеченной схеме. Искомая окружность пройдет через две пары мнимых комплексно-сопряженных точек.
Как будет показано в одной из планируемых статей цикла, построение ортогональной окружности является одной важнейших функций используемой для решения многих задач, в частности хорошо известной задачи Аполлония о построении окружностей, касательных к трем заданным окружностям, в общей постановке (рис. 16).
Рис. 16. Пример решения задачи Аполлония с использованием свойств проективности
1. Волошинов Д.В. Геометрическая лаборатория. Закладываем основы // Качество графической подготовки: проблемы, традиции и инновации: Материалы VII международной Интернет-конференции. Февраль - март 2017 г. Пермь, 2017.
2. Волошинов Д.В. Геометрическая лаборатория. Новый геометрический инструмент // Качество графической подготовки: проблемы, традиции и инновации: Материалы VII международной Интернет-конференции. Февраль - март 2017 г. Пермь, 2017.
3. Глаголев Н.А. Проективная геометрия. М.: Высшая школа. 1963. 342 с.
4. Четверухин Н.Ф. Проективная геометрия. М.: Учпедгиз. 1961. 360 с.
5. Вольберг О.А. Основные идеи проективной геометрии. Учпедгиз. 1949. 188 с.
Селиверстов Александр Владиславович (19 марта 2017 г. 0:39) |
Здравствуйте, Денис Вячеславович! |
Волошинов Денис Вячеславович (19 марта 2017 г. 15:36) |
Здравствуйте, Александр Владиславович! Этот пример - классическое построение, показывающее удобство использования преобразования инверсии для построения сопряжений. Требуется: через точку Х провести две окружности, касательные к окружностям a и b. Для этого находим точки пересечения a и b и проводим окружность инверсии (оливкового цвета) произвольного радиуса с центром в одной из найденных точек. Тогда, согласно свойствам инверсии, окружности a и b преобразуются в прямые линии относительно этой окружности, поскольку ее центр находится на каждой из этих окружностей. Точка X также преобразуется в свой образ. В преобразованном виде задача решается проще, поскольку касательные окружности в образах приходится проводить через точку к двум прямым. Решив ее, возвращаем решение в преобразовании инверсии в исходную картину и получаем необходимый результат. Все это работает до тех пор, пока a и b пересекаются в действительных точках. Но, когда окружности расходятся, оливковая окружность оказывается заданной вещественным радиусом, но мнимым центром. Иллюстрация показывает, что решение в инверсии должно существовать. На изображении присутствуют точки F1 и F2, которые являются результатом пересечения окружности инверсии и прямой, соединяющей центры окружностей a и b, причем их поведение при плавном переходе окружности инверсии от вещественного к мнимому образу наводит на мысль о том, что никаких исключений здесь нет. Кроме того, под сиреневыми окружностями находится решение, которое рассчитано другим спозобом, без применения преобразования инверсии. И мы видим, что оно также плавно и непрерывно ведет себя при переходе от вещественного образа окружности инверсии к мнимому. Так что решение у этой задачи должно быть, но как все это обосновать, я пока не знаю. Надо думать. |
Никифоров Петр Владимирович (21 марта 2017 г. 15:33) |
Рис. 10 примечателен тем, что на нем мы можем увидеть надувающийся пузырек в виде дуги T2T3. Т.е. приведенную конструкцию можно рассмотреть, с практической точки зрения, как элемент геометрической модели пузырьковой среды. |