
- •Визуализация сложных объектов. Построение анимированных графиков Общая характеристика пакета plots
- •Техника визуализации сложных пространственных фигур
- •Техника анимирования графиков. Анимация двумерных графиков
- •Проигрыватель анимированной графики
- •Построение двумерных анимированных графиков
- •Построение трехмерных анимационных графиков
- •Анимация с помощью параметра insequence
Проигрыватель анимированной графики
При включенном выводе панели форматирования во время анимации она приобретает вид панели проигрывателя клипов (рис. 12.15). Эта панель имеет кнопки управления с обозначениями, принятыми у современных магнитофонов:
1. Поле координат перемещающейся точки графика.
2. Остановка анимации.
3. Пуск анимации.
4. Переход к следующему кадру (фрейму).
5. Установка направления анимации от конца в начало.
6. Установка направления анимации из начала в конец (по умолчанию).
7. Уменьшение времени шага анимации.
8. Увеличение времени шага анимации.
9. Установка одиночного цикла анимации.
10. Установка серии циклов анимации.
Нажав кнопку пуска (с треугольником, острием обращенным вправо), можно наблюдать изменение вида кривой для функции sin(x)/(x). Другие кнопки управляют характером анимации.
Построение двумерных анимированных графиков
Более обширные возможности анимации двумерных графиков обеспечивает функция animate:
ammate(F, х, t)
animate(F,x, t, о)
В ней параметр х задает пределы изменения переменной х, а параметр t — пределы изменения дополнительной переменной t. Суть анимации при использовании данной функции заключается в построении серии кадров (как в мультфильме), причем каждый кадр связан со значением изменяемой во времени переменной t. Если надо явно задать число кадров анимации N, то в качестве о следует использовать frame=N.
Рисунок 12.16 показывает применение функции animate.
Рис. 12.16. Анимация функции sin(i*x)/(i*x) на фоне неподвижной синусоиды
В документе рис. 12.16 строятся две функции — не создающая анимации функция sin(x) и создающая анимацию функция sin(i*x)/(i*x), причем в качестве переменной t задана переменная i. Именно ее изменение и создает эффект анимации. Проигрыватель анимационных клипов и меню, описанные выше, могут использоваться для управления и этим видом анимации. Обратите внимание на вызов графических функций в этом примере командой with и на синтаксис записи этих функций.
К сожалению, картинки в книгах всегда неподвижны и воспроизвести эффект анимации невозможно. Можно лишь представить несколько текущих кадров анимации. Представленная на рис. 12.16 картина соответствует последнему кадру анимации.
Еще один пример анимации представлен на рис. 12.17. Этот документ показывает кадр анимированного процесса улучшения приближения синусоидальной функции рядом с различным числом членов (и порядком последнего члена ряда). Результирующая картина, изображенная на рис. 12.17, показывает как приближаемую синусоидальную функцию, так и графики всех рядов, которые последовательно выводятся в ходе анимации.
Рис. 12.17. Анимационная демонстрация приближения синусоиды рядом с меняющимся числом членов
Построение трехмерных анимационных графиков
Аналогичным образом может осуществляться и анимирование трехмерных фигур. Для этого используется функция animate3d:
animate3d(F,x,y,t,o)
Здесь F — описание функции (или функций); х, у и t — диапазоны изменения переменных х, у и t Для задания числа кадров N надо использовать необязательный параметр о в виде frame=N.
На рис. 12.18 показано построение анимированного графика. После задания функции, график которой строится, необходимо выделить график и запустить проигрыватель, как это описывалось для анимации двумерных графиков.
Рис. 12.18. Подготовка трехмерного анимационного графика
На рис. 12.18 показано также контекстное меню поля выделенного графика. Нетрудно заметить, что с помощью этого меню (и содержащихся в нем подменю) можно получить доступ к параметрам трехмерной графики и выполнить необходимые операции форматирования, такие как включение цветовой окраски, выбор ориентации фигуры и т. д.
Назначение параметров, как и средств управления проигрывателем анимационных клипов, было описано выше.