Дьяконов В.П. Maple 9.5 и 10 в математике, физике и образовании (1185901), страница 73
Текст из файла (страница 73)
При исполнении команды Р1ау происходит построение кривой (или нескольких кривых). В зависимости от выбора команд Раа1ег или 81овег построение идет быстро или медленно. Команда (Чех1 выполняет один шаг анимации — построение очередного фрагмента кривой. Переключатель Вас(оиап)/Ропчагг) позволяет задать направление построения кривой — от начала к концу или от конца к началу. Построение может быть непрерывным или циклическим в зависимости от состояния позиции Сопбп!цца/8!пд!е сус1е в подменю управления анимацией. При циклической анимации число циклов задается параметром (гагпеа=п. 8.6.2.
Проигрыватель анимированной графики При включенном выводе панели форматирования во время анимации она приобретает вид панели проигрывателя клипов (рис. 8.37). Эта панель имеет кнопки управления с обозначениями, принятыми у современных проигрывателей, например магнитофонов: 1. Поле координат перемещающейся точки графика. 2. Остановка анимации. 3. Пуск анимации. 4. Переход к следующему кадру (фрейму). 5. Установка направления анимации от конца в начало. 6.
Установка направления анимации из начала в конец (по умолчанию). 7. Уменьшение времени шага анимации. 8. Увеличение времени шага анимации. 9. Установка одиночного цикла анимации. 10. Установка серии циклов анимации. Итак, кнопки проигрывателя по существу повторяют команды подменю управления анимацией. Нажав кнопку пуска (с треугольником, острием обращенным вправо), можно наблюдать изменение вида кривой для функции яп(х)/(х). Другие кнопки управляют характером анимации.
Проигрыватель дает удобные средства для демонстрации анимации, например, во время занятий со школьниками или студентами. 8.6.3. Построение двумерных анимированных графиков Более обширные возможности анимации двумерных графиков обеспечивает функция апипа(е: апппасе (й, х, с, о) ап)зпасе (Г, х, с) В ней параметр х задает пределы изменения переменной х, а параметр!— пределы изменения дополнительной переменной д Суть анимации при использовании данной функции заключается в построении серии кадров (как в мультфильме), причем каждый кадр связан со значением изменяемой во времени переменной 1. Если надо явно задать «>исло кадров анимации (Ч, то в качестве о следует использовать (гагпе=(ч. Рисунок 8.38 показывает применение функции ап!п~а1е.
527 8. 7. Графика лакета р!опооа 8.?. ГраФика пакета р!оттоо18 8.7.1. Примитивы пакета р!оттоо!в Инструментальный пакет графики р)о!!оо)в служит для создания графических примитивов, строящих элементарные геометрические обьекты на плоскости и в пространстве: отрезки прямых и дуг, окружности, конусы, кубики и т. д. Его применение позволяет разнообразить графические построения и строить множество графиков специального назначения. В пакет входят следующие графические примитивы: сиЬок! г!Ы Ьехапее(гоп р1ев11се врйеге с1гс1е си!си! е16р1юдгс йпе гес1апд1е агс симе оог)еса пег!гоп ЬурегЬо1а ро)п1 1е(гапее)гоп апов сиоп е!1(рве 1совапее)гоп ро1удоп 1огив сопе су11пбег Ьет(врпеге ос$апее)гоп веп1 йогов 8.7.2.
Пример применения двумерных примитивов пакета р(оооо!в На рис. 8.40 показано применение нескольких примитивов двумерной графики для построения дуги, окружности, закрашенного красным цветом эллипса и отрезка прямой. Кроме того. на графике показано построение синусоиды. Во избежание искажений пропорций фигур надо согласовывать диапазон изменения переменнои х. Обычно параметр все!1!од=сопв(га(пее) выравнивает масштабы и диапазоны по осям координат, что гарантирует отсугствие искажении у окружностей и других геометрических фигур. Однако при этом размеры графика нередко оказываются малыми. Напоминаем, что эту параметр можно задать и с помощью подменю Рго)ес11оп. 8.7.3. Пример построения стрелок Рис.
8.4! иллюстрирует построение средствами пакета р1о1!оо1в четырех разноцветных стрелок, направленных в разные стороны. Ивет стрелок задан списком цветов с, определенным после команды загрузки пакета. Для построения стрелок используется примитив апов с соответствующими параметрами. Обратите внимание на наклон стрелок — он задан прибавлением 1 к аргументу тригонометрических функций. Уберите 1 и стрелки расположатся под прямым углом. Вызов перечисленных примитивов осуществляется после загрузки пакета в память компьютера командои в(!Ь(р!о!1оо!в).
Только после этого примитивы пакета становятся доступными. Обычно примитивы используются для задания графических объектов, которые затем выводятся функцией о(ар!ау. Возможно применение этих примитивов совместно с различными графиками. Большинство примитивов пакета р!опоо!в имеет довольно очевидный синтаксис. Например, для задания дуги используется примитив агс(с, г, а..Ь,...), где с— список с координатами центра окружности, к которой принадлежит дуга, г — радиус этой окружности, а..Ь вЂ” диапазон углов. На месте многоточия могут стоять обычные параметры, задающие цвет дуги, толщину ее линии и т.
д. Конус строится примитивом сопе(с,г,п...), где с — список с координатами центра, г — радиус основания, Ь вЂ” высота и т. д. В необходимых случаях стоит проверить синтаксис того или иного примитива с помощью справки по пакету р1опоо!в. злаеа (]. 2]изуализация еа(числеиии те м' "' 'Й ее Евг х В г г г ° $(га Сег Применение срафическик примитив пакета р]о](оо]а > Н11)г(Р1 $(ОО15) .
а ..гс((О,О], О 2, Р(У2..1.1*Р(,$)г]с еех-(). 1: — 1пге( ]-1,-11, (1, 1] ): с. с1сс1е(]0.0],0.7,1)г)саггехх=г,се1сс.Ыгге): е.-е111р ((1.1,0.0],О.(,а.г,се(с .= В,(111 1-(гее)г сн р1с((х(гг(х],х.-р(/2..01/2,у 1..1): 21О15 (О(ер1ер] (е, 1 с,е,х) г с хо. гьг .ь г и ь г ггег ггаггггга ]0] х] ]в] х] 529 ().7. Графика пакета р!ог[аа!к ВЛ.4. Пример построения диаграммы Смита и 4ОЬ (п Х~ 3. и гп ~ ий ('( ь > Рпггаеьлгг .- Ргсс(г) 1ссл1 г, л, Ь л .- РХОТ( гсЧ( лтс( ( — г*г / 4. О), г*г/4, О..Р1), г - 1.
4 ), лтс( [О, г/2], г/2. Рг — лгсл1п(З/Ы ..З*Р1/2), лгс( [О,г),г, Р1..Р1 лгсг(п(15/11) ), лгг ([О, 2*г), 2*г, Р1 лгсл(п(З/5) .. Рг+лгсл(п(63/65) ), лгс( [О, 4*г), 4*г, 01+лтгл(п(15/П). Р1 лтсл(п(63/65) ) ): Ь: - 1 глпггптп( (», у)-> [г, -у) ) (л) ~Р[ г[ =[а) л) Примитивы могут использоваться в составе графических процедур.
что позволяет конструировать практически любые типы сложных графических объектов. В качестве примера на рис. 8.42 представлена процедура В(п([[)С[)аг[, которая строит хорошо известную электрикам диаграл(л(у Смита [впрочем, несколько упрошенную). В этои процедуре используется примитив построения дуг агс.
При этом задается верхняя часть пиаграыл(ы, а нижняя получается ее зеркальным отражением. .г ' \ Ф Е(ОЕ ЬМ ]е Уле~ РЛ Л . ' а Г ПМЛ > с:- су11пеег< [1,1,1), З,З): р1огг [01«р1лу] (с, гсл11по-епсопг( гл( ес, еьу1е рл(съ) < 1соелкеагоп([0,0,0],1), ъсоллпе(гоп([0,1,1),0.1]: Р1о<л [01«Р1«У] (2,«1У1е=Рл(с)Ь 110]~<псое1 1<0]й2): =]0] «] другой пример [рис. 8.44) иллк]стрирует построение на одном графике двух объемных фигур, одна из которых нахолится внутри другой фигуры.
Этот пример демонстрирует достаточно корректное построение вложенных фигур. На рис. 8.45 показано совместное построение двух пересека]ошихся кубов и сферы в пространстве. Нетрудно заметить, что ~рафика пакета приблизительно 8. 7. Гра4ика пакета р!ог[ооЬ Г ';.Ъ,а„а..: 4Е оп У (егп(«ИО ааа [ Построение 3[[ графических фигур с помощью примитивов пакета р[оиооьа > е(гь(ртоггоотам Г: Ьеа*ье(гоп([0,0.0[,о.а.со1ог геа([, Ьеааьеагоп([1,1,1[,о.а,со(ог цгееп), *рп е([0,0,0[.1,потоп-уе11оп(: р1ога [дгар1ау) (Е, а1у1е ратс(П ( [В[ а[ [е[ «[ 532 Глава 8. Визуализация вычислений Построение фигур, очень напоминающих улитки, показано на рис.
8.47. При построении этих фигур используется функция <обер!о<. Обратите внимание на то, что строятся две входящие друг в друга «улитки». Наконец, на рис. 8.48 показано построение фигуры — бутылки Клейна. Фигура задана рядом своих фрагментов, определенных в процедуре с!сц<про<п1а. Эта процедура является еще одним наглядным примеров программирования графических построений с помощью Мар!е-языка.
<а< «< '<<в ьь с с и» ж-. <е< х< > сссь рь»с« <««»<с>,«с»<сс,о<, <о, «с»<с>-с,«»«<с< < с,с-о.. г*гс,с«вс««-сус»*с<; ~зз о. 7. Графика пакета р!оггооБ С другими возможностями этого пакета читатель теперь справится самостоятельно или с помощью данных справочнои системы. Много примеров построения сложных и красочных фигур с применением пакета фгзйоо1в можно нанти в Интернете на сайте фирмы Мар!е Ьойиаге, в свободно распространяемой библиотеке пользователей системы Мар!е и в книгах по этой системе. 8 7 б Построение графиков из множества фигур В ряде случаев бывает необходимо строить графики.
представляющие собои множество однотипных фигур. Для построения таких графиков полезно использовать Функцию повторения вей((,~=а..б). На рис. 8.49 показано построение фигуры, образованной вращением прямоугольника вокруг олной из вершин. В этом примере полезно обратить внимание еще и на функцию поворота фигуры — го1аФе. Именно сочетание этих двух функции (мультиплицирования и поворота базовой фигуры — прямоугольника) позволяет получить сложную фигуру, "О Млава о'.
Визуализация вычислении ал;... ф Оа РК 1 Вва а»пк ' кос Ехр [Анимация - развертка во времени синусо]щь] > г: ргсс(Е, >к]оваьп) 1оса1 а, Ь, В((ге, 11пе1, к, 1, 61[се, р, с, епар1, п, Вкесг; к: — 1)га (к ]ова1п]; Вьгго: В122(0, х); Г: — гЬк (гЬк (к ]ова1п) ); еп ]р1: — кпЬк (к 1. 01220] >р: р1ос(0, агек [2.. пагек) ); с: саго 1е( [-1. 0), 1.
0); Вкес1: [1/кчгс(1+епар1'2), спар1/кчг1(1аепар('2)]: 11пе1 : аггее([-1, 0[,[Вкес([1], овес([2]], 0.05, 0.1, 1/10 со1ог ге)]; и : [1 кпьк(х 1,0)]; В1(пе: аггее(п, Вкес(, 0.0$, 0.1, 1/10,со1сг ге]): Вьар]ау( [р, рьот(В[(пе, с, 1(пе1)),кьее-[-г. с г, 02[аеьт] ); еп(: > В1кр1ау( [кеч( 2(кьп(х), х 0..1арь/10), 1=0..66) ], Мгаечпепсе — ггпе, кса11пе=ппсопкьга1пеВ]( ]в[ х[ ]в[ х[ <з.<[. Расширенные средства графичесиой визуализации й<пи 1 Р кз Ь-Ь () Ь гек1азз зе<ыз(р1озгоо1и) з е11[з (р1ози] з > ирг<пОР1ог: ргос(в) 1оса1 зз,иргзп9,ьох,<орк,Ьоззоеи,ье11х,ьа11,ьа11из крг1п9:-О(ир1ау([ие9(ирасесззгие([сои(1),кзп((], 8*кзл(п/паРЦ 1/200),1 0..20ара,со1ог"Ыаса, пперо<пзк 200,Иззс)зпекк 3),п-1..в)], 1пие рзепсе-Згве); Ьохз сззьо<О( [-1,-1,0], [1, 1, 1),со<ог гед) з Ьа11 крЬеге( [0,0,2),егза (15, 15),со1ог Ыпе) з 1оркз В[кр1ау([ке9((гапк1азе(Ьох„О„О,В и]вз(п/е*рз] Рз/10),п 1..п)), 1пке«рзепсе-згео)з Ьо<1оек:-61кр1ау([ие9(<гапк1аге(ьох,0,0,-1),зз 1 в)],зпкеепевсе (гпе): Ьаииз-О(ар<ау<[ке9<<гав 1азе<Ьа11,0,0,1.18 зп(п/<в-Ц *01) 01/10), в 1..