Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
8.11.3. Визуализация всех фаз анимации разложения импульса в ряд Фурье
Можно ли наблюдать одновременно все фазы анимации? Можно! Для этого достаточно оформить анимационную картину, созданную функцией animate, в виде отдельного графического объекта, например, g, после чего можно вывести все его фазы оператором display. Это и иллюстрирует рис. 8.68. На этот раз задано f(x)=signum(x-1/2) и N=25. Таким образом, рассматриваются симметричные прямоугольные импульсы — меандр. У каждого рисунка координатные оси с делениями удалены параметром axes=none.
Рис. 8.68. Иллюстрация получения всех кадров анимации двумерного графика
Любопытно отметить, что при определенных числах гармоник связанная с колебательными процессами неравномерность вершины импульса резко уменьшается. Наблюдение этого явления и является наиболее интересным и поучительным при просмотре данного примера.
При внимательном просмотре рис. 8.68 заметно, что, после некоторого периода установления, фазы анимационной картинки практически повторяются. Это связано с известным обстоятельством — установившийся спектр меандра содержит только нечетные гармоники. Поэтому, к примеру, вид спектрального разложения при 22 гармониках будет тот же, что и при 21 гармонике, при 24 гармониках тот же, что при 23 и т.д. Однако, эта закономерность проявляется только при установившемся (стационарном) спектре.
8.11.4. Наблюдение кадров анимации поверхности
Наблюдение за развитием поверхности производит на многих (особенно на студентов) большое впечатление. Оно позволяет понять детали создания сложных трехмерных графиков и наглядно представить их математическую сущность.
Как и для случая анимации двумерного графика, большой интерес представляет построение всех фаз анимации на одном рисунке. Делается это точно так же, как в двумерном случае. Это иллюстрирует рис. 8.69. На нем представлены 8 фаз анимации трехмерной поверхности cos(f*x*y/3), представленной функцией трех переменных t, х и у. При этом изменение первой переменной создает фазы анимации поверхности.
Рис. 8.69. Фазы анимации трехмерной поверхности
Применение анимации дает повышенную степень визуализации решении ряда задач, связанных с построением двумерных и трехмерных графиков. Следует отметить, что построение анимированных графиков требует дополнительных и достаточно существенных затрат оперативной памяти. Поэтому злоупотреблять числом стоп-кадров таких графиков не стоит.
8.11.5. Иные формы применения функций анимации
Наряду с описанной выше формой применения функций анимации animate и animate3d возможны и иные формы их применения. Ограничимся парой примеров такого применения. В приведенном ниже примере анимация импликативного графика заключается в превращении окружности в наклонный эллипс:
> with(plots) :
plots[animate](implicitplot, [х^2+А*х*y+y^2=2, x=-2..2, y=-2..2,
grid=[50,50]], A=0..1, frames=25);
Для этого задано 25 кадров (фреймов) изменения параметра А от 0 до 1. В другом примере анимация задает деформацию мембраны в виде квадрата с жестко закрепленными границами:
> plots[animate](plot3d, [sin(А)*ехр(-х^2-y^2), х=-2..2, y=-2..2],
А=0..2*Pi);
Ввиду очевидности этих примеров графики результатов их выполнения не приводятся — пользователь может просмотреть их самостоятельно.
8.12. Некоторые другие возможности графики
8.12.1. Смена осей координат, масштабирование и сдвиг графиков
Иногда возникает необходимость сменить координаты к какого-то графика или изменить масштаб по определенной оси. Первая задача может несколько озадачить пользователя. Однако она легко решается средствами графики пакета stats — см. примеры на рис. 8.70. Масштабирование и сдвиг решаются проще — введением масштабных коэффициентов и констант сдвига. Но и эти задачи еще проще решаются указанными выше средствами графики.
Рис. 8.70. Примеры смены координат и масштабирования графиков
В первом примере рис. 8.70 используется функция xyexchange(p) меняющая оси у графического объекта р. Во втором случае используется функция xscale(k,p) масштабирующая объект по оси х в k раз. А в третьем примере используется функция сдвига объекта xshift(xs,p) на расстояние xs и масштабирования zscale(k,p) в k раз по оси z. О других функциях подпакета статистической графики можно судить по названиям его функций.
8.12.2. Построение стрелок в пространстве
В пакет plots была введена новая функция построения стрелок в пространстве arrow. Она задается в виде:
arrow(u,[v,]opts)
или
arrow(U,opts)
Построение стрелок задается по одномерными массивами координат начала стрелок и их направления u и v или двумерным массивом U, которые могут быть представлены векторами, списками или множествами. Вид стрелок задается параметром opts, который может иметь значения shape, length, width, head_width, head_length или plane и задает вид стрелок (форму, длину, ширину и т.д.). Детали задания параметров можно найти в справке по данной функции. Рис. 8.71 дает наглядное представление о ее возможностях.
Рис. 8.71. Построение стрелок с помощью функции arrow
8.12.3. Построение сложных комбинированных графиков
Maple 9.5 позволяет строить достаточно сложные комбинированные графики, содержащие различные графические и текстовые объекты. Пример построения такого графика представлен на рис. 8.72.
Рис. 8.72. Пример построения сложного объекта, состоящего из 8 графических и текстовых объектов
Представленный на рис. 8.72 объект задает построение восьми графических объектов от р1 до р8. Среди них цилиндр, две пересекающие его плоскости и иные (в том числе текстовые) объекты. Обратите внимание на способ вывода этих объектов функцией display3d. Этот пример показывает, что с помощью графических программных средств Maple 9 можно строить достаточно замысловатые графики, которые могут использоваться для визуализации тех или иных геометрических и иных объектов.
8.12.4. Визуализация дифференциальных параметров кривых
Дифференциальные параметры функции f(x), описывающей некоторую кривую, имеют большое значение для анализа ее особых точек и областей существования. Так, точки с нулевой первой производной задают области, где кривая нарастает (первая производная положительна) или убывает (первая производная отрицательна) с ростом аргумента х. Нули второй производной задают точки перегиба кривой.
Для такого анализа особенно удобен новый пакет Calculus 1, включенный в пакет расширения Student. На рис. 8.73. показано применение функции FunctionChart для визуализации дифференциальных параметров кривой, которая представляет собой сложную функцию. По умолчанию анализ ведется в интервале изменения х от -10 до +10. Экстремальные точки помечаются ромбиком, точки перегиба крестиком, нули кружочками, а области кривых — заливкой цветом.
Рис. 8.73. Анализ и визуализация сложной функции, заданной функцией пользователя
Рисунок 8.73 дает наглядное представление о поведении заданной функции. Рекомендуется опробовать данную процедуру на других функциях. Следует отметить, что, поскольку процедура использует функции minimize и maximize, она может давать сбои при исследовании сложных функций, содержащих специальные математические функции или особенности. Данная процедура дает хорошие результаты при анализе функций, представленных полиномами.
Функция FunctionChart может использоваться с многочисленными опциями, существенно влияющими на вид рисунка — рис. 8.74. В данном случае анализируется функция sin(x)/x.
Рис. 8.74. Визуализация функции sin(x)/x
Визуализация функций весьма полезна в учебных целях при детальном изучении свойств той или иной функции.
8.12.5. Анимация колебаний мембраны
В ряде случаев обычная техника анимации оказывается не очень подходящей из-за ограничений на выбор опций. Такова, например, ситуация, когда желательно обеспечить анимацию с большим числом кадров сложной поверхности, освещаемой от некоторого источника света. Пример такого рода представлен на рис. 8.75.
Рис. 8.75. Задание поверхности — мембраны
На рис. 8.76 задана упругая поверхность мембраны, закрепленной по периметру. Мембрана имеет ряд выпуклостей и впадин, переходящих друг в друга. Начальный вид мембраны представлен на рис. 8.76. Там же показано контекстное меню мыши, с помощью которой можно запустить анимацию — в том числе по кадрам.
Рис. 8.76. Организация анимации мембраны и ее начальное положение