Рис. 8.21. Пример задания графической структуры типа GRID
Еще один тип трехмерной графической структуры — это MESH:
MESH(listlist) — задание трехмерной поверхности по данным списочной переменной listlist, содержащей полные координаты всех точек поверхности (возможно задание последней при неравномерной сетке).
Обычная форма задания этой структуры следующая:
MESH([[[x11, y11, z11], ... [x1n, y1n, z1n]], [[x21, у21, z21], ... [x2n, y2n, z2n]], ... [[xm1, ym1, zm1] ... [xmn, ymn, zmn}]])
Пример задания такой структуры представлен на рис. 8.22.
Рис. 8.22. Пример задания графической структуры типа MESH
Описанные структуры могут использоваться и в программных модулях. Много таких примеров описано в книгах, поставляемых с системой Maple.
8.5. Применение графики пакета plots
8.5.1. Пакет plots и его возможности
Пакет plots содержит почти полсотни графических функций, существенно расширяющих возможности построения двумерных и трехмерных графиков в Maple:
> with(plots);
Warning, the name changecoords has been redefined
Ввиду важности этого пакета отметим назначение всех его функций:
• animate — создает анимацию двумерных графиков функций;
• animate3d — создает анимацию трехмерных графиков функций;
• animatecurve — создает анимацию кривых;
• changecoords — смена системы координат;
• complexplot — построение двумерного графика на комплексной плоскости;
• complexplot3d — построение трехмерного графика в комплексном пространстве;
• conformal — конформный график комплексной функции;
• contourplot — построение контурного графика,
• contourplot3d — построение трехмерного контурного графика;
• coordplot — построение координатной системы двумерных графиков;
• coordplot3d — построение координатной системы трехмерных графиков;
• cylinderplot — построение графика поверхности в цилиндрических координатах;
• densityplot — построение двумерного графика плотности;
• display — построение графика для списка графических объектов;
• display3d — построение графика для списка трехмерных графических объектов;
• fieldplot — построение графика двумерного векторного поля;
• fieldplot3d — построение графика трехмерного векторного поля;
• gradplot — построение графика двумерного векторного поля градиента;
• gradplot3d — построение графика трехмерного векторного поля градиента;
• implicitplot — построение двумерного графика неявной функции;
• implicitplot3d — построение трехмерного графика неявной функции;
• inequal — построение графика решения системы неравенств;
• listcontplot — построение двумерного контурного графика для сетки значений;
• listcontplot3d — построение трехмерного контурного графика для сетки значений;
• listdensityplot — построение двумерного графика плотности для сетки значений;
• listplot — построение двумерного графика для списка значений:
• listplot3d — построение трехмерного графика для списка значений;
• loglogplot — построение логарифмического двумерного графика функции;
• logplot — построение полулогарифмического двумерного графика функции;
• matrixplot — построение трехмерного графика со значениями Z, определенными матрицей;
• odeplot — построение двумерного или трехмерного графика решения дифференциальных уравнений;
• pareto — построение диаграммы (гистограммы и графика линиями);
• pointplot — построение точками двумерного графика;
• pointplot3d — построение точками трехмерного графика;
• polarplot — построение графика двумерной кривой в полярной системе координат;
• polygonplot — построение графика одного или нескольких многоугольников с вершинами, задаваемыми списками их координат;
• polygonplot3d — построение одного или нескольких многоугольников в пространстве;
• polyhedraplot — построение трехмерного многогранника;
• replot — перестроение графика заново;
• rootlocus — построение графика корней уравнения с комплексными неизвестными;
• semilogplot — построение графика функции с логарифмическим масштабом по оси абсцисс;
• setoptions — установка параметров по умолчанию для двумерных графиков;
• setoptions3d — установка параметров по умолчанию для трехмерных графиков;
• spacecurve — построение трехмерных кривых;
• sparsematrixplot — построение двумерного графика, отличных от нуля значений матрицы;
• sphereplot — построение графика трехмерной поверхности в сферических координатах;
• surfdata — построение трехмерного графика поверхности по численным данным;
• textplot — вывод текста на заданное место двумерного графика;
• textplot3d — вывод текста на заданное место трехмерного графика;
• tubeplot — построение трехмерного графика типа «трубы».
Среди этих функций надо отметить, прежде всего, средства построения графиков ряда новых типов (например, графиков в комплексной плоскости, в виде линий равного уровня, векторных полей и т.д.), а также средства объединения различных графиков в один. Особый интерес представляют две первые функции, обеспечивающие анимацию как двумерных (animate), так и трехмерных графиков (animate3d). Этот пакет вполне заслуживает описания в отдельной книге. Но, учитывая ограниченный объем данной книги, мы рассмотрим лишь несколько характерных примеров его применения. Заметим, что для использования приведенных функций нужен вызов пакета, например, командой with(plots)