Дьяконов Владимир Павлович
Шрифт:
9.1.3. Визуализация геометрических объектов с помощью пакета geometry
Одно из важных достоинств пакета geometry — возможность наглядной визуализации различных геометрических понятий, например, графической иллюстрации доказательства теорем или геометрических преобразований на плоскости. Проиллюстрируем это на нескольких характерных примерах, заодно показывающих технику работы с рядом функций этого пакета.
Рис. 9.1 показывает построение из множества окружностей фигуры — кардиоиды. Вопреки обычному построению этой фигуры, используется алгоритм случайного (но удовлетворяющего требованиям построения данной фигуры) выбора положений центров и радиусов окружностей.
Рис. 9.1. Построение кардиоиды из окружностей
Рис. 9.2 дает графическую иллюстрацию к одной из теорем Фейербаха. Здесь эффектно используются средства выделения геометрических фигур цветом, что, увы, нельзя оценить по книжной чёрно-белой иллюстрации.
Рис. 9.2. Графическая иллюстрация к теореме Фейербаха
На следующем рисунке (рис. 9.3) показано построение фигуры, образованной вращением множества квадратов относительно одной из вершин. Это хороший пример применения функций point, square, rotation и draw из пакета geometry.
Рис. 9.3. Фигура, полученная вращением квадрата
Рис. 9.4 показывает гомологические преобразования квадрата. Заинтересовавшийся читатель может легко разобраться с деталями простого алгоритма этой программы.
Рис. 9.4. Гомологические преобразования квадрата
Обратите особое внимание на последний параметр в функции draw. Он задает построение титульной надписи с заданными шрифтом и размером символов. Сравните титульные надписи на рис. 9.4 и на рис. 9.3, где титульная надпись сделана шрифтом, выбранным по умолчанию. Приятно, что в обоих случаях нет преград для использования символов кириллицы и создания надписей на русском языке.
Наконец, на рис. 9.5 показан пример построения трех окружностей разного радиуса и с разным положением, имеющих две общие точки. Обратите внимание на вывод надписей «о», «о1» и «о2», указывающих положение центров окружностей на рисунке.
Рис. 9.5. Три окружности, имеющие две общие точки
Множество других примеров применения всех функций пакета geometry дано в одноименном с ним файле примеров.
9.2. Пакет стереометрии geom3d
9.2.1. Набор функций пакета geom3d
Помимо существенного расширения пакета geometry, в систему Maple введен геометрический пакет geom3d. Он предназначен для решения задач в области стереометрии (трехмерной геометрии). При загрузке пакета командой
появляется доступ к весьма большому (свыше 140) числу новых функций. Ввиду громоздкости списка он также не приводится, но читатель может просмотреть его самостоятельно.
Функции этого пакета обеспечивают задание и определение характеристик и параметров многих геометрических объектов: точек в пространстве, сегментов, отрезков линий и дуг, линий, плоскостей, треугольников, сфер, регулярных и квазирегулярных полиэдров, полиэдров общего типа и др. Назначение многих функций этого пакета ясно из их названия, а характер применения тот же, что для функции описанного выше пакета geometry.
9.2.2. Пример применения пакета geom3d
Учитывая сказанное, ограничимся парой примеров применения этого пакета. Один из примеров представлен на рис. 9.6. На нем представлена сфера внутри «малого иглообразного» додекадрона (SinallStelletedDodecahedron).
Рис. 9.6. Иллюстрация применения пакета geom3d
Еще один пример представлен на рис. 9.7. Здесь представлено еще две объемные фигуры, расположенные друг в друге.
Рис. 9.7. Еще один пример применения пакета geom3d
Напоминаем, что цель пакета не в построении рисунков геометрических фигур, а в аналитическом представлении объектов в пространстве. Поэтому в обширной базе данных справочной системы по этому пакету вы встретите очень мало рисунков.
9.3. Пакет функций теории графов networks
9.3.1. Набор функций пакета networks