How to | アニメーションをインポートしたりエキスポートしたりする方法
| Mathematica 内でアニメーションを作成したり編集したりしてから,それを別のプログラムで使うようにエキスポートすることが可能である.Mathematica ではさまざまな形式でアニメーションをインポートしたりエキスポートしたりすることができる. | |
以下は,完全な
「How to」スクリーンキャスト からの例題のいくつかである.
Mathematica ドキュメントのExampleDataディレクトリにあるQuickTimeファイルの中で,
Importに使用できる要素を見る:
| Out[1]= |  |
QuickTimeファイルをアニメーションとしてインポートする:
| Out[2]= |  |
Lengthを使ってアニメーションの中にいくつフレームが含まれているかを調べる:
| Out[38]= |  |
| Out[35]= |  |

を使ってリストのフレームをすべてインポートする.

の代りに

を使っても同じことが行える:
ImageResizeを
Scaledと一緒に使って,各フレームをもとの大きさの半分にする:
ListAnimateを使って,処理されたフレームから新しいアニメーションを作成する:
| Out[29]= |  |
新しいアニメーションをFlashに基づいた形式であるSWFにエキスポートする.

の記号は最後の出力(この場合はアニメーション)を指す:
| Out[11]= |  |
エキスポートされたアニメーションを開くと,機能しないコントロールが上の部分に含まれていることが分かる.アニメーションは,基本的に映画の映画である.エキスポートしたアニメーションからこれらのコントロールを削除するには,フレームのリストをアニメーションがサポートするファイル形式に直接エキスポートするだけでよい.
以下では,フレーム(記号g3に保存される)のリストは,直接SWFにエキスポートされる:
| Out[12]= |  |
Mathematica で作成したアニメーションのインポートとエキスポートを行うこともできる.
まず,
Tableを使って,

である5つの

のプロットを作成する:
| Out[3]= |  |
ListAnimateを使ってプロットのリストからアニメーションを作成する:
| Out[4]= |  |
上と同じように,フレーム(この場合はプロット)のリストをアニメーションで使う用にサポートされたファイル形式に直接エキスポートすることによって,フレームのアニメーションを作成する:
| Out[29]= |  |
一旦アニメーションがエキスポートされると,
Mathematica にそれをもう一度インポートし直すこともできる:
| Out[30]= |  |
Manipulateのオブジェクトをアニメーションとしてエキスポートすることもできる.
Manipulateを
Plot3Dと一緒に使って,

の値が0から4まで変化する

のインタラクティブな3Dプロットを作成する:
| Out[66]= |  |
次の3つのステップは,コントロール等も含めて
Manipulateオブジェクト全体をアニメーションにエキスポートする方法に等しい.
以下では,最後の出力(この場合は
Manipulateオブジェクト)をエキスポートする:
| Out[67]= |  |
Manipulateは

にも保存されているので,

をエキスポートしても同じ結果が得られる:
| Out[68]= |  |
| Out[69]= |  |
3つのアニメーション

,

,

はまったく同じものである.また,これらのアニメーションは
Mathematica の
Manipulateオブジェクトに典型的なフレームとコントロールを含む.
フレームやコントロールを含まないアニメーションをエキスポートするには,
Manipulateで使うのに適切な数の刻み幅を表すグラフィックスのリストを生成してから,そのリストをアニメーションで使われるファイル形式にエキスポートする.
例えば,
Tableを使って

のリストプロットを作成し,

が0.2の刻み幅で0から4まで動くことを指定する:
グラフィックスのリストをファイル

にエキスポートする:
| Out[71]= |  |
Tableで使われた刻み幅を小さくすることによって,より長く滑らかなアニメーションを作ることができる.例えば,刻み幅を0.2から0.1に減らすと,リスト中に2倍の数のプロットができ,結果としてアニメーションとしてエキスポートしたときに2倍の数のフレームが作られる.
それに比例して,アニメーションのファイルサイズと
Mathematica がプロットとアニメーションを作成するのにかかる時間も約2倍になる.