Chapter Thirty-six

第36話



前回は全体像の紹介で終わってしまったが、今回は見たい角度から見たように表示する機能についてゆっくり説明していこう。

x-yグラフは一筆書きの要領でデータを描画してくれる。描画するにはx軸の配列データとy軸の配列データをクラスターにして接続するのが基本。複数のグラフを書く場合にはクラスターの配列を作って接続する。下の例は適当にサインカーブと円を重ねて書いたものだ。

下のグラフもまったく同じで、一区切り毎にプロットを分けて、4本のグラフで書いている。分かりやすいようにプロット毎に色分けして表示してみた。実際には3本でも書けるのだが、後で分かりにくくなるので4個に分けることにした。

データ領域のMax, Minデータから上の4つのブロックを意識してx成分の配列、y成分の配列、z成分の配列をつくってクラスターでまとめた。フォーループの中のケース構造でデータを選びとって配列にすることにしたが、もっとスマートに作ることはできないものか、と考えてしまう部分だ。

このデータを回転させてx成分とz成分を抜き出してブロック毎にグラフデータを作っていく。

この中のRotateFigure@GCはデータ領域の中心(重心)で回転させるサブVIだ。下のダイアグラムで、GCに重心の座標を入力すると重心が原点に来るように移動して、マトリクスをかけてから元に戻している。

次に回転マトリクスの作り方を紹介しよう。下のダイアグラムは回転軸と回転角度を指定すると回転マトリクスを出力するサブVIだ。3×3のマトリクスにCos,Sin,-Sin,0,1を配置していけば良いので、ケース構造を使って回転軸毎に配列の要素を変えている。

回転を合成して一つのマトリクスにまとめる時には演算の順序を意識しておく必要がある。ベクトルの左側から作用させるので、後ろからZ軸、y軸、x軸のマトリクスになるようにした。

単純に見たい角度から見たように表示するだけならば下のような簡単なダイアグラムで、できあがりだ。

次回はカーソルに追従する方法について紹介しよう。

See you!


Nigel Yamaguchi

戻る