ブロックを積みながら(174) Scilab/Xcos、回転のアニメーション表示、動画

Joseph Halfmoon

前回はRPM(毎分の回転数)で測れるような回転のアニメーションモデルのひな型を作製しました。実時間だけでなく実時間のx倍といったスローモーションも可能っす。そうするってーと、静止画より、動画で結果を残しておきたいです。動画で残すのはどしたら一番お楽でしょうか?今回はXcosのアニメの一番お楽な動画化の件ね。

※「ブロックを積みながら」投稿順 index はこちら

※動作確認にはWindows 11の パソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。

    Scilab 2024.0.0

Scilabの動画ハンドリング

一番単純に思いつく方法は、描いたグラフ(動画)から一定の周期で静止画を切り出してそれを接続して動画形式のファイルに変換することです。もっとも原始的なパラパラ漫画式ね。Scilabのツールボックスの中には動画をサポートしているものもあります。別シリーズでお世話になっている IPCV(Image Processing and Computer Vision Toolbox for Scilab) にも動画関係の関数が含まれています。これを使えば、切り出した静止画を動画の1フレームとして追加することなども可能。処理例が以下にありました。

https://www.scilab.org/video-processing

また、こちらのツールボックスは使用したことがまだないのですが、アニメーシテッドGIFファイルを生成できるようです。小さな動画にはお楽かも。

animated GIF creator

まあ、Scilabのツールボックス類はATOMSからクリクリやっていけばインストールできるのでお楽。でも、どのくらい使えるかは使ってみないと分かりませぬ。

それにな~、Xcos上のアニメーション表示ブロックで、画面上でアニメーションされているのにまた何やらプログラム書くのはメンドイ感じがもりもりです。Xcosの出力画面をそのままキャプチャする方がなんぼか簡単。

Windows11の動画キャプチャ

良くしたもので、Windows11には漏れなく動画キャプチャ機能がついてきてます。皆大好き 「Snipping Tool」の以下のボタンです。SnippingTool

静止画をキャプチャするモード(左のカメラボタン)から動画モードに切り替えれば、動画での保存もOKです(多分著作権のあるものはダメだろうけど。今回の「グラフ」の動画保存などは問題ないと思われます。)

ただ動画はずるずるとサイズが大きくなるので、これまた漏れなくついてくる「フォト」の機能を使って時間的なトリミングを行えばよろしかろう、と。PhotoTrim

実際、Xcosの出力アニメーションをこの方法でキャプチャしたところ、お楽。すいすい動画化できまする。

スムースな動画にはXcosの設定が大事みたい

しかし、前回の設定のままで動画化してみたら、イマイチ回転がスムースでありません。ちょっとカクカク感あり。こんな感じ(左下の右三角マーク押せば動作再生されるハズ。)

もすこし滑らかにしたい場合、Xcosのシミュレーション指定をちょっといじる必要がありました。まず、シミュレーションのパラメータが以下に。paramSetting

シミュレーション時間(積分終了時間)は10秒と設定されていますが、その下の実時間スケールを20と設定しているので、20倍の200秒かかってシミュレーションが行われます。今回シミュレーションは20倍スローモーションの2秒で十分な感じの動画なのでシミュレーション期間のごく僅かな割合を動画すればよいっしょ。

上記のスローモーションの比率は維持したまま、よりスムースに「回る感じ」にするにはアニメーション表示ブロックに与えるクロックを細かくする必要があるようです。上記のちょいカクカク感のある動画では間隔0.01としてましたが、以下の設定では半分の0.005としてます。clockSetting

このように設定変更して、アニメーションのキャプチャをし直したものが以下に。

表示クロック以外の設定は同じなのだけれど、こっちの方が良い感じでないかい。

ともかくWindowsの標準機能で動画化はお楽っと。

ブロックを積みながら(173) Scilab/Xcos、回転のアニメーション表示、RPM? へ戻る

ブロックを積みながら(175) Scilab/Xcos、Super Blockおまとめ、お楽 へ進む