Одно из важных достоинств пакета geometry - возможность наглядной визуализации различных геометрических понятий, например графической иллюстрации доказательства теорем или геометрических преобразований на плоскости. Проиллюстрируем это на нескольких характерных примерах, заодно показывающих технику работы с рядом функций этого пакета.
Рисунок 16.1 показывает построение из множества окружностей фигуры - кардиоиды. Вопреки обычному построению этой фигуры, используется алгоритм случайного (но удовлетворяющего требованиям построения данной фигуры) выбора положений центров и радиусов окружностей.
Рис. 16.1. Построение кардиоиды из окружностей
Рисунок 16.2 дает графическую иллюстрацию к одной из теорем Фейербаха. Здесь эффектно используются средства выделения геометрических фигур цветом, что, увы, нельзя оценить по книжной черно-белой иллюстрации.
На следующем рисунке (рис. 16.3) показано построение фигуры, образованной вращением множества квадратов относительно одной из вершин. Это хороший пример применения функций point, square,.rotation и draw из пакета geometry.
Рисунок 16.4 показывает гомологические преобразования квадрата. Заинтересовавшийся читатель может легко разобраться с деталями простого алгоритма этой программы.
ПРИМЕЧАНИЕ
Обратите особое внимание на последний параметр в функции draw. Он задает построение титульной надписи с заданными шрифтом и размером символов. Сравните титульные надписи на рис. 16.4 и 16.3, где титульная надпись сделана шрифтом, выбранным по умолчанию. Приятно, что в обоих случаях нет преград для использования символов кириллицы и создания надписей на русском языке.
Наконец, на рис. 16.5 показан пример построения трех окружностей, имеющих две общие точки. Обратите внимание на вывод надписей «о», «ol» и «о2», указывающих положение центров окружностей на рисунке.
Рис. 16.2. Графическая иллюстрация к теореме Фейербаха
Рис. 16.3. Фигура, полученная вращением квадрата
Рис. 16.4. Гомологические преобразования квадрата