MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
フレームの構造体をアニメーション オブジェクトから返す
frames = animationToFrame
frames = animationToFrame(fig)
frames = animationToFrame(___,Name,Value)
frames = animationToFrame は、フレームの構造体配列をアニメーション オブジェクトから返します。アニメーション オブジェクトは関数 fanimator を使用して作成しなければなりません。
frames
fanimator
例
frames = animationToFrame(fig) は、フレームの構造体配列を Figure fig のアニメーション オブジェクトから返します。
fig
frames = animationToFrame(___,Name,Value) は指定された Name,Value のペアの引数を使用します。このオプションは、前述の構文のすべての入力引数の組み合わせで使用できます。
Name,Value
すべて折りたたむ
移動する円のアニメーションを作成して、アニメーションの特定のフレームを返します。
まず、2 つのシンボリック変数 t および x を作成します。変数 t はアニメーションの時間パラメーターを定義します。t を使用して円の中心を (t,1) に設定し、x を使用して [-pi pi] の範囲内で円の周囲長をパラメーター化します。fanimatorを使用して、円のアニメーション オブジェクトを作成します。x 軸と y 軸が同じ長さになるように設定します。
t
x
(t,1)
[-pi pi]
syms t x fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi]) axis equal
既定では、fanimator は、t の 0 から 10 までの範囲で、単位時間あたり 10 フレームを生成してアニメーション オブジェクトを生成します。既定のアニメーション オブジェクトには合計 101 のフレームが含まれます。コマンドplayAnimationを使用してアニメーションを再生します。
playAnimation
次に、animationToFrame を使用して、アニメーション オブジェクトからフレームの構造体配列を返します。
animationToFrame
frames=1×101 struct array with fields: cdata colormap
frames 構造体には 2 つのフィールドがあります。cdata フィールドは uint8 値の配列としてイメージ データを格納します。
cdata
uint8
関数imshowを使用してアニメーション フレームを再構築します。たとえば、アニメーションの 50 番目のフレームと最後のフレームを表示します。
imshow
imshow(frames(50).cdata)
imshow(frames(101).cdata)
移動する円のアニメーション オブジェクトとタイマー アニメーション オブジェクトを作成します。生成されたアニメーション フレームを逆の順序で返します。
まず、2 つのシンボリック変数 t および x を作成します。変数 t はアニメーションの時間パラメーターを定義します。アニメーションの Figure ウィンドウを作成します。
syms t x fig1 = figure;
fanimatorを使用して、円のアニメーション オブジェクトを作成します。t を使用して円の中心を (t,1) に設定し、x を使用して [-pi pi] の範囲内で円の周囲長をパラメーター化します。x 軸と y 軸が同じ長さになるように設定します。
fanimator(@fplot,cos(x)+t,sin(x)+1,[-pi pi]) axis equal
次に、関数textを使用して、経過時間をカウントするテキストを追加します。num2strを使用して時間パラメーターを文字列に変換します。
text
num2str
hold on fanimator(@(t) text(8,3,"Timer: "+num2str(t,2))) hold off
既定では、fanimator を使用すると、単位時間あたりのフレーム数を 10 として t の範囲が 0 から 10 までのストップモーション フレームが作成されます。既定のアニメーション オブジェクトには合計 101 のフレームが含まれます。コマンドplayAnimationを使用してアニメーションを再生します。
次に、animationToFrame を使用して、Figure fig のアニメーションからフレームの構造体配列を返します。'Backwards' オプションを true に設定することで、アニメーション フレームを逆の順序で返します。単位時間あたりのフレーム レートを 2 に設定して、合計 21 のフレームを返します。
'Backwards'
true
frames = animationToFrame(fig1,'Backwards',true,'FrameRate',2)
frames=1×21 struct array with fields: cdata colormap
関数imshowを使用してアニメーション フレームを再構築します。たとえば、新しい Figure ウィンドウでアニメーションの最初のフレームと 11 番目のフレームを表示します。
fig2 = figure; imshow(frames(1).cdata)
imshow(frames(11).cdata)
Figure
ターゲット Figure。Figure オブジェクトとして指定します。Figure オブジェクトの詳細については、figure を参照してください。
figure
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
Name1=Value1,...,NameN=ValueN
Name
Value
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。
例: 'Backwards',true,'AnimationRange',[-2 5]
'Backwards',true,'AnimationRange',[-2 5]
AnimationRange
[0 10]
アニメーションの時間パラメーターの範囲。2 要素の行ベクトルとして指定します。2 要素は増加する実数値でなければなりません。
例: [-2 4.5]
[-2 4.5]
FrameRate
10
フレーム レート。正の値で指定します。フレーム レートは、アニメーション フレームを構造体配列として返す場合の単位時間あたりのフレーム数を定義します。
例: 20
20
Backwards
0
false
逆方向オプション。logical 値 (boolean) として指定します。true を指定した場合、関数はアニメーション フレームを逆方向、つまり逆の順序で返します。
例: true
アニメーション フレーム。次の 2 つのフィールドがある構造体配列として返されます。
cdata — uint8 値の配列として格納されるイメージ データ。イメージ データ配列のサイズは画面の解像度により異なります。
colormap — カラーマップ。トゥルーカラー システムでは、このフィールドは空です。
colormap
関数 animationToFrame は、アニメーション フレームの構造体を関数 getframe によって返される出力と同じ形式で返します。
getframe
R2019a で導入
playAnimation | fanimator | writeAnimation | rewindAnimation | getframe
writeAnimation
rewindAnimation
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ