Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 76
Текст из файла (страница 76)
Визуализация геометрических объектов с помощью пакета Ввоп)етгу Одно из важных достоинств пакета деоп)е[гу — возможность наглядной визуализации различных геометрических понятий„например, графической иллюстрации доказательства теорем или геометрических преобразований на плоскости. Проиллюстрируем это на нескольких характерных примерах, заодно показывающих технику работы с рядом функций этого пакета. 568 Глава 9.
Павелецы расширения Мар!е сиециальиаго иазиачеиия Рис. 9.1 показывает построение из множества окружностей фигуры — кардиоиды. Вопреки обычному построению этой фигуры, используется алгоритм случайного (но удовлетворяюшего требованиям построения данной фигуры) выбора положении центров и радиусов окружностеи. Рис. 92 дает графическую иллюстрацию к одной из теорем Фейербаха. Здесь эффектно используются средства выделения геометрических фигур цветом, что, увы, нельзя оценить по книжной черно-белой иллюстрации.
На следуюшем рисунке (рис. 9.3) показано построение фигуры, образованной вращением множества квалратов относительно одной из вершин. Это хороший пример применения функций родоп(, вйцаге, го(а(юп и бган из пакета цеогпе(гу. Рис. 9.4 показывает гомологические преобразования квадрата. Заинтересовавшийся читатель может легко разобраться с деталями простого алгоритма этой программы. Обратите особое внимание на последний параметр в функции огатч.
Он задает построение титульной надписи с заданными шрифтом и размером символов. Сравните титульные надписи на рис. 9.4 и на рис. 9.3, где титульная надпись сле- 9.1. Пдкет ]тданиметрии деоте2ту 5б9 ]] нс атос нс с с с [> гехтагтснгс]с(оео сетку). [> ГГ(аПО1Е( т, [РО]СС1(А, О, О], РО(от(В, Он -1), РО(ПГ(С, 6, 2) ) ) С [спсггс1е( 1пс, Т, 'сеп(егпаюе' 11 ]с [еэсс1гс1е( о]с), т. [ек1[11), ех2(12), ехЗ(]3)) )с [ец1егс1гс1е( ес, т, 'септегпане' х ) с > бган ( [ дпс(со1ог уе11он] . ес (со1ог=р1ц ], ех1 (со1ог-дгеесс), т(со1ог П)ссе, т(11ес] та1яе] ), 1>11ед сгзе, хса11пц-сопагга1оед, г111е-"иллюстрасося и тео].еме ееиербаха" ) с ]Егексра(се х с яхс» ФеЪ(теса 570 !лава 9.
Пакеты раеширения Мар!е еаециального назначеиия 9.2 . ° Оа ОИ 1с, 3 и Гс-И с бс Рис > ро1п1 (о, 0,0) с всрсаге \ вс(1, [ро1пг (а1, — 2, -2), ро1пв (а2. 2, — 2), роэпС (аЗ, 2, 2),рогпг (а4, -2, 2! ) ) с аког 1 йгои 2 го 10 йо Ьоио1осГу[вц! 31, вс)! ! \4-1), о, Р1/4„ соипгего1оо3със1ве, 1/вчгв (2) ] 3 епс( ив с вс[цаге(вс), [ро1пг(аа1, — 11/5, — 11/5), )ю1п1 (аа2, 11/5.-11/5), ро)п1 (ааЗ, 11/5, 11/й,ровс( (аа4, -11/5, 11/5) ! ) с > бгаи( [вес)[вс(! 31. 1 1 .. 10),вс)(оо1ог 0033)и(И00,1/2,1/2, 1/2), 1411ес( гг се) ), оо1ог-' инасе ', 1 1ойлев*=1, воа1[пу-оопвгга1пес), агев-попе.
(сг1пссехв-йа1ве, 11С)е "Гоиопогииеоиие преобравоваиия иваарата", 1111ейоп( [213(55, ПОИ) И, 16! ) . Гомоло[)РО)05)30 Щ)гоб[)азо(3 6 ив 6 с>с) 0)ата 571 9.2. Пакет етереометрии ееот30 9.2. Пакет стереометрии 9еоптЗо 9 2.1. Набор функций пакета ЯеотЗб Помимо сушественного расширения пакета деогпе$гу, в систему Мар!е введен геометрический пакет оеогп30. Он предназначен для решения задач в области стереометрии (трехмерной геометрии). При загрузке пакета командой Мс11(цеоглзс1) появляется лоступ к весьма большому (свыше !40) числу новых функиий.
Ввиду громоздкости списка он также не приводится, но читатель может просмотреть его самостоятельно. Функпии эгого пакета обеспечивают задание и определение характеристик и параметров многих геометрических объектов: точек в пространстве, сегментов, от- ° т Зковлинглм и лиг, и ани1~, „Плоск(»' ц .,тцемеолк «и оя лз ~, гс тч гзллгЛммгк и к т:,,; яг Глава 9. Пакеты рос[и[в)ения Мар/е специального назначения а' Оа иа ге ) ! > геагагг:н11Ь [Оеопз«й) .
тгопса ГесгсоааЬейгоп (гг1с,рог ос [о, О, О, О), 1 . ): бган (Гггс, сссопс 7/8, 1[ОЬЬес йе1-11ОЬ14) . > йовесаьедгоп (Ообе, о, 1. ): гас\ . 88: ОппъРовесаьаг[гоп (особе, о, гав): г[ган ( [ег1ог[е (со1ог-до1с\), йс*)е (со1ог пагооп, снгоп1=7/8) [, асу1е-рассЬ, 11ОЬЬеодп) — 1[ОЬГ2,оггепсасгоп- [31,74] ): Р.З. Пакет функций теории графов иепгоглз 573 гапбов — возвращает случайный граф; ре1егаеп — создает граф Петерсена. Функции модификации графоес а66е6дев — добавляет в граф ребро; а66чепех — добавляет в граф вершины; соппес1 — соединяет одни заданные вершины с другими; бе!е)е — удаляет из графа ребро или вершину. Функшш контроля структуры графов: 6гачч — рисует граф; е6дев — возвращает список ребер графа; чеН!сев — возвращает список узлов графа; впочч — возвращает таблицу с полной информацией о графе; еп6а — возвращает имена вершин графа; 'пеа6 — возвращает имя вершины, которая является головой ребер; 1а!1 — возврашает имя вершины, которая являегся хвостом ребер; !псгцепсе — возвращает матрицу инцидентности; е6)асепсу — возвращает матрицу смежности; ечче!дп1 — возвращает веса ребер; ччче!дй1 — возврашает веса вершин; !вр1апаг — упрощает граф, удаляя циклы и повторяюшиеся ребра, и проверяет его на планарность (возврашает 1гце, если граф оказался планарным и 1а1ве в противном случае).
Функции с типовыми возможностями графов: ба — находит максимальный поток в сети от одной заданной вершины к другой; впоНра)п1гее — находит кратчайший путь в графе с помощью алгоритма Дейкстры. Каждая из этих команд имеет одну или несколько синтаксических форм записи. Их можно угочнить с помошью справочной системы. С ее помошью можно ознакомиться и с назначением других функций этого обширного пакета. Проиллюстрируем его применение на нескольких типичных примерах. На рис. 9.8 показан пример создания графа, имеюшего четыре вершины, и графа Петерсона с выводом их графиков графической функцией 6гав.
На рис. 9.9 показан другой пример работы с графами — построение графа функцией совр!е1е и затем его преобразование путем удаления части вершин. Исходный и преобразованный графы строятся функцией 6гачч. В третьем примере (рис. 9.10) граф формируется по частям — вначале задается пустой граф функциеи печч, а затем с помошью функций а66чеНех и а66е6де в него включаются вершины и ребра. Далее функция соппес) соединяет вершину а с вершиной с, делая граф замкнутым. Функция 6гачч строит сформированный таким образом граф, а функции пеа6 и 1а!! используются для выявления «голов» и «хвостов» графа. В четвертом примере, представленном на рис. 9.11, показано создание графа 02 (его изображение было приведено на рис.
9.9) с вычислением для этого графа максимального потока от вершины 1. Обратите внимание. что в параметрах функции йочч, использованной для этого, заданы две переменные: еве1 — принимает значение множества с ребрами, по которым проходит максимальный поток, и согпр — принимает значение множества, в котором содержатся вершины, по 574 4лава 9. Пакеты расширения Ма(()й специального назначенпя '6'. ЬЬ ЬИ 1 2' С еь и> аь [ Работа с графами (пример 1) [ > геегагьспсЮ(пе(пег)се):песс(С) спас)ьегьех((1.3,4,6!,С) 1, ). 4. 6 > ппппесг((1,3), (4,6),С) сес)Се« [С) сс)геп(С) ) «>, «б, «, «8 сс «1, «', «3, «Ц «С, «б, «", «8) 4 * 6 > С1с регегееп() сс(гае(С)): 2 575 Р.З. Лакет функций теории графов иеиеогйз г), с гЗ а т 'в «г 'а е,.)".*~;,'",,";,„-".
-';,.':аа," -.*.,"'-:,." '.,;*~ **-е 1е ((, а ', —.:".'. .-) "„-:"',;„'.З> ";",","",) ('-.;::,:,,'"", (З;"'-"",'-н па и ",,"" (,,„,' е';); -;,' "-';:) >, "",...и..;>.,':. З ;..'аа '...',,' ' "', Е~"; .;",и а( пп М~ З» а и» ) Работа с графами (пример 3) > геаааг(.:п(С>~(пе(еогаа): поп (СЗ> . агЫеегьех! (а,ь, с),СЗ> ,сз>:соппесс((а>,(с),сз>.с\гоп(сз>: Ф =) асиеаде(((а,т, (Ь,с)) 57б Глава Р. Пакеты расширения Мар!е специального назначения которым проходит максимальный поток.
Значения этих переменных выведены в области вывода. В заключительной части этого примера показано применение функции виог(ра(П(гее, ищущей наиболее короткий путь от вершины 1 до других вершин. 9.3.3. Получение информации о графе Приведенный ниже еще один пример иллюстрирует работу функции вио(н, выдающей таблицу с полной информацией о графе, созданном функцией соп)р)е(е: > геаЕаге г иьсь (песиохка) ив2: =оогр1есе (4): > аьои(62) г (аЫе([ Соилнгеез = Соигиггеез, 'гегг(сел = ( 1, 2, 3, 4 ), 'ги еггйг = (аЫе(зрагзе, []), Ес(Вез = ( е1, е2, еЗ, е4, е5, еб ), В(сотропепгз = В(сотропепгз, Епи)хлате = б, Неаг( = (аЫе([]), Тай = (аЫе([]), ЕаЯе1лс(ех = (аЫе(С~ттегпс, [(3, 4) = ( еб ), (2, 3) = (е4)„(1,4) = (еЗ), (1, 2) = (е1), (1, 3) = (е2], (2,4) = (е5) )), №(яЬЬогз= (аЫе([1 = ( 2, 3, 4 ), 2 = ( 1, 3, 4 ), 3 = ( 1, 2, 4 ), 4 = ( 1, 2, 3 Ц), Есоппесгпчгу= Есоппест(гу, ЕпсЬ = (аЫе([е4 = ( 2„3 ), е1 = (1, 2),еЗ= (1,4),еб=(3,4),е5= (2,4), е2 = ( 1, 3 ) ]), Соилгсиа = Соил(сиге, Еи е(ЯМ = (аЫе([е4 = 1, е1 = 1, еЗ = 1, еб = 1, е5 = 1, е2 = Ц), 5(а(из = ( 51МРЕЕ, СОМНЕТЕ ) ]) Разумеется, приведенные примеры далеко не исчерпывают всех задач, которые можно решать с применением графов.
Но они наглядно демонстрируют, что для большинства пользователей пакет пе()ног((з превращает графы из окутанного ореолом таинственности модного средства в простой рабочий инструмент. 9.4. Математические пакеты расширения специального назначения 9.4.1. Инструментальный пакет для линейных рекуррентных уравнений — (.ЯЕ1оо1в Этот пакет полезен математикам, часто использующим рекуррентные отношения и формулы. Он дополняет функцию гас()(е основной библиотеки и содержит следующие функции: > ихеь(ьйвтоо1а) г [ЯЕсоп(епд ЯЕсгеаге, ЯЕр(об ЯЕрптроп, ЯЕгег(исеогг)ег, ЯЕ(оРЕ, ЯЕ(ог(ейа, ЯЕ(ореос, ои(ог)(лрегвоп, гоплсоеЯюl, йирегаоп, йггопд, 1)гзйп, лурегЯеотзоЬ. ро(ухой, гагре(узоа, песо((, >п()т] Р.4.