Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 28
Текст из файла (страница 28)
В этом примере мы постараемся использовать побольше графических объектов и параметров. В первую очередь определим саму функцию и праце)(ух)у-функцию, которая задает четыре, вершины трапеции гистограммы) > Г:-х->х>( 1-х): > р: 1.>[[(1-1)/5,03.[(1-1)/5,Г((1-1)/5)1,. [!/5,Г()/Б)1,[1/5.01 ): Двуиериал графика 147 Сформируем графическую структуру ве11 из пяти трапеций, окрашенных в различные оттенки серого цвета: х вет1:-ведт!вОХШОК5тр'т).СО!ОШВОВ, /5,1/5,)/5)),т"т.
5): ! рафическая ст руктура вет2 содержит нять строк текста, каждая нз которых задае г номера столбца гистограммы, причем размер шрифта последовательно увеличивается: > вес2:-вед1ТЕХТ1 П т 0.5)/5,0.15].сотхетсттч в1ттпо), ЕОИТЕВТИВОЕ.10+5*т')).т' 1..5): Теперь обе графические структуры выведем на экран, снабдив рисунок заголовком и определив тип осей координат: > РХОтевее1.вес2.дхе55ттеетВОх/. Т)ТЕЕпПрииер иытолввованил двунерних структур" )): Пример испопьзовенилдвумерныхструктур 02 015 01 ОС5 Ох, О 02 04 08 08 1 Двумерные команды пакета р1ойаоЬ Часто возникает необходимость выполнять различные операции с графическими структурами (вращать, уменьша гь и пр.), в частности с результатами графических команд.
Такую возможность предоставляют команды из пакета р10ГЕ0015. Кроме того, в этот пакет включены команды, генерирующие простейшие и часто требующиеся графические объекты (окружность, стрелки, кривые и др.). Далее мы перечислим многие команды пакета и пронллюстрируем их действие прпмерами. Полный список команд можно найти в справке пакета. Команды пакета р(ОЕЕООЬ работают только с графическими структурами, а результатом их действия является графический объект.
Для изображения графического объекта требуется использовать команду РЕОТ из ядра Мар!е или команду 6) 5Р1ау пакета р1 отв. Начнем с команд манипуляций с графическими объектами; ст гет1ест(65, (к,у1 ) — отражение графической структуры 65 относительно точки , с координатами (х,у).
Если за точкой (х,у3 в параметрах команды следует точка (х1.уц, то структура отражается относительно прямой, проходящей через эти точки,' с) гоШе(65, ап6, (х.у)) — повернуть графическую структуру 65 относительно точ- ки с координатами (к,у) на угол апО (в радианах); 148 Глава б. Графика Ивр(е о рго]есс(65, [р11, рт2] ) — сщюецировать графическую структуру 65 на прямую.
опре- деляемую двумя точками [рС1, р12]. Здесь р11, р12 — векторы из двух координат; С) аса1е(65, А, В, [х, у] ) — измсгпать рззааеры структуры 65 в А раэ чо каор (ипатг х и в В раз по коордщгатс у. В ка аестве центра масштабирования может быть указана точка с координатами (х,у); о Егап51аЕе(65,А. В) — увеличить все координаты в графической структуре 65 на величину А по оси х и величину В по оси у.
Теперь приведем пример, в котором вместе с кривой заг1 из предыдущего раздела мы выведем уменьшенный в два раза ее вариант, копшо кривой, повернутую на 90 градусов, н копию, перемещенную вверх на 2/3: > РЕОт(ааг1 гоааае(ааг1, Раа2, [О 01), аса1е(ааг1. 112. 1/2. (О.О)). агапа)аае(ааг1. О. 2/3). АХЕ55ТГЕЕ(КОКЕ),5СА(1МЯ(СОЧ5ТРА1ИЕО)); Перейдем к описанию команд, определяющих элементарные графические объекты, Результатом действия этих команд также являются графические структуры: (О агс([х.у], г, а ..Ы вЂ” генерирует дугу окружностис центром в точке [х.у] иради- усом г. Величина угла задается в радианах ннтервкаом а ..
Ь; (з аггои( [х, у], [ч1, ч2], иЬ, ин. ЬЬ) — задает графический объект в виде стрелки, [х,у] определяют координаты основания стрелки, вектор [Р1,ч2] указывает ее направление. Параметры иЬ и иЬ задают ширину нижней и верхней чзстсй стрелки соответственно, а ЬЬ дает отношение ширины к длине верхней части стрелки; с) с(гс1 еПх,у], г) — генерирует окружность с центром в точке [х. у] и радиусом г; О ((15Е([х,у], г) — задает круг с центром в точке [х,у] и радиусом г; О е11)рзЕ([х.у]. а. Ы вЂ” формируетэллипссцентромвточке[х.у]иполуосямиаиЬ; о 1)не([х1.уЦ, [х2,у2]) — соединяет линией точки с координатами [х1,уЦ и [х2,у2]; о р1 е511се( [х.у], г, а .. Ы вЂ” задает сектор круга с центром в точке [х.у] и радиу- сом г, угол задается интервалом а..Ь; о ро(ОЕ(рзЕ1) — определяет набор точек.
Здесь в качестве параметра рзЕЕ высту- пает список, состоящий из точек. Каждая точка дается двумя координатами; о ра1уООО([[х1.уЦ..... [хп, ун]]) — генерирует многоугольник, соединяющий последовательно точки с координатами [х1,уЦ,..., [хн. уп]. Последняя точка соединяется с первой. Внутренняя часть многоугольника может быть закрашена цветом, который указывается при помощи параметра со1 ог (см.
следующий раздел); Двумерная графика 1'а9 (3 гЕСЬапд1е([х1,у]1, [х2,у2]) — определяет прямоугольник с левым верхним углом [х1,у1) и правым нижним углом [х2,у2]. С помощью параметров внутренность прямоугольника может быть закрашена. Проиллюстрируем действие описанных команд. Обратим внимание, что для задания некоторых объектов использованы параметры, которые будут описаны в следующем разделе. Для вывода графических структур применена команда О! зр! ау: > а :- агс([0,0]. 1.
Р!/З..Р!): > ь: с!гс!е([0.0],0.7.со)ог-гее ль!скпеаа-4): > с:- аггои([0,0], [0,0.5]. . 1. .2. .3. сь!ог-дгееп): > 0 :- П!ах([0,-!]. 0.4, со!Ьг-уе1!ьн); > е :- р!еа!!се([ 1.-0.5]. 0.4. Р!/3..3"Р!/2. сь1ог-Ь!Ье). > [:" рь!пс([1,0.2], со1ьг-Ыаса)', > д:-гес(апд!е([0.7.1.0].[1.2.0.5].сь!Ьг-до!О): > Ь:"рь!удьп([[-1.1,-1.4],[-1,-П. [-0.5,-0.7].[-0.5.-1,3]] дп!скпеаа-2): > р!о(а[п!ар!ау](а.Ь.с А .е,/.д,н.ахеа-Ьохеп', аса)!пд-сопагга!пес): 05 -0.5 -! -05 0 05 ! управляющие параметры двумерной графики Большинство параметров двумерной графики, за исключением специализированных, применимы для всех графических команд. Они позволяют управлять изображением: детальностью графика, типом выводимых линий и заполнителей, размещением надписей н т..
д. Управляющие параметры в командах следуют сразу за обязательнымн параметрами, а при их отсутствии используются установки по умолчанию (см. справку Мар1е). Пользователь может переопределить установки на сеанс при помощи команды аеторт)опз(орь! Опв ). Перечислим и прокомментируем ос- новные параметры. Управление цветом и шрифтами Для управления цветом и шрифтами применяются следующие команды: О со1 ог-со1огуа10Š— цвет вмвоДа.
В качестве со1огуа10е может выступать оДно из слецуюшнк зарезервированных в Мар1е названий цветов: а((иакнг! пе, Ь! асК, Ь! 0Е, 150 Глава 6. Графика Мар!е пачу, сога1, суап, Ьгоип, до1о, дгееп, дгау, дгеу, ХПак1,)вадепга, л)агооп, агапде, р1пк, р1 ип, гед, з1 еппа, чап, Ьигдца1ве, ч1о1 еФ., кпеас, чап Ье, уе11о)ч. Кроме того, существует воэможность определения собственных цветов. Для этого можно использовать параметр графических структур СВЕОН. Одним из вариантов обращения к ней является следующий: СОЕОВ( НОВ, г, д, Ь ) .
Здесь НОВ указывает на то, что цвет задается долями красного, зеленого и синего цветов, а параметры г, д, Ь указывают доли этих цветов и могут принимать значения от нуля до единицы; с) ГопТ=(чгоп, чзау1е, чз1ае] — шрифт для вывода текста. Здесь переменная чгоп задает имя шрифта (Т!МЕ5, СОБР!ЕН.
НЕЕчЕТ1СА или 5УМВОЕ), переменная чзту1е определяет стиль шрифта (см, справку Мар!е), а число чз1ге — размер символа; о 1аЬе1 тола=1 — определяет шрифт, которым выводится текст на осях координат. Обращение аналогично рассмотренному для параметра Гопг. Параметры, определяющие вид осей координат и заголовка Определить вид осей координат н заголовка можно при помощи следующих параметров: С) Ь~11е-"Маве" — заголовок рисунка; о Ь)Ь1егопч=( ч гоп, чз чу1е, чз1ге] — определяет шрифт, которым выводится текст заголовка.
Обращение аналогично рассмотренному для параметра ГопЬ; о ахез=ча1 — тип выводимых осей координат. Величина ча1 может принимать одно из следующих значений: МОНМАŠ— обычные оси координат, ВОХЕΠ— график заключается в рамку с нанесенной 1пкалой, ГНЛМŠ— оси с центром в левом нижнем углу рисунка, НОМŠ— вывод без нанесения осей; о х).1сквагкз=пх — число насечек по оси абсцисс (Х); О уьв ск)ласк з=пу — число насечек по оси ординат (У); о 1аЬе! з-(з).г Х, зЬг Т] — надписи по осям координат.
По умолчанию принимаются имена выводимых переменных; О 1аЬе1 ол гесЬ1опз=(1аЬх,1аЬу] — указывает тип размещения меток осей координат (вертикальное или горизонтальное). Величины 1аЬх. 1аЬу могут принимать значение НОВ120МТАЕ или чЕНТ1СА!. По умолчанию принято первое значение; о 1едепп=зЬг1 — комментарий (легенда) к кривой в виде строки зТгь Если на графике несколько кривых, то в качестве зсг1 должен фигурировать список из строк, Параметры, задающие стиль графика и вид линий Стиль линий и вид графика можно при помощи следующих параметров: о вЬХ1е-Е)МЕ/Р01 МТ вЂ” вывод графика линиями или точками.
В некоторых двумерных графических командах этот параметр может принимать значения РАТСН или РАТСНМСОЯ10,' о ЬЬ)сХпезз-и — толщина линии; л может принимать значения 1, 2, 3,...: о 11пезсу1 е-и — тнп выводимой линии (непрерывная, пунктир, ...), по умолчанию— непрерывная линия (и Т); Двумерная графика 151 с) зул)Ь01 га — тип символа (маркера), которым помечаются точки, 8 может прини- матьодноизследующихзначений: ВОХ, СК055, С1КСЕЕ, РО1МТ, 01АМОИО; О 5УЛ)Ь01512е=п — раЗМеР маркеРа. Для иллюстрации действия различных параметров мы будем исг)ользоваты<оьганду рисования графика функции одной действительной переменной р1оц Подробно эта важная команда будет рассмотрена в следующем разделе.