Смекни!
smekni.com

Графика в системе Maple V (стр. 1 из 12)

1. Двумерная графика

1.1. Основные возможности двумерной графики

Лидером по графическим возможностям среди математических систем для персональных компьютеров долгое время считалась система Mathematics 2. Однако в реализации Maple V R4 возможности графики системы Maple V приблизились к таковым у системы Mathematica 2 и даже Mathematica 3. Они настолько обширны, что, будь математическая графика Maple V единственным назначением системы, оно вполне оправдало бы ее разработку.

Графика Maple V реализует все мыслимые (и даже «немыслимые») варианты математических графиков — от построения графиков простых функций в Декартовой и в полярной системах координат до создания реалистических образов сложных пересекающихся в пространстве фигур с их функциональной окраской. Возможны наглядные графические иллюстрации решений самых разнообразных уравнений, включая системы дифференциальных уравнений.

В само ядро Maple V встроено ограниченное число функций графики. Это прежде всего функция для построения двумерных графиков (20-типа) — plot и функция для построения трехмерных графиков (ЗО-типа) — plot3d. Они позволяют строить графики наиболее распространенных типов. Для построения графиков специального типа (например, в виде векторных полей градиентов, решения дифференциальных уравнений, построения фазовых портретов и т.д.) в пакеты расширения системы Maple V включено большое число различных графических функций. Для их вызова необходимы соответствующие указания.

Вообще говоря, средства для построения графиков принято считать графическими процедурами или операторами. Однако мы сохраним за ними наименование функций в силу двух принципиально важных свойств:

• графические средства Maple V возвращают некоторые графические объекты, которые размещаются в окне документа в строке вывода или в отдельном графическом объекте;

• эти объекты можно использовать в качестве значений переменных, т.е. переменным можно присваивать значения графических объектов и выполнять над ними соответствующие операции (например, с помощью функции show выводить на экран несколько графиков).

Графические функции заданы таким образом, что обеспечивают построение типовых графиков без какой-либо особой подготовки. Все, что для этого нужно, это указать функцию, график которой строится, и пределы изменения независимых переменных. Однако с помощью дополнительных необязательных параметров — опций можно существенно изменить вид графиков, например, изменить стиль и цвет линий, вывести титульную надпись, изменить вид координатных осей и т.д.

13.1.2. Основная функция двумерной графики — plot

Для построения двумерных графиков служит функция plot. Она задается в виде:

plot(f, h, v) или plot(f, h, v, о),

где f — функция (или функции), чей (чьи) график(и) строятся, h — переменная с указанием области ее изменения по горизонтали, v — заданная опционально переменная с указанием области изменения по вертикали, о — опция или набор опций, задающих стиль построения графика (толщину и цвет кривых, тип кривых, метки на них и т.д.).

Самыми простыми формами задания этой функции служат:

plot(i,xmin..xmax) — построение графика функции f, заданной только именем;

plot(f(x),x=xrnin..xmax) — построение графика функции f(x).

Диапазон изменения независимой переменной х задается как xmin..xmax, где xmin и гпах — минимальное и максимальное значение х, .. (две точки) — составной символ, указывающий на изменение независимой переменной. Разумеется, имя х здесь дано условно — независимая переменная может иметь любое допустимое имя.

Для двумерной графики возможны следующие опции:

axes Вывод различных типов координат (axes=NORMAL — обычные оси, выводятся по умолчанию, axes=BOXES — график заключается в рамку с оцифрованными осями, axes=FRAME — оси в виде перекрещенных линий и axes=NONE — оси •не выводятся).
color Задает цвет кривых (см. далее).
coords Задание типа координатных систем (см. далее).
numpoints Задает минимальное количество точек графика (по умолчанию numpoints=49).
resolutions Задает горизонтальное разрешение устройства вывода (по умолчанию resolutions-200, параметр используется при отключенном адаптивном методе построения графиков).
scaling Задает масштаб графика CONSTRAINED (сжатый) или UNCONSTRAINED (несжатый — по умолчанию).
size Задает размер шрифта в пунктах.
style Задает стиль построения графика (POINT — точечный, LINE — линиями).
symbol Задает вид символа для точек графика (возможны значения BOX — прямоугольник, CROSS — крест, CIRCLE — окружность, POINT — точка, DIAMOND — ромб).
title Задает построение заголовка графика (title=«string», где string — строка).
titlefont Определяет шрифт для заголовка (так же как и для font).
labelfont Определяет шрифт для меток (labels) на осях координат (так же как и для font).
thickness Определяет толщину линий графиков (0, 1,2,3, по умолчанию 0).
view=[A, B] Определяет максимальные и минимальные координаты, в пределах которых график будет отображаться на экране, А = [xmin..xmax], B=[ymin..углах] (по умолчанию отображается вся кривая).
xtickmarks Задает минимальное число отметок по оси X.
ytickmarks Задает минимальное число отметок по оси Y.

В основном задание параметров особых трудностей не вызывает. За исключением задания титульной надписи с выбором шрифтов по умолчанию — в этом случае не всегда поддерживается вывод символов кириллицы (русского языка). Подбором подходящего шрифта эту проблему удается решить.

13.1.3. Задание координатных систем 20-графиков и их пересчет

В версии Maple V R4 параметр coords задает 15 типов координатных систем для двумерных графиков. По умолчанию задана прямоугольная (Декартовая) система координат (coords=cartesian). При использовании других координатных систем координаты точек для них (u,v) преобразуются в координаты (х,у) как (u, v) -> (x, у). Ниже приведены наименования систем координат (значении параметра coords) и соответствующие формулы преобразования:

bipolar

х = sinh(v)/(cosh(v)-cos(u)) у = sin(u)/(cosh(v)-cos(u))

cardiod

х = [/2*(u'2-v~2}/(u'2+v'2Y2 у = u*v/(ir2+v"2)-2

cartesian

х = u у = v

cassinian

x = a*2«(l/2)/2*((exp(2*u)+2*exp(l^)*cos(v)+l)«(l/2) +

exp(u)*cos(v)+l)"(l/2) у = a*2»(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)"(l/2) -

exp(u)*ws(v)-l)'-(\/2)}

elliptic

x = cosh(u)*cos(v) у = sinh(u)*sin(v)

hyperbolic

x = ((iT2+v-2)-(l/2)+u)-(l/2) у = ((^2+у'2Г(\/2)-иУ(1/2)

invcassinian

x = a*2~(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)"(l/2) +

exp(u)*cos(v)+l)»(l/2)/(exp(2*u)+2*exp(u)*cos(v)+l)-(l/2) у = a*2»(l/2)/2*((exp(2*u)-^2*exp(u)*cos(v)+l)-(l/2) -

exp(u)*cos(v)-l)»(l/2)/(exp(2*u)+2*exp(u)*cos(v)+l)-(l/2)

invelliptic

x = a*cosh(u)*cos(v)/(cosh(u)"2-sin(v)'2) у = a*sinh(u)*sin(v)/(cosh(u)"2-sin(v)»2)

logarithmic

x = ii/Pi*ln(u'2+v'2) у = 2*a/Pi*arctan(v/u)

logcosh

x = a/Pi*\n(c.osh(uy2-sm(vy2} у = 2*a/Pi*arctan(tanh(u)*tan(v))

maxwell

x = a/Pi*(u+l+exp(u)*cos(v)) у = a/Pi*(v+exp(u)*sin(v))

parabolic

x = (u'2-v^2)/2 у = u*v

I'I-

polar

x = u*cos(v) у = u*sin(v)

rose

x = ((u'2+v'2Y(\/2)+ur(\/2)/(u~2+v'2)-(i/2) у = ((^2+v'2)-(\/2)-u)-(\/2)/(u'2+^2r(\/2)

tangent

x= u/tu^+v^) у = v/(iT2+v'2)

13.1.4. Управление стилем и цветом линий 20-графиков

Maple V R4 позволяет воспроизводить на одном графике множество кривых. При этом возникает необходимость из выделения. Для этого можно использовать построение линии разными стилями и разными цветами и разной толщиной линий. Набор средств выделения кривых позволяет уверенно различать их как на экране цветного дисплея и распечатках цветным струйным принтером, так и при печати монохромными принтерами.

Параметр style позволяет задавать следующие стили для линий графиков:

SPISV = POINT или point — график выводится по точкам;

LINE или line — график выводится линией.

Если задано построение графика точками то параметр symbol позволяет представить точки в виде различных символов, например, прямоугольника, креста, окружности или ромба.

Другой параметр color позволяет установить обширный набор цветов линий графиков:

aquamarine black blue navy coral cyan brown gold green gray grey khaki magenta maroon orange pink plum red sienna tan turquoise violet wheat white yellow

Различные цветовые оттенки получаются использованием RGB-комбинаций базовых цветов: red — красный, green — зеленый, blue — синий. Приведем перевод ряда других комбинированных цветов: black — черный, white — белый, khaki — цвет «хаки», gold — золотистый, orange — оранжевый, violet — фиолетовый, yellow — желтый и т.д. Перевод цветов некоторых оттенков на русский язык не всегда однозначен и потому не приводится. Средства управления стилем графиков дают возможность легко выделять различные кривые на одном рисунке, даже если для выделения не используются цвета.

13.2. Примеры построения основных типов 20-графиков

13.2.1. Построение графиков одной функции

При построении графика одной функции она записывается в явном виде на место шаблона f. Примеры построения графика одной функции представлены на рис. 13.1. Обратите внимание на то, что график функции sin(x)/x строится без

характерного провала в точке х=0, который наблюдается при построении графиков этой функции многими программами. Он связан с используемым в них правилом — функция задается равной нулю, если ее числитель равен нулю. Данная функция в этой точке дает устранимую неопределенность 0/0->1, что и учитывает графический процессор системы Maple V.


Рис. 13.1. Примеры построения графиков одной функции.

При построении графиков одной функции могут быть введены указатели масштабов и различные опции, например задания цвета кривой, толщины линии, которой строится график функции и другие параметры. К примеру, запись в списке параметров со1ог=0 (не документированная возможность) или запись color=black задают вывод кривых черным цветом, а запись thinkness=2 задает во втором примере рис. 13.1 построение графика линией, удвоенной в сравнении с обычной толщиной.

13.2.2. Управление масштабом графиков

Для управления масштабом графиков служат указатели масштабов. В ряде случаев их можно не применять и система автоматически задает приемлемые масштабы. Однако их явное применение позволяет задать масштаб «вручную». Иногда соответствующее задание масштаба случайно или целенаправленно ведет к отсечению части графика — например на рис. 13.2 в первом примере отсечена верхняя часть графика.