Previous Up Next
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

1 Yaglom: новый подход к интерактивной геометрии

Компьютеры предоставляют много новых возможностей, в частности, в традиционной деятельности. Привычные всем геометрические «построения циркулем и линейкой» теперь можно совершать и на экране. Представляемая оболочка Yaglom, основанная на библиотеке MoebInv, имеет ряд уникальных черт существенно отличающих её от других программ.

Программа названа в честь советского математика Исаака Моисевича Яглома, который изучал и популяризовал различные неевклидовые геометрии в многочисленных работах. В частности, эта программа позволит сделать наглядными примеры из книги Яглома [11] и развить дальнейшие самостоятельные исследования по обозначенным направлениям.

1.1 Интерактивная геометрия и Yaglom

Вам возможно уже встречались какие-то из многочисленных приложений для интерактивной геометрии (ПИГ): GeoGebra, CaRMetal, Kig, Dr. Geo и т.п. Не вдаваясь пока в технические детали приведем в пример несколько наиболее бросающихся в глаза отличий:

  1. Другие ПИГ различают такие геометрические объекты как точки, прямые, окружности. Оболочка Yaglom работает только с циклами: циклы нулевого радиуса представляют точки, бесконечного радиуса—прямые, циклы конечного ненулевого радиуса могут представлять окружности.
  2. Другие ПИГ обычно работают в контексте Евклидовой геометрии. Оболочка Yaglom поддерживает эллиптические, параболические и гиперболические циклы. Всего одним щелчком мыши можно перенести построение из одной ситуации в любую другую.
  3. Другие ПИГ обычно имеют панель инструментов вроде такой:

    Здесь каждая иконка обозначает конкретное геометрическое построение: прямая через две точки, середина отрезка, перпендикуляр к прямой опущенный из точки, и т.д. А вот в оболочке Yaglom все построения совершаются посредством всего двух действий:

1.2 Как это работает?

Оболочка Yaglom используется для построения геометрических фигур, которые является объединением взаимосвязанных циклов. В наиболее знакомом случае (эллиптическая метрика) циклы—это собирательное название для точек, прямых и окружностей. Циклы в параболической и гиперболической метриках будут обсуждаться позднее.

Построение фигуры проходит так:

  1. Каждая фигура всегда содержит два изначальных цикла: Несколько начальных циклов могут быть непосредственно определены пользователем. Точки добавляются щелчком левой кнопки мыши (ЛКМ) в желаемом месте чертёжа. Окружности, прямые и опять же точки могут быть явно заданы своими коэффициентами в уравнении цикла (5) с помощью кнопки Задать цикл ≔.

    Несколько основных циклов можно создать вообще парой щелчков мыши. Для этого надо вызвать контекстное меню фигуры (щелчок ПКМ, когда ни один цикл не подсвечен) и там выбрать создание любого из:

    Отметим, что начало координат, действительная и вертикальная оси вместе с бесконечностью составляют базис векторного пространства циклов. Более того, изменяя вертикальную ось (сдвигами и поворотами) и единичный цикл (сдвигами и масштабированием), как описано в следующем пункте, можно создать произвольный цикл используя только мышь, без клавиатуры.

  2. Циклы без предков (то есть, непосредственно заданные, как описано выше) могут быть изменены в любое время несколькими способами. Для начала цикл необходимо выбрать, для этого на его графическое или текстовое представление надо навести указатель мыши. Выбранный цикл подсвечивается отдельным цветом после чего можно: Кроме этого’:
  3. Новый цикл может быть создан перечислением своих отношений к уже существующим циклам или самому себе, см. § 2. Не стоит пугаться обширности списка возможных отношений, изрядная часть построений возможна с помощью единственного отношения ортогональности, см. §  2.5.

    Требуемые отношения могут быть выбраны из контекстного меню цикла вызываемого щелчком ПКМ либо по нарисованному на чертеже циклу, либо на его строке в описании фигуры в виде дерева. Что бы добавить отношения нового цикла к самому себе щёлкните по кнопке Новый цикл ↷. В этой же меню можно выбрать поколение для нового цикла:

    Такая возможность позволит, например, разнести высоты и медианы треугольника в разные поколения, хотя они обладают тем же родительским набором сторон и вершин.

    Когда список отношений полностью составлен щелчок по Создать цикл ⚙ добавит новый цикл с требуемыми свойствами в фигуру. Её геометрическое место точек (если не пусто) будет прорисовано на чертеже. Несколько начальных примеров приведены в § 2.5.

  4. Уже существующая фигура может послужить кирпичиком в новом построении, см. подробнее в § 3.
  5. Любой из циклов уже добавленный пользователем может быть произвольно преобразован в любой другой тип указанный выше при соблюдении единственного условия: никто из существующих наследников не должен быть указан как новый родитель. Для этого надо воспользоваться действием Изменить параметры из контекстного меню этого цикла. Это же контекстное меню предоставляет несколько других операций над циклом: изменить имя или прорисовку, удалить цикл.
  6. Yaglom может проверить, что определённое отношение выполняется для нескольких уже существующих циклов. Если такое отношение не было ранее задано напрямую, то такая проверка позволяет испытывать истинность геометрических утверждений.
  7. Созданные фигуры можно сохранять или экспортировать в несколько других форматов для дальнейшего использования.

1.3 Где пояснительная бригада?

Краткое описание работы, изложенное выше, должно быть достаточным чтобы начать работу с Yaglom, но оно безусловно не покрывает всех тонкостей и возможных ситуаций. Углублённое знакомство придёт в процессе работы, а оболочка реализована так, что бы предоставлять необходимую поддержку именно в тот момент, когда она нужна.

Всплывающие подсказки и сообщения в нижней строке окна предоставляют дополнительную информацию о различных элементах системы. Если где-то требуется более пространное описание, то оно вызывается комбинацией клавиш Shift+F1. В диалогах конкретно указывается необходимая от пользователя информация: требуемое число родителей для данного отношения, тип параметра, и т.д. Если какие-то комбинации оболочки несовместимы, то лишняя часть делается недоступной. Этот документ и иная полезная информация собраны в меню Помощь оболочки.

Есть также возможность начать с краткого видео поясняющего работу:

Точка пересечения высот треугольника: (или на YouTube)

Несколько других видео с демонстрацией различных аспектов работы указаны далее в этом документе и доступны из соответствующих меню оболочки.

Геометрический смысл и свойства различных отношений между циклами описаны в следующем разделе. Не надо пугаться большого числа доступных отношений, большое количество базовых построений может быть выполнено с помощью всего одного отношения ортогональности, см. § 2.5 (ну ладно, добавим сюда ещё быть в пучке). Математическая сторона детально разбирается в работах [3, 4, 5]. Краткая справка по формализму приведена в разделе 6.

Yaglom позволяет использовать различные библиотеки построений. Создание и правка библиотек может быть так же осуществлена в оболочке. Построения в Yaglom похожи на макросы или процедуры в языках программирования. Пример их использования:

Прямая Симпсона и библиотеки построений: (или на YouTube)

Мы обсудим работу с библиотеками построений в разделе 3.

Мы здесь не описываем стандартные элементы программы вроде Запись или Изменить в надежде что пользователь с ними уже знаком по другим продуктам, а их поведение вполне ожидаемо или достаточно проясняется всплывающими подсказками. Действия в программе осуществляются или через основное меню (панель инструментов) и/или контекстные меню соответствующих элементов оболочки. Некоторые действия (как то изменение начертания или удаление) может одновременно применяться к произвольной группе выбранных циклов. Для этого используйте контекстное меню (щелчок ПКМ) либо


Previous Up Next