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

Joseph Halfmoon

前回は回転のアニメーションを動画化する方法を検討。ただね、「回転のアニメーション」表示のXcosモデル、単純なアニメーションなんだけれども、ちょっと煩雑な前処理が必要なところにちょいと不満があります。複数個の回転を扱うときなどメンドイです。そこで今回は定型的な前処理部分をスーパーブロック化。1個の箱に押し込めてみます。

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

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

    Scilab 2024.0.0

Super Block

以下がSuper BlockのHelpページです。

SUPER_f

一応日本語ヘルプページの配下に置かれているページなのだけれども残念ながら日本語化はされとりません。Scilab素人老人が見るに、Super Blockは、Xcosのフローモデルの階層化のためのブロックです。サブルーチンみたいなもん。知らんけど。

Super Blockを配置して、それをクリクリするとブロック編集画面、最初はデフォルトで入力ポート、出力ポート1個だけ置かれている、が現れるのでその中に下の階層に押し込めたいフローを書き入れます。必要に応じて入力ポート、出力ポートは増やします。ポートには番号ついていますが、Super Blockの左辺の上から入力ポート1番から下へ向かって番号増、右辺の上から出力ポート1番から下へ向かって番号増、ということになるみたいです。

今回Super Block内に押し込めるブロックども

このところ何度か使ってきた「回転のアニメーション」表示のXcosモデルが以下に。toBeBLK

中央で赤枠で囲った部分、右のBARXYブロックで、「角度から」回転のアニメーションをするのに漏れなくついてきてしまう「前処理の定型回路」っす。複数の回転軸があったりするとそれ毎にこ奴らが増殖するのは耐えられませぬ。およよ。

Super Block化

Super Block化は結構簡単です。Super Blockセルをターゲットのフローにおいて、そのセルを開いて内部に「押し込める奴ら」を配置するだけ。今回は元のフローがあったので、コピペでお楽。Inside

 

Super Block化後のフロー

上記Super Blockで置き換えた後の全体フローが以下に。

BlockBased赤枠だった部分が一個のSuper Blockになりました。ちょっとは見通しよくなった?気分だが。

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

ブロックを積みながら(176) Scilab/Xcos、剛体の回転運動、単純モデル? へ進む