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);

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

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

コマンド 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 で導入