Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 29
Текст из файла (страница 29)
Приведем пример, иллюстрирующий использование некоторых перечисленных параметров. Нарисуем семь линий различной толщины и различным стилем: > Гог з Гглм 1 Со 7 ло р) [1:=р1ом1,0..1, ГЬ1склезз-з,!злез[71е=ц со1ог=шаек); ое: > р1осз[юзр1ау)[зее[р[)1 1-1..7). ю 01в-"Прииер различных лнннй",1аЬе1ь-["Ось Х"."Ось и'1. 1аье)гигесьзолз-[нок[70мтА[.нект[САС)): Пример различным линий 7 5 йл о 3 1 О 02 04 08 08 1 Ось Х Параметры, определяющие масштабирование, тип координат и разрешение Масштабирование, тип координат и разрешение можно определить с помошью следующих параметров: 07 соогйг=суре — тип координат (ро1аг.сагье81ап); с) вса1 пд-781 — тип масштабирования.
Еюи) ча ) принимает значсшге СОИ5ТКЛ1ИЕО, то график выводится с одинаковым масштабом по осям координат, а при зпачснии ОИСОМ5ТКА1МЕΠ— график масштабируется по размеру графнческо)о окна; с) ы[ьг=[ил)зп..ипах. ул)[п..увал) — область вывода, диапазон изменения горизон- тальной переменной задают величины хл)1 и и хв)ах, а вертикальной — ув1 и и улик; С) пывро1 пг5-и — число вычисляемых точек графика (по умолчанию 49); о гезо1ыс)оп-и — горизонтальное разрешение дисплея в пикселах (по умолча- нию 200). Приведем два примера, на которых график одной функции выводится с различны- ми параметрами: > Р)ЬС Ы1п(х"2)гх"2,х--5..6.-0.05..
1. ахев-ВОХЕО. аса1)пй-ылелпввгазпес); 152 Глава б. Графика Иар(е 08 02 0 -8 -4 -2 0 2 4 8 х р1 от(ото(х" 2) /х"2, х--б., б, ч1ех-[-5 ..5. -1 .. Ц, ахеа-ЕЛ/МЕО, аса!юд-сооагга1оее,хт1сааагха-10. ахеа/опг=[НЕЕЧЕТТСА,80ЕО, 12]); -1 .5,4 „3 7 .1 0 1 7 3 4 $ х Вьппе перечислены важнейшие параметры, общие для всех команд двумерной графики. Укажем еще несколько специфических, но важных параметров. Для команд Г) е1 пр10Е н дгаср! ОЕ существует параметр, задающий тип стрелки для изображения вектора: аггоиз- С()10 (или 11пе, з110), Г))1сЕ). Для команд Г(е1((р! ОЕ, дгабр1ОЕ и гар!101Ср! Ос существует параметр, задающий размеры сетки для вычисления векторного поля и неявно заданной функции на плоскости: дг1 6= [тпс],1 002], где ) 001 — число узлов по оси х, 1002 — по оси у.
По умолчанию принято дг1 0-[25 .. 25]. В )ч'ш((оччз-версии многие параметры вывода можно переопределить интерактивно через графическое меню (см. конец данной главы). Отметим, что в меню изменяются только внешние атрибуты рисунка (тип осей, вид масштаба и пр.), а некоторые важные параметры можно определить только при задании команды. В графическом меню нельзя вставить или отредактировать надписи, изменить число узлов, поменять цвет линий и т, д. Неправильное или невнимательное назначение параметров может привести к неточностям.
Надо всегда помнить, что построение графика происходит по точкам н не всегда установки по умолчанию приводят к правильным результатам. Приведем пример [8], иллюстрирующий, что может получиться, если при построении графика сильно осциллирующей функции использовать число узлов по умолчанию (первый рисунок), и как изменится картинка при увеличении числа узлов (второй рисунок). 01оФИх-20) 2/10+сок(2 Р1"х),х 0..49): Двумерная графика 153 ео г 50 30 20 о 0 10 20 и 30 40 > р)ог((х-25)"2/10+сов(2*ргпх).х=0.,49,пимро1пы-500): 50 30 20 10 0 0 10 20 х 30 40 Команда р1о1 Основной и наиболее часто используемой командой двумерной графики является команда р) О из ядра Мар)е, В зависимости от входных параметров она позволяет рисовать графики функций одной переменной, параметрически заданных функций, наборов точек и т, д.
Выше было показано, как применять зту команду для вывода графика функции одной действительной переменной. Приведем вариант команды р)ог, который позволяет в одних осях строить графики нескольких функций. Отметим, что аналогично можно использовать все команды двумерной графики, то есть в качестве входного параметра можно использовать множество функций, наборов точек и т. д.
В этом случае обращение к команде имеет внд: р)оо((гипс),топс2...).х-а..о,у с..о,<орс1опа>]; Здесь гОПС), гОПС2,... — выражения, зависящие от переменной х, а.,Ь вЂ” диапазон изменения 'переменной х (отрезок оси абсцисс), с .. б — выводигггый интервал по оси ординат. Здесь и далее в угловых скобках указаны аргументы, которые могут отсутствовать. Если одним из концов интервала изменения х является бесконечность, то выводится график асимптотического поведения функции. Приведем 154 Глава б. Графика нар(е пример построения графиков трех функций и используем параметры для явного указания числа насечек по осям координат, вида осей координат, цвета линий и заголовка: > р1ос((х.х"2.ехр(х)),х--5..5,у--5..
12. ахеп-ГЯАИЕ, 1111е."График функций у-х,у-х 2,у-ехр(х)" х11СХиагкп-(.ус!скиагкп-9,со1ог-з)аск); График фун!а(ий у=х,у>х"2,уиехр(х) 12 10 8 6 уа 2 О -2 -5 -4 -3 -2 -1 О 1 2 3 4 5 х Вообще говоря, аргумент функции может отсутствовать. В этом случае в качестве параметра указывается имя функции, а при задании интервала изменения аргумента не используется идентификатор переменной.
Привсдем пример, включающий описание функции т и вывод ее графика на бесконечном интервале: > 1:-х->п(п(х)!х. > р1о((Г.-(п(!п!гу..!пг1п!Гу.пциро1пМ-ЗРР); -!па ку Команду р1 ос можно применять и для вывода параметрически заданной кривой; р1от([топх(с),гцпу(Г).т-а..Ь),<орт1опа>), Здесь Гипх(г), Гвпу[т') — функции координат, завйсяц(ие от параметра т„з и ь — границы интервала изменения параметра. Например: > р1ОЕ([ГЕСОВ(2" Е),теа(П(2ит),Г О..бир1), '1(ара) Фпр"С(вбТОАХйбв.ахевезриеб,ва!еапеаэпа):, Двумернал графика 155 15 10 -10 .15 -10 -5 0 5 10 15 По умолчанию график строится в декартовых координатах, однако можно определить и другие типы координат. В следующем примере мы используем полярные координаты: > р)ос( соз(4"Г) Л-0..6>рт, поератпгз-200, Гтг1е -"Использование полярных координат".
ахея- Ьохее, зту)е-ра1пг, ауаоо)-О)амона, яумЬа1юзе )О, соогсз-ро)аг, зса1тпр-СОМ5ТРА)ИЕ0,со)аг-щ асд, Стг)еуопг-[Т)МЕ5.!ТА[)С,)0)); Ионооьзоеонио нонниных моолдинант 1 0.5 -0.5 -1 -1 -05 0 05 Отметим, что аналогичного результата можно добиться с помощью команды ра1агр1 ог. В примере использованы следующие параметры: поп)рот пса — для ухазаниЯ числа точек при построении кривой, ь)г1е — для введения заголовка, ахев — для определения типа осей координат, згу)е, зутаЬ01 и зуиЬ01 512Š— дЛя заДаНИя вида маркера при изображении кривой точками, соогт)5 — для указания полярной системы координат, зса11пд- ~ьвя изображения с одинаковым масштабом по осям, Ь)с1 еропт — для определения шрифта заголовка. Команда р1 ос мощет'использоваться и для иэображения набора точек: р)от[[[к),уП.[х2.у23,...].х а..Ь,у с..о,о)дза1опв>), Здесь' [[х1.уц, [х2,у21,...
3 — набор точек, х1, х2,... — абсциссы, ау1, у2,... -ординаты. Обязательным параметром в случае вывода набора точекявляется сам набор. 1об Глава 6. Графика Иар[е По умолчанию точки соединяются линиями. Приведем пример, в котором при помощи команды р101 выводится набор точек с именем о)ат: > ааа:-[[О. О]. [1.1) . [2. 0), [3,11, [4, 03, [5, О). > р1ог(дав.ахев-ВОХЕО); 0.8 06 04 02 0 0 1 2 3 4 5 Отметим, что команда р1 от предоставляет и другие возможности для построения графиков.
В частности, с использованием параметра О) всопг можно корректно выводить графики разрывных функций. Например, если просто дать команду рисования графика тангенса, то получится набор пиков в точках разрыва, а применение параметра 0)всопт позволяет получить корректный график: > р)ог[гап(х),х--4*Р1 ..4*Р1.-10..10,оввсопа-[гое); Специальные команды двумерной графики Описание команд специализированных двумерных графических построений начнем со служебных команд. Очень важной такой командой является 01 вр) ау. Часто бывает нужно совместить на одном рисунке графические образы, полученные при помощи различных графических команд.
Для этого реэфльФат действия каждой команды должен быть присвоен некоторой переменной (при этом вывода на экран не происходит), а затем нужно обратиться к команде Гпвр)ау([ввг1,втг2, '3, орт1опв>): Деуиериая графика 157 Здесь в квадратных скобках стоит список (или массив), элементами которого являются графические структуры зтг), згг2, (полученные в результате действия двумерных графических команд), а в качестве параметров могут фигурировать все описанные ранее. В результате выполнения команды О)зр)ау все рисунки, соответствующие графическим структурам, будут выведены в одних осях координат.
Проиллюстрируем действие этой команды на примере совмещения графиков двух функций с разными типами линий: > р~с): "р1о((ип(2*х) . х--Р1 .. РР.1гпеату!е-З. 1едепд-['П(сивая 1")); > р1с2:-р1о((х/4. х--РЦ.Ри(шсипем-3.1едепп-[ "Кривая 2")): > р)о(е[Ф ер1ау)([р)с).р~с2],ахес<ьехее): 05 -05 -1 -3 -2 -1 0 1 2 3 ьедепо Коиеая 1 — Кривая 2 Команду ()15р1ау с применением параметра 1пзедоеПсе можНо использоватЬ для создания мультфильмов.
По умолчанию значение этого параметра принято Г515е. Если )пзееоепсе=ггое, то графические структуры выводятся в поле вывода последовательно, создавая кадры мультфильма. Для вывода графической структуры с изменением параметров можно использовать следующую команду: гер1а( (65,<ары опе>) Кроме многофункциональной команды р1ос в пакете имеются также команды для рисования графиков функции одной переменной: О 1одр1 от(ехрг, чаг)-а ..