Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

playAnimation

MATLAB Figure ウィンドウでアニメーション オブジェクトを再生

説明

playAnimation はアニメーション オブジェクトを MATLAB® Figure ウィンドウで再生します。アニメーション オブジェクトは関数 fanimator を使用して作成しなければなりません。

既定では、変数 t = sym('t') はアニメーション オブジェクトの時間パラメーターです。playAnimation は、t の 0 から 10 までの範囲で、t の単位間隔あたりのフレーム数を 10 としてアニメーションを再生します。

playAnimation(fig) はアニメーション オブジェクトを Figure fig で再生します。

playAnimation(___,Name,Value) は、指定された Name,Value のペアの引数を使用して、アニメーション オブジェクトを再生します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。

すべて折りたたむ

最初に、fanimatorを使用して、移動する円のアニメーション オブジェクトを作成します。

2 つのシンボリック変数 tx を作成します。変数 t はアニメーションの時間パラメーターを定義します。t を使用して円の中心を (t,1) に設定し、x を使用して [-pi pi] の範囲内で円の周囲長をパラメーター化します。x 軸と y 軸が同じ長さになるように設定します。

syms t x
fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi])
axis equal

次に、コマンド playAnimation を入力してアニメーションを再生します。

既定では、playAnimation は、t の 0 から 10 までの範囲で、単位時間あたりの生成フレーム数を 10 としてアニメーションを再生します。

2 つのシンボリック変数 tx を作成します。変数 t はアニメーションの時間パラメーターを定義します。

syms t x

fanimatorを使用して、円のアニメーション オブジェクトを作成します。t を使用して円の中心を (t,1) に設定し、x を使用して [-pi pi] の範囲内で円の周囲長をパラメーター化します。x 軸と y 軸が同じ長さになるように設定します。

fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi])
axis equal

関数textを使用して、経過時間をカウントするテキストを追加します。num2strを使用して時間パラメーターを文字列に変換します。

hold on
fanimator(@(t) text(9,3,"Timer: "+num2str(t,2)))
hold off

既定では、playAnimation は、t の 0 から 10 までの範囲で、単位時間あたりの生成フレーム数を 10 としてアニメーションを再生します。'AnimationRange' プロパティを使用して、時間パラメーターの範囲を [4 8] に変更します。'FrameRate' プロパティを使用して、単位時間あたりのフレーム レートを 4 に変更します。次のコマンドを入力して現在の Figure でアニメーションを再生します。

playAnimation(gcf,'AnimationRange',[4 8],'FrameRate',4)

UI Figure を作成します。Figure の UI 軸を指定します。

fig = uifigure;
ax = uiaxes(fig);

Figure contains an axes object. The axes object is empty.

アニメーション オブジェクトを、fanimator を使用して UI 軸に追加します。2 つのシンボリック変数 xt を作成します。[0 3] の区間内で時間 t の関数として指数的に大きくなる曲線をプロットします。

syms x t;
fanimator(ax,@fplot,exp(x),[0 t],'r','AnimationRange',[0 3])

Figure contains an axes object. The axes object contains an object of type functionline.

コマンド playAnimation(fig) を入力して UI Figure fig でアニメーションを再生します。代わりに、コマンド playAnimation(ax.Parent) を使用することもできます。

入力引数

すべて折りたたむ

ターゲット Figure。Figure オブジェクトとして指定します。Figure オブジェクトの詳細については、figure を参照してください。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は関係ありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: 'Backwards',true,'FrameRate',25

アニメーションの時間パラメーターの範囲。2 要素の行ベクトルとして指定します。2 要素は増加する実数値でなければなりません。

例: [-2 4.5]

フレーム レート。正の値で指定します。フレーム レートは、アニメーション オブジェクトを再生するときの単位時間あたりのフレーム数を定義します。

例: 30

逆方向オプション。logical 値 (boolean) として指定します。true オプションを指定した場合、関数はアニメーションを逆方向に再生します。

例: true

速度係数。実数の非ゼロ値として指定します。速度係数は、アニメーション時間パラメーターの 1 単位間隔に、クロック時間の 1 秒という比率を設定します。

  • 'SpeedFactor' に負の値を指定し、'Backwards' オプションを既定値 0 (false) のままにした場合、関数は指定された速度係数を使用してアニメーションを逆方向に再生します。たとえば、playAnimation('SpeedFactor',-1)playAnimation('Backwards',true) と同じアニメーションを起動します。

  • 'SpeedFactor' にゼロ値を指定した場合、playAnimation('SpeedFactor',0) は静止したフレームを無制限に起動し、アニメーションは再生しません。

例: 2

ヒント

  • fplotのようなプロット関数を使用してグラフを作成する場合、MATLAB は一連のグラフィックス オブジェクトを作成します。その後、関数 fanimator および関数 playAnimation を使用して、グラフィックス オブジェクトの特定のプロパティをアニメーション化できます。関数 title および関数 xlabel などの一部の関数は、アニメーション化できないテキスト オブジェクトを作成することに注意してください。代わりに、関数 text を使用して、アニメーション化できるテキスト オブジェクトを作成します。

バージョン履歴

R2019a で導入