Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 27
Текст из файла (страница 27)
Поясним это двумя примерами, которые отличаются только последовательностью определения свойств оператора Ь. В первом случае Мар1е выведет сообщение об ошибке„а во втором случае свойства определены правильно: > Ьета пе! П. Ы а:: а1цеЬга)с. Ь:: а1цеЬга1с )-О); > Сет~пехсге1П.Ь(а::а1цеЬга~с,а::а1цеЬга)с)=1); Егго>. Ып сапоп)с) 1етг Ьапс а1ое ат ецпас)опа1 ргорегту "0 1" ооеа пот сопса1п типсмоп папе П > гестасе Мей пе(Ь,Ь(а: а1цеЬга~с.а:.а1цеьга~с)=1): > Пег!пеюгс(Ь.
Ыа::а)цеЬга~с,Ь: а1цеЬга~с)-О): > Ых,у): Мх 2.х"2): 0 В заключение напомним, что кроме команды Оет"1 пе для алгебраических выкладок в абстрактном (операторном) виде существуют пакеты дгоор и Оге а1деЬга, однако мы здесь их описывать не будем. 9 ГЛАВА Графика Мар1е Одним из интересных и эффектных применений описываемых в книге пакетов является использование их графических возможностей при ре1пении различных задач: для визуализации результатов исследований, графической интерпретации данных и т. д.
Если даже отбросить все другие возможности Мар1е и изучить только графические команды, то эти знания позволят пользователю эффективно применять возможности компьютерной графики — от рисования простого графика функции до создания мультфильмов.
Перечислим основные графические возможности пакета Мар1е: О рисование кривых, определяемых функциями одной действительной переменной, параметрически заданных и неявно определенных кривых; О рисование векторных н градиентных полей функции двух переменных, линий уровня функции; О изображение данных, заданных координатами точек, как на плоскости, так и в проекциях трехмерного пространства; гэ построение поверхности, определяемой функцией двух действительных переменных, параметрически заданных кривых и поверхностей в трехмерном пространстве, рисование неявно заданных поверхностей; гэ конструирование двумерных и трехмерных графических объектов (окружностей, сфер, отрезков, прямоугольников и т.
д.) и манипуляции с ними; О двумерная и трехмерная мультипликация с использованием графических объектов. Исходными данными для построения графических образов могут быть конструкции Мар!е (функции, массивы, графические структуры), а также результаты вычислений, полученные при помощи других программ и записанные в текстовых файлах.
В качестве параметров при вызове графических команд указываются выводимые объекты (функция, набор точек, множество), интервалы изменения переменных и параметры вывода, управляющие видом изображения. В Мар1е имеется богатый набор команд двумерной и трехмерной графики. Эти команды находятся в основном в пакетах р(отз и р1отсооЬ. Первый из ннх содержит Глава б, Графика й(вр(е 143 команды построения различных графических объектов, а второй предназначен для манипуляций с такими объектами.
Ряд графических команд, ориентированных на решение специальных задач, находится в других библиотеках, н о некоторых из них сказано в соответствующих главах (например, пакет 0Иоо(я для исследования дифференциальных уравнений или статистический пакет я»а»я). Наиболее универсальные и часто используемые команды рисования двумерных графиков р!ос н поверхностей р1ЬСЗб графической библиотеки р1осз доступны пользователю по умолчанию. Перед обращением к другим командам нужно под- ключить библиотеку командой > ы!Еп(р)о»5); нагл)лд, Епе папе слвпдесоогбя Ьая Ьееп »обет!пеб Галлиа»е, ал!пы»еЗб, ал»песесигие, слалдесоогбя, со»р1ехр1ос сспр)ехр!о»Зб.
ЕопГоляа2, соп»оигр1ас, соп»оигр 7о»Зб. соогбр1ос. соогбр)а»Эб, су2»пбегр 1о», беля(Ьр7ос, амр1ау, б!тр)ау322, Г(е)С77О, Г»е7бр7о»Эб, дгабр7о», дгаф1о»З»1, игр17с»»р1ос, !ер12Ш»р1о»Зб, !педиа1, 72яссалср!ос. 1!яесотр1оеэб, 7»я»беля!»уо)ое, 1!яер1ос, 1»яср!осзб, 7од7одр)ае, 7одр7ое. яэ»г хр1ос. обер1о», рагесо, ра»п»р1о», ро!п»р1о»Зб. ро7агр7а», ро1удопр1о». ра1удопр1а»Зб, ра 7упебгп яррогсеб. ра7улебгар1ос, гер (ос, гао»)осик яэя!1сдр 1а», сесар»»оля, !есор»»алязб ярэсесигие, срп яэ2зсг!хр)ое.
трлегер)ос, яиггбпез, еехер)ос. »ехер!о»Зб, Еоьер1о»7 В результате становятся доступными команды из этого списка. Например, важные команды бтср1еу и б!зр1ауЗб позволяют не только перерисовывать графические объекты, но н выводить на одном рисунке несколько разнотипных обьектов. Другим способом вызова конкретной команды (без подключения всего пакета) яв- ляется следующая конструкция: р1о»я[иия ноианяь21(парпнетрь2). Для подкл(очения пакета команд манипуляции с графическими объектами надо выполнить следующую команду: > ы(СЬ(р1ЬС»оо1я): Гага, агго», с(гс1е, сапе. сиба!б, силке, си»Еп, си»пи». су1!лбег, бтяс. боаесалеогол, е и!рте. е717р»!о(гс.
Лэя(ярлеге, Лехалебгоп. Пощосле»у, Пурегоо1а, тсояалес»гол, 1!пе, ос»аоебгол, ртея)(се. ро!п». ро1удол. рго)ес», гессяпд1е, геГ1ес», гоСа»е, яап)е, яэя»»огия, яроеге, ясе)1а»е, Се»галебгал, »опия. »гапягогв, Сгапя1асе, или17 Результатом выполнения графической команды будет построение рисунка В сре- де т)(Г»п»)отыз рисунок помещается в текст Мар!е-документа. При выделении по- строенного рисунка возникает специальное графическое меню.
С помощью пунк- тов этого меню можно интерактивно изменять ракурс, цвет и другие параметры построенного изображения, Однако из меню доступно только частичное управле- ние видом изображения, а полное управление реализуется при помощи управляющих параметров графической команды. Подробнее о пунктах меню можно прочитать в При- ложении. Параметры могут присутствовать в любых графических командах, которые схематически можно представить в следующем виде: Иня Графической Кананды(ббязвтфпьные пвраиетры; Упрввляищие парвнетры) Результат работы графической команды можно присвоить переменной, при этом вывода рисунка не2происходит. Чтобы рисунок'появился, достаточно дать'комай- ду просмотра переменной, содержащей рисунок.
Это позволяет подготовить не- сколько графических объектов и'затем составить из них единый рисунок с помо- в(ью команд б! вр1 ау и'()! зр1 аузб. 144 Глава о. Графика Р)вр(е Обратим внимание на то, что при обращении к графическим командам в выражениях, которые эвц(ают рисуемые объекты, не должно быть неопределенных переменных. Если зто не так, то Мар|е выведет сообщение о невозможности построения графика: Р!отмер еггог.
нарву р)о( Работа графических команд происходит в три этапа. Вначале анализируется правильность введенной команды. Затем параметры трансформируются в графические структуры. Эти структуры являются аппаратно-независимыми н определяют объект, который должен быть изображен. Завершает работу вывод графической структуры на изображающее устройство. По умолчанию в Ж(або)уз-версии таким устройством является экран монитора, но при помощи команд ) отегтасе или р1 отзетер (см. главу 7 «Программирование в Мар!е») его можно переопределить, указав другие устройства (например, файл).
Ниже рассмотрены основные команды, параметры и структуры двумерной и трехмерной графики. Для лучшего понимания работы графических команд нужно ознакомиться с главами, посвященными графическим структурам. Эта информация будет особенно полезна тем, кто собирается создавать собственные программы с исиользовапием графического вывода. Перед тем как перейти к подробному изложению, приведем без комментариев самый простой вариант рисования графика функции одной переменной Г(х) на интервале а<х<Ь: р)от(Г(х),х-а..б); Пример: > р)от(юп(х).х -Р)..Р! ): Двумерная графика Представим описание возможностей двумерной графики, начав с рассмотрения ее структур.
Затем разберем пакет р(отгооЬ, команды которого позволяют работать с графическими объектами. После этого перечислим основные параметры команд двумерной графики. потом подробно раэбе()ем команду р1 от. и закончим описа- Двумерная графинь а4э ние перечнем специальных команд, предназначенных для получения большинства стандартных графических математических построений. Структуры двумерной графики Графические команды преобразуют входные данные в графические структуры и выводят их на экран при помощи команды Р[0Т. Эти структуры состоят иэ небольшого числа элементарных объектов, о которых мы скажем ниже, и являются составной частью стандартной библиотеки.
Начнем с примера графической структуры, которая создается уже знакомой командой р10Е Мы присвоим переменной р1с результат выполнения команды р1 от, которая соединяет две точки с координатами (0,0) н (1,1): > р1с:-рця(((О,О].[1.1]]); Ргъ:= РВОТ(о)ЕУЕ5(! [0„0 1, (1., 1,]], СОСОЕК(ВОВ, 1 О, О., О.)), АХЕЯ.АВЕ(..х "", ""), Ч)ЕЧ4(ГГЕГА БСТ, Г)ЕРА(ГI Т) ) В результате переменной р1с присвоена графическая структура, содержащая информацию об отрезке (СЕРЧЕ5), цвете (СО!00М) и др. С помощью графических структур можно конструировать собственные команды.
Для изображения графической структуры достаточно к ней обратиться. Например: > р1с; 08 04 0.2 0 02 04 06 08 1 В состав структуры входят описания элементарных объектов и параметры. Перечислим двумерные графические объекты: О Р01МТ5([х1,уЦ. [х2,у23 .. ) — набор точек с координатами [х1,уЦ, [х2,у23,...; О СОКЧЕ5([[х11,у1Ц...,, [х1п,у1пИ... [[хп1.увЦ...., [хвп,уип]]) — ш наборов по и точек, определяющих незамкнутые кривые. Точки каждого из наборов будут последовательно соединены отрезками; О РО[ТЕОМ5( [[хП,у1Ц,..., [х1п,у1О]]...., ёхя1,уяЦ,...
[хяп,уап]]) — ш наборов ио и точек, определяющих замкнутые кривые. Точки квжд)эго из наборов будут последовательно соединены отрезками, причем последняя точка набора соеди- няется с первой; О ТЕМТ([х.у3,"зсг",)юг1гопса].чесс(са1.гопс) — графическийвыводтекста зсгначи- ная с позиции,заданной координатами [х.у3.
Необязателъныйпарамегр)юг1 зопса1 146 Глава б. Графика Мар(е определяет вид горизонтального выравнивания и может принимать значение А[!ВИ[ЕРТ или А[16ИИ16НТ. Способ вертикального выравнивания задаетнеобязательный параметр Нег[1 са) (А[16МАВОНЕ или А[[ВИВЕ[Он). Вше один необязательный параметр Гоп[ управляет видом и размером шрифта (см. примеры и справку Мар1е), Для вывода графических объектов 51г1,....5[гл на экран используется команда стандартной библиотеки Р[ОТ((л(Р1,...,4[гп)): Результатом действия этой команды будет графическая структура.
Приведем пример. Сформируем два графических объекта: один — для незамкнутой кривой, другой — для набора точек, а затем нарисуем их: > 4(г1:=СОИН[5([[0 0),[1,0.1],[1,0 4),[0.1,0.5))); » 4(Р2;-РО(ИТ5([0.5.0.2). [0.4.0,43,[0.7.0.3)): > Р[ОТ(л(г1,4(Р2.АХ[55ТН[Е(ИОИЕ)); В последней команде использована конструкция АХЕ55ТУ[Е(ИОИЕ). Это один из параметров графических структур, который определяет тип осей координат (в примере — отменяет нх).
При задании графических структур можно использовать следуюшие параметры: АХЕ55ТН[Е (тип осей координат), 5ТН[Е (стиль рисования, точки или линии), [1ие5тн[е (тип линии), тн1ские55 (тол(пина линии), 5ниВО[ (тип символа), РОИТ (тип и размер шрифта), АХЕ5Т1СК5 (разметка осей координат), АХЕ5[АВЕ[5 (метки на осях координат), Н1ЕИ (координаты рисуемой области), 5СА[[И6 (тип масштабирования), Т!Т[Е (заголовок объекта), СО[Оп (задание цвета) и др. Некоторые примеры приведены ниже; при необходимости более подробной информации пользователь может обратиться к справке пакета по графическим структурам ? р) 0$, 51гос[оге. Приведем пример использования графических структур для цостроения гистограммы, определяемой пятью значениями функции у х(1. х) на отрезке [О, Ц.