Chapter Thirty-three

第33話



今回は3D_Graph.llbの構成について調べてみよう。VI階層を見ると多くのサブVIから構成されている。

これだけではどんな役割をしているか分かりにくいので簡素化したデモ用のVIを作成した。比較のために2次元配列データを標準のインテンシティグラフと、陰線処理なしと陰線処理ありのワイヤーフレーム3次元表示をならべてみた。

DataInクラスターは2次元配列Z(x,y)INと、各要素のx座標、y座標を知るための始点、総数、間隔を使ってデータの座標指定を行っている。この中で総数は配列の大きさから知ることができるので補間処理をしないかぎり余分な情報だ。

軸を中心に回転可能な座標系にデータが乗っている状況を考えて、回転操作後に不動の座標系でデータの座標値がどうなっているかを計算するのがAFT.viだ。下にあるダイアグラムからは下位のサブVIの動作が見えないので分かりにくいが、次のような動作をしている。

Forループの外で3軸の回転角から回転マトリックスを作成する。

内側のForループの中で、各点のx,y,z座標を取り出して回転マトリックスにかける。

不動の座標系でY成分を無視してX成分とZ成分のみを3次元配列にまとめる。3次元配列の構造はデータのyがある値の時の(X,Z)の2次元配列がy0からynまで並んでいるものだ。

シフトレジスタのイニシャライズはフロントパネルで空の配列を作って接続しているが、LV2時代のテクニックをひきずった、時代を感じさせる部分だ。

Display Simple.viは3次元配列からグラフ用のデータをつくり出すサブVIだ。

3次元配列から2次元配列を切り出してデータのx成分固定のグラフとy成分固定のグラフをつくりだす。インデックスアレイの設定が命のVIだ。ここでどこに繋ぐかを間違えるとグラフはもちろんグチャグチャになる。


さて、次回は回転マトリックスの計算などをしている下位のサブVIについて調べてみよう。

See you!


Nigel Yamaguchi

戻る