前回は回転のアニメーションを動画化する方法を検討。ただね、「回転のアニメーション」表示のXcosモデル、単純なアニメーションなんだけれども、ちょっと煩雑な前処理が必要なところにちょいと不満があります。複数個の回転を扱うときなどメンドイです。そこで今回は定型的な前処理部分をスーパーブロック化。1個の箱に押し込めてみます。
※「ブロックを積みながら」投稿順 index はこちら
※動作確認にはWindows 11の パソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。
Scilab 2024.0.0
Super Block
以下がSuper BlockのHelpページです。
一応日本語ヘルプページの配下に置かれているページなのだけれども残念ながら日本語化はされとりません。Scilab素人老人が見るに、Super Blockは、Xcosのフローモデルの階層化のためのブロックです。サブルーチンみたいなもん。知らんけど。
Super Blockを配置して、それをクリクリするとブロック編集画面、最初はデフォルトで入力ポート、出力ポート1個だけ置かれている、が現れるのでその中に下の階層に押し込めたいフローを書き入れます。必要に応じて入力ポート、出力ポートは増やします。ポートには番号ついていますが、Super Blockの左辺の上から入力ポート1番から下へ向かって番号増、右辺の上から出力ポート1番から下へ向かって番号増、ということになるみたいです。
今回Super Block内に押し込めるブロックども
このところ何度か使ってきた「回転のアニメーション」表示のXcosモデルが以下に。
中央で赤枠で囲った部分、右のBARXYブロックで、「角度から」回転のアニメーションをするのに漏れなくついてきてしまう「前処理の定型回路」っす。複数の回転軸があったりするとそれ毎にこ奴らが増殖するのは耐えられませぬ。およよ。
Super Block化
Super Block化は結構簡単です。Super Blockセルをターゲットのフローにおいて、そのセルを開いて内部に「押し込める奴ら」を配置するだけ。今回は元のフローがあったので、コピペでお楽。
Super Block化後のフロー
上記Super Blockで置き換えた後の全体フローが以下に。
赤枠だった部分が一個のSuper Blockになりました。ちょっとは見通しよくなった?気分だが。