Иллюстрированный самоучитель по Mathematica



              

Расширения графики— пакет Graphics - часть 2


Но для анимации это недопустимо, поэтому опцией PlotRange задан фиксированный масштаб для всех кадров анимации. Выполнив показанные на рис. 14.1 команды, можно наблюдать построение всех кадров — для n = 0.1,0.2,0.3,..., 1. 0. Первые три кадра анимации видны на рис. 14.1 снизу.

Теперь для наблюдения анимации достаточно двойным щелчком выделить первый рисунок. Будет видна быстрая смена кадров. Остановить анимацию и снова запустить ее можно нажатием клавиш Ctrl+Y. При выполнении анимации внизу окна документа появляются кнопки анимационного проигрывателя (рис. 14.2).

Рис. 14.1. Демонстрация графика функции n*Sin[x]/x, меняющейся по высоте

Рис. 14.2. Стоп-кадр анимации графика функции n*Sin[x]/x

Проигрыватель имеет мнемонику кнопок, подобную мнемонике бытовых проигрывателей видеодисков. Есть кнопки пуска и остановки, реверса проигрывания, замедления и ускорения проигрывания. Последние особенно важны, поскольку на современных компьютерах анимация рисунков происходит слишком быстро и лишь ее замедление позволяет обеспечить хорошую визуализацию данного процесса. Число кадров анимации не должно быть меньше 8-10, иначе вместо плавного движения будут видны резкие скачки изображения.

Следующий пример иллюстрирует анимацию графика с параметрическим заданием функции:

ShowAnimation[Table[ Graphics[Line[{{0 0},

{Cos[t], Sin[t]}}], PlotRange -> {{-1, 1}, {-1, 1}}],

{t, 0, 2Pi, Pi/8}]]

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

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

Рис. 14.3. Подготовка к анимации сложной трехмерной поверхности

Обратите внимание на применение функций Show и Graph!csArray для построения на одном графике сразу всех кадров (фаз) анимации.


Содержание  Назад  Вперед