25620-1 (751112), страница 4
Текст из файла (страница 4)
Рис. 3.19. График ЗО-поверхности при полном параметрическом ее задании.
В данном случае функциональная окраска задана из меню, поэтому в состав функции соответствующий параметр не введен.
13.4.4. ЗО-график как графический объект
Принадлежность функции plot и plot3D к функциям (в ряде книг их именуют операторами, командами или процедурами) наглядно выявляется при создании графических объектов.
Графический объект — это в сущности обычная переменная, которой присваивается значение графической функции. После этого такая переменная, будучи вызванной, вызывает построение соответствующего графика. Пример этого дан на рис. 13.20.
В данном случае строится кольцо Мебиуса, свойства которого (например, плавный переход с одной стороны ленты на другую) уже много веков будоражат воображение людей.
13.4.5. Задание 30-графики в виде процедуры
Язык программирования Maple V допускает применение в процедурах любых внутренних функций, в том числе графических. Пример такого применения дает рис. 13.21.
Рис. 13.20. Пример задания и вывода трехмерного графического объекта
Рис. 13.21. Пример создания и применения процедуры ЗО-графики.
Этот пример показывает еще один способ задания и построения кольца Мебиуса. Практически любые графические построения можно оформлять в виде процедуры и использовать такие процедуры в своих документах. Подробно создание графических процедур описано в книге [38], поставляемой в составе коммерческой реализации системы.
13.4.6. Построение ряда трехмерных фигур
Функция plot3d позволяет строить одновременно несколько фигур, пересекающихся в пространстве. При этом она обладает уникальной возможностью — автоматически вычисляет точки пересечения фигур и показывает только видимые части соответствующих фигур. Это создает графики фигур, выглядящие вполне естественно.
Для построения таких графиков достаточно вместо одной функции указать ряд функций. Пример такого построения для двух функций показан на рис. 13.22.
Рис. 13.22. Пример построения двух SD-фигур, пересекающихся в пространстве.
Фигура на рис. 13.22 показана после ее коррекции и функциональной окраски в «ручном» режиме — с применением инструментальной панели окна графики.
13.5. Графические структуры двумерной и трехмерной графики
13.5.1. Понятие о графических структурах
Функции PLOT и PLOT3D, с именами, набранными большими буквами, позволяют создавать графические структуры, содержащие ряд графических объектов si, s2, s3 и т.д. Каждый объект может представлять собой точку или фигуру, полигон, надпись и т.д., позиционированную с высокой точностью в заданной системе координат. Координатные оси также относятся к графическим объектам. Важно отметить, что функции PLOT и PLOT3D одновременно являются данными, описывающими графики. Их можно записывать в виде файлов и (после считывания файлов) представлять в виде графиков. Особые свойства этих функций подчеркиваются записью их прописными буквами.
13.5.2. Графические структуры двумерной графики
Графическая структура двумерной графики задается в виде:
PLOT(sl, s2, s3,...,o);
где si, s2, s3 .... — графические объекты (или элементарные структуры-примитивы), о — общие для структуры опции).
Основными объектами являются:
POINTS([xl,yl],[x2,y2),...[xn,ynj) — построение точек, заданных их координатами;
CURVES([[xll,yll],...[xln,yln]],[[x21,y21],...[x2n,y2n]],...[[xml,yml]„.. [xmn,yrnn]]) — построение кривых по точкам;
POLYGONS([[xll,yll¦,...[xln,yln]],[[x21,y2H,...[x2n,y2n]],...[[xml,yml],... [xmn.ymn]]) — построение замкнутой области — полигона (последняя точка должна совпадать с первой);
ТЕХТ([х, у], 'string', horizontal, vertical) — вывод текстовой надписи 'string', позиционированной координатами [х,у] с горизонтальной или вертикальной ориентацией. Опция horizontal может иметь значения ALIGNLEFT или ALIGNRIGHT, указывающие, в какую сторону (влево или вправо) идет надпись. Аналогично опция vertical может иметь значения ALIGNABOVE или ALIGNBELOW, указывающие, в каком направлении (вверх или вниз) идет надпись.
При задании графических объектов (структур) si, s2, s3 и т.д. можно использовать описанные выше опции и параметры, например, для задания стиля STYLE-построения (POINT, LINE, PATCH, PATCHNOGRID), толщины линий THICKNESS (кроме координатных осей), символа SYMBOL, которым строятся точки кривых (BOX, CROSS, CIRCLE, POINT, DIAMOND и DEFAULT), стиля линий LINESTYLE, цвета COLOUR (например, COLOUR(HUE.O) для закраски непрерывной области), типа шрифта FONT, вывода титульной надписи TITLE(string), имени объекта NAME(string), стиля координатных осей AXESSTY-LE (BOX, FRAME, NORMAL, NONE, или DEFAULT) и т.д.
Следует отметить, что опции в графических структурах задаются несколько иначе — с помощью круглых скобок. Например, для задания фонта TIMES ROMAN с размером символов 16 надо записать FONT(TIMES, ROMAN, 16), а для задания стиля координатных осей в виде ящика (прямоугольника) — AXESSTYLE(BOX) и т.д.
На рис. 13.23 показан пример графических построений при использовании основных структур двумерной графики.
Как видно из этого примера, графическая двумерная структура позволяет задать практически любые двумерные графики и текстовые надписи в пределах одного рисунка.
13.5.3. Графические структуры трехмерной графики
Графические структуры трехмерной графики строятся на основе функции plot3d:
PLOT3D(sl, s2,s3,....,o)
В качестве элементарных графических структур можно использовать уже описанные выше объекты POINTS, CURVES, POLYGONS и TEXT — разумеется, с
добавлением в списки координат третьей координаты. Пример такого построения дан на рис. 13.24.
Рис. 13.23. Пример использования структур 20-графики
Рис. 13.24. Пример создания ЗО-структуры.
Кроме того, могут использоваться следующие специальные трехмерные структуры. Одна из них — структура:
GRID(a..b,c..d,listlist) — задание поверхности над участком координатной плоскости [a,b]([c,d] по данным заданным списочной переменной listlist:= [[zll,...zln],[z21,...z2n],...[zml...zmn]] с размерностью nxm. Заметим, что эта переменная задает координату z для равноотстоящих точек поверхности.
На рис. 13.25 показан пример создания трехмерной графической структуры на базе GRID. Изображение представляет собой линии, соединяющие заданные точки.
Рис. 13.25. Пример задания графической структуры типа GRID.
Еще один тип трехмерной графической структуры это:
MESH(listlist) — задание трехмерной поверхности по данным списочной переменной listlist, содержащей полные координаты всех точек поверхности (задание последней возможно при неравномерной сетке).
Обычная форма задания этой структуры следующая:
MESH([[[xll,yll,zll],...[xln,yln,zln]], [[x21,y21,z21],...[x2n,y2n,z2n]], ... [[xml,yml,zml]...[xmn,ymn,zmn]]]).
Пример задания такой структуры представлен на рис. 13.26.
Описанные структуры могут использоваться и в программных модулях. Много примеров их описано в книге [38].
Дополнительные данные о возможностях графических структур можно найти в справочной базе данных системы Maple V.
Рис. 13.26. Пример задания графической структуры типа MESH.
13.6. Графика пакета plots 13.6.1. Общая характеристика пакета plots
Пакет plots содержит почти полсотни графических функции, существенно расширяющих возможности графики системы Maple V. В реализации R4 этот пакет содержит следующие функции:
| ——————————— animate | Создает мультипликацию 2D графиков функций. |
| animated | Создает мультипликацию 3D графиков функции. |
| changecoords | Смена системы координат. |
| compiexplot | Построение 20-графика на комплексной плоскости. |
| complexplot3d | Построение 30-графика в комплексном пространстве. |
| conformal | Конформный график комплексной функции. |
| contourplot | Строит координатную систему контурши-м графика. |
| contourplot3d | Строит контурный 30-график. |
| coordplot | Строит координатную систему 20-графиков. |
| coordplotSd | Строит координатную систему ЗО-графиков. |
| cylinderplot | Строит график 3D поверхности в цилиндрических координатах. |
| densityplot | Строит двумерный график плотности. |
| display | Строит график списка графических объектов. |
| display3d | Строит график списка трехмерных графических объектов. |
| fieldplot | Строит график 2D векторного поля. |
|
|
|
| fieldplot3d | Строит график 3D векторного поля. |
| gradplot | Строит график 2D векторного поля градиента. |
| gradplot3d | Строит график 3D векторного поля градиента. |
| implicitplot | Строит 2D-гpaфик неявной функции. |
| implicitplot3d | Строит ЗО-график неявной функции. |
| inequal | Строит график решения системы неравенств. |
| listcontplot | Строит 20-контурный график для сетки значении. |
| listcontplot3d | Строит ЗО-контурныи график для сетки значении. |
| listdensityplot | Строит 20-график плотности для сетки значении. |
| listplot | Строит 20-график для листа значений. |
| listplot3d | Строит ЗО-график для листа значении. |
| loglogplot | Строит логарифмический 20-график функции. |
| logplot | Строит полулогарифмический 2D- график функции. |
| matrixplot | Строит ЗО-график со значениями Z, определенными матрицей. |
| odeplot | Строит 2D или 3D график решения дифференциальных уравнений. |
| pareto | Строит pareto-диаграммы (гистограмма + график линиями). |
| pointplot | Строит 2D точечный график. |
| pointplot3d | Строит 3D точечный график. |
| polarplot | Строит график 2D кривой в полярной системе координат. |
| polygonplot | Строит график одного или большего количества многоугольников. |
| polygonplot3d | Строит график одного или большего количества многоугольников. |
| polyhedraplot | Строит трехмерный график многогранника. |
| replot | Перестраивает заново график. |
| rootlocus | Строит график корней уравнения с комплексными неизвестными. |
| semilogplot | Строит график функции с логарифмическим масштабом по горизонтали. |
| setoptions | Устанавливает опции по умолчанию для 2D графиков. |
| setoptions3d | Устанавливает опции по умолчанию для 3D графиков. |
| spacecurve | Строит 3D пространственные кривые. |
| sparsematrixplot | Строит ZD-график отличных от нуля значений матрицы. |
| sphereplot | График 3D- поверхности в сферических координатах. |
| surfdata | Строит ЗD-гpaфик поверхности по численным данным. |
| textplot | Выводит на заданное место 2D-гpaфикa текст. |
| textplot3d | Выводит на заданное место ЗD-rpaфикa текст. |
| tubeplot | Строит ЗD-rpaфики типа трубы. |














