Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Самоучитель по Maple.docx
Скачиваний:
258
Добавлен:
08.03.2016
Размер:
17.32 Mб
Скачать

9. Графики типа трехмерного поля из векторов

Графики типа трехмерного поля из векторов

Наглядность ряда графиков можно существенно увеличить, строя их в трехмерном представлении. Например, для такого построения графиков полей из векторов можно использовать графическую функцию fieldplot3d. В отличие от функции fieldplot она строит стрелки как бы в трехмерном пространстве (рис. 12.8).

Рис. 12.6.Построение графика- «улитки»

Рис. 12.7.Фигура «цепи», построенная с применением функции tubeplot

Рис. 12.8. Построение поля в трехмерном пространстве с помощью векторов

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

9.gif

27.gif

28.gif

10. Контурные трехмерные графики

Контурные трехмерные графики

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

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

Рис. 12.9.График поверхности с контурными линиями

10.gif

11. Техника визуализации сложных пространственных фигур

Техника визуализации сложных пространственных фигур

Приведенные выше достаточно простые примеры дают представление о высоком качестве визуализации геометрических фигур с помощью пакета plots. Здесь мы рассмотрим еще несколько примеров визуализации трехмерных фигур. Многие видели катушки индуктивности, у которых провод того или иного диаметра намотан на тороидальный магнитный сердечник. Некую математическую абстракцию такой катушки иллюстрирует рис. 12.10.

В документе рис. 12.10 для функции tubeplot использовано довольно большое число параметров. Не всегда их действие очевидно. Поэтому на рис. 12.11 показано построение трех взаимно пересекающихся торов с разными наборами параметров. Этот рисунок дает также наглядное представление о возможности построения нескольких графических объектов (представленных функциями pi, р2 и рЗ) с помощью функции tubeplot.

Рис. 12.10.Тор с обмоткой — толстой спиралью

Рис. 12.11.Три пересекающихся тора с разными стилями построения

Наконец, на рис. 12.12 показано построение тора с тонкой обмоткой. Рекомендуется внимательно посмотреть на запись функции tubeplot в этом примере и в примере, показанном на рис. 12.11. Можно также поэкспериментировать с управляющими параметрами графика, от которых сильно зависят его представительность и наглядность.

Рис. 12.12.Тор с тонкой обмоткой

В ряде случаев наглядно представленные фигуры можно строить путем объединения однотипных фигур. Пример графика подобного рода представлен на рис. 12.13. Здесь готовится список графических объектов s, смещенных по вертикали. С помощью функции display они воспроизводятся на одном графике, что повышает реалистичность изображения.

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

Наглядность таких графиков, как графики плотности и векторных полей может быть улучшена их совместным применением. Такой пример показан на рис. 12.14.

Рис. 12.13.Построение фигуры, напоминающей шину автомобиля

Рис. 12.14. Пример совместного применения графиков плотности и векторного поля

Этот пример иллюстрирует использование «жирных*- стрелок .для обозначения векторного поля. Наглядность графика повышается благодаря наложению стрелок на график плотности, который лучше, чем собственно стрелки, дает представление о плавности изменения высоты поверхности, заданной функцией.

25.gif

34.gif

35.gif

36.gif

37.gif

12. Техника анимирования графиков

Техника анимирования графиков

Анимация двумерных графиков

Визуализация графических построений и результатов моделирования различных объектов и явлений существенно повышается при использовании средств «оживления» "(анимации) изображений. Пакет plots имеет две простые функции для создания анимированных графиков.

Первая из этих функций служит для создания анимации графиков, представляющих функцию одной переменной F(x):

animatecurve(F, r, ...)

Эта функция просто позволяет наблюдать медленное построение графика. Формат ее применения подобен используемому в функции plot. При вызове данной функции вначале строится пустой шаблон графика. Если активизировать шаблон мышью, то в строке главного меню появляется меню Animation. Меню Animation содержит команды управления анимацией. Такое же подменю появляется и в контекстном (рис. 12.15). Указанное подменю содержит следующие команды анимации:

  • Play — запуск построения графика;

  • Next — выполнение следующего шага анимации;

  • Backward/Forward — переключение направления анимации (назад/вперед);

  • Faster — ускорение анимации;

  • Slower — замедление анимации;

  • Continiuus/Singlecycle — цикличность анимации.

При исполнении команды Play происходит построение кривой (или нескольких кривых). В зависимости от выбора команд Faster или Slower построение идет быстро или медленно. Команда Next выполняет один шаг анимации -построение очередного фрагмента кривой. Переключатель Backward/Forward позволяет задать направление построения кривой - от начала к концу или от конца к началу. Построение может быть непрерывным или циклическим в зависимости от состояния позиции Continiuus/Singlecycle в подменю управления анимацией. При циклической анимации число циклов задается параметром frames=n.

Рис. 12.15. Пример анимационного построения графика функцией animatecurve

11.gif