
Компьютеры предоставляют много новых возможностей, в частности, в традиционной деятельности. Привычные всем геометрические «построения циркулем и линейкой» теперь можно совершать и на экране. Представляемая оболочка Yaglom, основанная на библиотеке MoebInv, имеет ряд уникальных черт существенно отличающих её от других программ.
Программа названа в честь советского математика Исаака Моисевича Яглома, который изучал и популяризовал различные неевклидовые геометрии в многочисленных работах. В частности, эта программа позволит сделать наглядными примеры из книги Яглома [11] и развить дальнейшие самостоятельные исследования по обозначенным направлениям.
Вам возможно уже встречались какие-то из многочисленных приложений для интерактивной геометрии (ПИГ): GeoGebra, CaRMetal, Kig, Dr. Geo и т.п. Не вдаваясь пока в технические детали приведем в пример несколько наиболее бросающихся в глаза отличий:
Здесь каждая иконка обозначает конкретное геометрическое построение: прямая через две точки, середина отрезка, перпендикуляр к прямой опущенный из точки, и т.д. А вот в оболочке Yaglom все построения совершаются посредством всего двух действий:
Оболочка Yaglom используется для построения геометрических фигур, которые является объединением взаимосвязанных циклов. В наиболее знакомом случае (эллиптическая метрика) циклы—это собирательное название для точек, прямых и окружностей. Циклы в параболической и гиперболической метриках будут обсуждаться позднее.
Построение фигуры проходит так:
Несколько основных циклов можно создать вообще парой щелчков мыши. Для этого надо вызвать контекстное меню фигуры (щелчок ПКМ, когда ни один цикл не подсвечен) и там выбрать создание любого из:
Отметим, что начало координат, действительная и вертикальная оси вместе с бесконечностью составляют базис векторного пространства циклов. Более того, изменяя вертикальную ось (сдвигами и поворотами) и единичный цикл (сдвигами и масштабированием), как описано в следующем пункте, можно создать произвольный цикл используя только мышь, без клавиатуры.
Требуемые отношения могут быть выбраны из контекстного меню цикла вызываемого щелчком ПКМ либо по нарисованному на чертеже циклу, либо на его строке в описании фигуры в виде дерева. Что бы добавить отношения нового цикла к самому себе щёлкните по кнопке Новый цикл ↷. В этой же меню можно выбрать поколение для нового цикла:
Такая возможность позволит, например, разнести высоты и медианы треугольника в разные поколения, хотя они обладают тем же родительским набором сторон и вершин.
Когда список отношений полностью составлен щелчок по Создать цикл ⚙ добавит новый цикл с требуемыми свойствами в фигуру. Её геометрическое место точек (если не пусто) будет прорисовано на чертеже. Несколько начальных примеров приведены в § 2.5.
Краткое описание работы, изложенное выше, должно быть достаточным чтобы начать работу с Yaglom, но оно безусловно не покрывает всех тонкостей и возможных ситуаций. Углублённое знакомство придёт в процессе работы, а оболочка реализована так, что бы предоставлять необходимую поддержку именно в тот момент, когда она нужна.
Всплывающие подсказки и сообщения в нижней строке окна предоставляют дополнительную информацию о различных элементах системы. Если где-то требуется более пространное описание, то оно вызывается комбинацией клавиш Shift+F1. В диалогах конкретно указывается необходимая от пользователя информация: требуемое число родителей для данного отношения, тип параметра, и т.д. Если какие-то комбинации оболочки несовместимы, то лишняя часть делается недоступной. Этот документ и иная полезная информация собраны в меню Помощь оболочки.
Есть также возможность начать с краткого видео поясняющего работу:
Несколько других видео с демонстрацией различных аспектов работы указаны далее в этом документе и доступны из соответствующих меню оболочки.
Геометрический смысл и свойства различных отношений между циклами описаны в следующем разделе. Не надо пугаться большого числа доступных отношений, большое количество базовых построений может быть выполнено с помощью всего одного отношения ортогональности, см. § 2.5 (ну ладно, добавим сюда ещё быть в пучке). Математическая сторона детально разбирается в работах [3, 4, 5]. Краткая справка по формализму приведена в разделе 6.
Yaglom позволяет использовать различные библиотеки построений. Создание и правка библиотек может быть так же осуществлена в оболочке. Построения в Yaglom похожи на макросы или процедуры в языках программирования. Пример их использования:
Мы обсудим работу с библиотеками построений в разделе 3.
Мы здесь не описываем стандартные элементы программы вроде Запись или Изменить в надежде что пользователь с ними уже знаком по другим продуктам, а их поведение вполне ожидаемо или достаточно проясняется всплывающими подсказками. Действия в программе осуществляются или через основное меню (панель инструментов) и/или контекстные меню соответствующих элементов оболочки. Некоторые действия (как то изменение начертания или удаление) может одновременно применяться к произвольной группе выбранных циклов. Для этого используйте контекстное меню (щелчок ПКМ) либо