8.5.11. Визуализация сложных пространственных фигур
Приведенные выше достаточно простые примеры дают представление о высоком качестве визуализации геометрических фигур с помощью пакета plots. Здесь мы рассмотрим еще несколько примеров визуализации трехмерных фигур. Многие видели катушки индуктивности, у которых провод того или иного диаметра намотан на тороидальный магнитный сердечник. Некую математическую абстракцию такой катушки иллюстрирует рис. 8.32.
Рис. 8.32. Тор с обмоткой — толстой спиралью
В документе рис. 8.32 для функции tubeplot использовано довольно большое число параметров. Не всегда их действие очевидно. Поэтому на рис. 8.33 показано показано построение тора с тонкой обмоткой. Здесь также показано меню правой клавиши мыши, позволяющее менять стиль построения графика. Можно также поэкспериментировать с управляющими параметрами графика, от которых сильно зависят его представительность и наглядность.
Рис. 8.33. Тор с тонкой обмоткой
В ряде случаев наглядно представленные фигуры можно строить путем объединения однотипных фигур. Пример графика подобного рода представлен на рис. 8.34. Здесь готовится список графических объектов s, смещенных по вертикали. С помощью функции display они воспроизводятся на одном графике, что повышает реалистичность изображения.
Рис. 8.34. Построение фигуры, напоминающей шину автомобиля
Последний пример имеет еще одну важную особенность — он иллюстрирует задание графической процедуры, в теле которой используются функции пакета plots. Параметр n этой процедуры задает число элементарных фигур, из которых строится полная фигура. Таким образом, высотой фигуры (или шириной «шины») можно управлять. Возможность задания практически любых графических процедур средствами Maple-языка существенно расширяет возможности Maple.
Наглядность таких графикой, как графики плотности и векторных полей может быть улучшена их совместным применением. Такой пример показан на рис. 8.35.
Рис. 8.35. Пример совместного применения графиков плотности и векторного поля
Этот пример иллюстрирует использование «жирных» стрелок для обозначения векторного поля. Наглядность графика повышается благодаря наложению стрелок на график плотности, который лучше, чем собственно стрелки, дает представление о плавности изменения высоты поверхности, заданной функцией f.
8.5.12. Новая функция сравнения двух зависимостей от комплексного аргумента
В пакет Plots СКМ Maple 9.5 введена новая функция для сравнения двух зависимостей f(z) и g(z) комплексного аргумента z. Функция может использоваться в нескольких формах:
plotcompare(f(z), g(z), z = a+c*I..b+d*I, options);
plotcompare(f(z) = g(z), ...);
plotcompare(f, g, a+c* I..b+d*I, options);
plotcompare(f=g, ...);
Здесь a, b, c, d - константы реального типа. Функция на одном рисунке строит графики действительной и мнимой частей зависимостей f(z) и g(z). С помощью опций можно менять цветовую гамму рисунков, их ориентацию в пространстве и др. характеристики графиков. В справке по данной функции дается множестве примеров ее применения, так что ограничимся одним, показанным на рис. 8.36.
Рис. 8.16. Пример графического сопоставления двух зависимостей от комплексного аргумента
Сравнение графиков двух зависимостей, представленных на рис. 8.36 наглядно выявляет существенные отличия этих зависимостей. Достаточно отметить, что на графиках действительных частей зависимостей в одном случае видна выпуклая, а в другом случае вогнутая поверхности. Еще сильнее отличия в графиках мнимых частей сопоставляемых зависимостей.
8.6. Динамическая графика
8.6.1. Анимация двумерных графиков
Визуализация графических построений и результатов моделирования различных объектов и явлений существенно повышается при использовании средств «оживления» (анимации) изображений. Пакет plots имеет две простые функции для создания динамических (анимированных) графиков.
Первая из этих функций служит для создания анимации графиков, представляющих функцию одной переменной F(x):
animatecurve(F, r, ...)
Эта функция просто позволяет наблюдать медленное построение графика. Формат ее применения подобен используемому в функции plot.
При вызове данной функции вначале строится пустой шаблон графика. Если активизировать шаблон мышью, то в строке главного меню появляется меню Animation. Меню Animation содержит команды управления анимацией. Такое же подменю появляется и в контекстном (рис. 8.37).
Рис. 8.37. Пример анимационного построения графика функцией animatecurve
Указанное подменю содержит следующие команды анимации:
• Play — запуск построения графика;
• Next — выполнение следующего шага анимации;
• Backward/Forward — переключение направления анимации (назад/вперед);
• Faster — ускорение анимации;
• Slower — замедление анимации;
• Continiuus/Single cycle — цикличность анимации.
При исполнении команды Play происходит построение кривой (или нескольких кривых). В зависимости от выбора команд Faster или Slower построение идет быстро или медленно. Команда Next выполняет один шаг анимации — построение очередного фрагмента кривой. Переключатель Backward/Forward позволяет задать направление построения кривой — от начала к концу или от конца к