How to| 导入与导出动画

Mathematica 中创建或编辑了一个动画后, 您可以将其导出用于其它程序. Mathematica 能够以多种格式导入与导出动画.

来自视频的精选范例:

Mathematica 参考资料中心 ExampleData 目录下的 QuickTime 文件中查看 Import 的可用元素:

In[1]:=
Click for copyable input
Out[1]=

Import 导入作为动画的 QuickTime 文件:

In[2]:=
Click for copyable input
Out[2]=

Length 查看动画总帧数:

In[38]:=
Click for copyable input
Out[38]=

Import 导入一个指定的动画帧:

In[35]:=
Click for copyable input
Out[35]=

使用 将所有帧导入为一个列表. 用 代替 ,也可完成同一任务:

In[7]:=
Click for copyable input

ScaledImageResize 联用,使各帧的尺寸成为原始尺寸的一半:

In[27]:=
Click for copyable input

Sharpen 将各帧锐化:

In[28]:=
Click for copyable input

ListAnimate 将处理后的各帧制成新的动画:

In[29]:=
Click for copyable input
Out[29]=

Export 将得到的新动画导出为 SWF 格式,这是一种基于 Flash 的格式. 符号 指定的是最近的输出,在这里就是这个动画:

In[11]:=
Click for copyable input
Out[11]=

如果打开导出的动画,您将看到它的顶端包含无功能的控件. 该动画实际上是一个动画的动画. 如要将这些控件从导出的动画去除,只需将帧列表直接导出为动画所支持的一种文件格式.

这里,帧列表(存储在符号 中)直接导出为 SWF:

In[12]:=
Click for copyable input
Out[12]=
    

您也可以将 Mathematica 中创建的动画进行导入与导出.

首先,使用 Table 创建 分别在 的5幅图形:

In[3]:=
Click for copyable input
Out[3]=

使用 ListAnimate 将该图形列表制成动画:

In[4]:=
Click for copyable input
Out[4]=

如前所述,直接将帧列表(在这里为图形)导出为动画所支持的文件格式创建了各帧的动画::

In[29]:=
Click for copyable input
Out[29]=

动画导出后,您也可以将其重新导入 Mathematica

In[30]:=
Click for copyable input
Out[30]=
    

还可将 Manipulate 对象导出为动画.

ManipulatePlot3D 联合使用创建 的一个三维交互图形,其中 的值从0到4变化:

In[66]:=
Click for copyable input
Out[66]=

接下来的三步等价于将整个 Manipulate 对象及控件等导出为一个动画.

这里导出了最近的输出,即 Manipulate 对象:

In[67]:=
Click for copyable input
Out[67]=

Manipulate 也存入 中,因此导出 生成相同的结果:

In[68]:=
Click for copyable input
Out[68]=

您也可以将 Manipulate 表达式置于 Export 表达式内:

In[69]:=
Click for copyable input
Out[69]=

动画 是相同的. 同时它们含有Mathematica 中的 Manipulate 对象通常所有的组帧与控件.

如要导出的动画缺少组帧或控件,您需要生成一个图形列表,它表示的是用于 Manipulate 中的适当数目的步骤,然后将该列表导出为一种用于动画的文件格式.

例如,用 Table 创建 的一列图形,并指定 从0到4移动,步长为0.2:

In[70]:=
Click for copyable input

将该图形列表导出至文件

In[71]:=
Click for copyable input
Out[71]=

通过减小用于 Table 中的步长,可以创建更长、更平滑的动画. 例如,将步长由0.2减为0.1将使列表中的图形数目加倍,从而在导出为动画时它的帧数也成为原来的两倍.

相应地,动画的文件尺寸,以及 Mathematica 创建图形和动画所用的时间也将是原来的大致两倍.

New to Mathematica? Find your learning path »
Have a question? Ask support »