Анимации / Animations
Наиболее крутая графика Maple – это анимации.
Рассмотрим два примера для простой волны. Формула распространяющейся волны Команда animate покажет, как работает эта формула. Сначала зададим численные значения A, k,
, затем анимируем функцию, рисуя много графиков в последовательные промежутки времени, как в кино.
Предупреждение: при выполнении этой группы команд вначале появится статический, а не анимированный график. Чтобы запустить движение, щелкните на нем, а затем воспользуйтесь элементами управления, которые появятся на панели управления (значок «воспроизведение», как на плеере). Посмотрите назначение значков управления анимацией, найдите значок повторного циклического воспроизведения.
- restart:with(plots):
- A:=1.5;k:=3*Pi/2.;omega:=Pi/2.;
- animate(A*cos(k*x-omega*t),x=0..20,t=0..20,numpoints=50,
frames=10);
Задача 2.4
В предыдущей задаче измените команду animate так, чтобы функция была глаже по х и по времени и запускалась бы с другими параметрами numpoints и frames. С помощью анимации покажите, что скорость движения верхушки волны (фазовая скорость) изменяется как Покажите, что изменение знака k изменяет направление движения волны.
Задача 2.5
В предыдущей задаче измените анимацию так, чтобы рисовалась стоячая волна: Используйте диапазон x, в котором стоячая волна имеет три нуля между конечными точками и концы ее фиксированы.
Задача 2.6
С помощью анимации покажите, что сумма двух распространяющихся в противоположных направлениях волн равной амплитуды есть стоячая волна.
В добавление к элементарным свойствам волн анимация может иллюстрировать более сложное поведение волновых пакетов, для рассмотрения которого нужно применять понятия групповой скорости и диффузии (расплывания) волнового пакета.
Волновой пакет создается так: берется набор волн вида с разными k, которые складываются как в разделе о Фурье-анализе при рассмотрении принципа неопределенности. Чтобы создать в пространстве волновой пакет с длиной 2π/k0 и шириной
x, делаем то же самое с k, используя амплитудную функцию A(k) с центром в k0 и шириной
k. Новым является то, что пакет движется и странным образом переливается. Его поведение определяется дисперсионным соотношением
для складывающихся волн.
Начнем с простейшего случая и продолжим работать, пока не появятся странности, не являющиеся математическим курьезом. Каждый показанный ниже эффект физически реален в некоторых электромагнитных волнах, обнаруженных в плазме, окружающей Солнце и планеты нашей Солнечной системы.
Пусть дисперсионные соотношения будут такими же, какие управляют светом и звуком: где
– фазовая скорость волн. Тогда каждая волна в суперпозиции движется с той же скоростью, что и остальные, т. е. каждая часть волнового пакета движется со скоростью
, что видно в примере ниже.
Определим дисперсионное соотношение:
- v:=1;w:=k->k*v;
- ko:=1;A:=k-> exp(-(k-ko)^2*40);
Посмотрим на волновой пакет при t=0:
- f:=(x,t)->
sum(sin((ko-.5+n/40)*x-w(ko-.5+n/40)*t)*A(ko-.5+n/40),n=0..40); - with(plots):plot(f(x,0),x=-60..60);
Теперь запустим анимацию:
- animate(f(x,t),x=-60..60,t=0..180,frames=80,numpoints=400,
color=navy);
Нелинейные дисперсионные соотношения (т. е. не как выше) дают более интересные вещи.
Первое: волны в пакете и пакет как целое более не движутся с одной скоростью.
Попробуем новые дисперсионные соотношения вида:
.
В Фурье-анализе можно показать, что гребень волны движется с фазовой скоростью а пакет как целое – с групповой скоростью
(a) Найдите фазовую и групповую скорости для введенного в этой задаче дисперсионного соотношения. Выберите k = k0 и получите и
как функции параметра a. В группе Maple для первой части задачи измените дисперсионные соотношения и запустите ее с a = 1. Постарайтесь увидеть, что гребни волны движутся медленнее, чем волновой пакет как целое (увидите гребни волн, которые как бы движутся назад сквозь пакет, потому что групповая скорость больше фазовой скорости). Для этого придется замедлить анимацию с помощью элементов управления на панели. Перейдите в непрерывный режим воспроизведения и подгоните время моделирования: оно должно продолжаться достаточно долго, чтобы групповая скорость покрывала расстояние от x = 0 до x = 60.
Предупреждение: будьте терпеливы, так как это длительный процесс.
(b) Теперь нечто действительно необычное. Выберите a так, чтобы групповая скорость была нулевой, и снова запустите анимацию. Пакет должен стоять на месте, а гребень волны – двигаться через него.
(c) В части (b) окажется, что волновой пакет немного изменяет форму, хотя не движется сколько-нибудь значительно. Причина в том, что из-за диффузии он может расплываться во времени, в точности как из-за термической диффузии расплывается малое пятно горячего масла на металле. Для расплывающегося волнового пакета коэффициент диффузии пропорционален амплитуде второй производной (по k) от дисперсионного соотношения. То есть если вторая производная дисперсионного соотношения = 0, то с течением времени волновой пакет расплывется. Увидеть это можно, запустив анимацию на достаточно долгое время, порядка нескольких значений величины где
k – ширина A(k) (т. е. FWHM), чтобы влияние стартового эффекта стало реально меньше. Рассчитайте
" и проверьте, что онa ≠ 0, а затем запустите анимацию надолго, чтобы увидеть расплывание.
(d) Придумайте дисперсионное соотношение, которое имеет положительную фазовую скорость и отрицательную групповую скорость, и проверьте его работу, изменив параметры и запустив анимацию.