Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Import and Export Animations - Wolfram Mathematica

Импорт и экспорт анимации

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

Просмотрим доступные функции Import элементы файла формата *.mov (QuickTime), размещенного в папке документации ExampleData системы Mathematica:

In[1]:=

ImportAndExportAnimationsRU_3.gif

Out[1]=

ImportAndExportAnimationsRU_4.gif

Импортируем файл QuickTime как анимацию:

In[1]:=

ImportAndExportAnimationsRU_5.gif

Out[1]=

Применим функцию Length для отображения количества кадров в анимации:

In[3]:=

ImportAndExportAnimationsRU_7.gif

Out[3]=

ImportAndExportAnimationsRU_8.gif

Импортируем определенный кадр из анимации:

In[4]:=

ImportAndExportAnimationsRU_9.gif

Out[4]=

ImportAndExportAnimationsRU_10.gif

Используем параметры {Frames,All} для импорта всех кадров в виде списка. Вы можете получить тот же самый результат, использовав параметр GraphicsList вместо списка {Frames,All}:

In[5]:=

ImportAndExportAnimationsRU_11.gif

Применим вместе функции ImageResize и Scaled для того, чтобы сделать каждый кадр наполовину меньше его первоначального размера:

In[6]:=

ImportAndExportAnimationsRU_12.gif

Применим к каждому кадру функцию Sharpen для увеличения контрастности:

In[7]:=

ImportAndExportAnimationsRU_13.gif

Наконец, воспользуемся функцией ListAnimate для создания новой анимации из обработанных кадров:

In[9]:=

ImportAndExportAnimationsRU_14.gif

Out[9]=

Экспортируем новую анимацию в файл формата SWF (файл мультимедийной платформы Adobe Flash). Символ % определяет самый последний полученный результат, которым, в данном случае, является анимация:

In[11]:=

ImportAndExportAnimationsRU_16.gif

Out[11]=

ImportAndExportAnimationsRU_17.gif

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

В данном случае, список кадров (сохраненный под именем g3) экспортируется в файл SWF напрямую:

In[12]:=

ImportAndExportAnimationsRU_18.gif

Out[12]=

ImportAndExportAnimationsRU_19.gif

    

Вы также можете импортировать и экспортировать анимацию, которую Вы создали в Mathematica.

Для начала, применим функцию Table для создания 5 графиков функции sin (a+x) , где a=1,2,3,4,5:

In[3]:=

ImportAndExportAnimationsRU_20.gif

Out[3]=

ImportAndExportAnimationsRU_21.gif

Затем, используем функцию ListAnimate для создания анимации из списка графиков:

In[4]:=

ImportAndExportAnimationsRU_22.gif

Out[4]=

Как и в предыдущем примере, экспорт списка кадров (в данном случае - графиков) напрямую в файл, поддерживающий анимацию, создает из отдельных кадров динамическое изображен ие:

In[29]:=

ImportAndExportAnimationsRU_24.gif

Out[29]=

ImportAndExportAnimationsRU_25.gif

После того, как анимация была экспортирована, Вы можете импортировать ее обратно в Mathematica:

In[30]:=

ImportAndExportAnimationsRU_26.gif

Out[30]=

    

Вы также можете экспортировать интерактивные модели, созданные функцией Manipulate, как анимацию.

Применим функцию Manipulate вместе с Plot3D для создания интерактивного 3D графика функции  sin (a+x y), где a принимает значения в диапазоне от 0 до 4:

In[66]:=

ImportAndExportAnimationsRU_28.gif

Out[66]=

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

В этом случае, в качестве второго аргумента функции Export используется символ %, обозначающий самый последний полученный результат, которы м и является интерактивная модель, созданная функцией Manipulate:

In[67]:=

ImportAndExportAnimationsRU_30.gif

Out[67]=

ImportAndExportAnimationsRU_31.gif

Интерактивная модель сохранена под именем m, поэтому экспорт m приведет к такому же результату:

In[68]:=

ImportAndExportAnimationsRU_32.gif

Out[68]=

ImportAndExportAnimationsRU_33.gif

Наконец, Вы можете поместить выражение функции Manipulate внутрь выражения функции Export:

In[69]:=

ImportAndExportAnimationsRU_34.gif

Out[69]=

ImportAndExportAnimationsRU_35.gif

Анимации manipulate1.avi, manipulate2.avi и manipulate3.avi идентичны. Они также содержат рамку и изображение элементов управления, типичных для интерактивных моделей в Mathematica.

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

В качестве примера, используем функцию Table для создания списка графиков функции sin (a+x y), и укажем, что переменная a должна изменяться от 0 до 4 с шагом 0.2:

In[70]:=

ImportAndExportAnimationsRU_36.gif

Экспортируем список полученых графиков в файл manipulate4.avi:

In[71]:=

ImportAndExportAnimationsRU_37.gif

Out[71]=

ImportAndExportAnimationsRU_38.gif

Вы можете создавать более длительную и плавную анимацию путем уменьшения размера шага, используемого функцией Table. К примеру, уменьшение размера шага с 0.2 до 0.1 увеличит число графиков в списке вдвое, что, в свою очередь, удвоит количество кадров при экспорте в анимацию.

Соответственно, размер файла анимации, равно как и время, затрачиваемое Mathematica на создание графиков и анимации, увеличится приблизительно вдвое.