Chapter Thirty-four

第34話



さて、今回は回転マトリックスの計算について調べてみよう。

「マトリックス」というとめんどうだと思う人もいるかもしれない。教科書での説明は退屈なものだが、、、実際にコンピュータに計算させると実用性を感じることができる。特にLabVIEWはマトリックス演算を気軽に実行してくれるからありがたい。

2次元の回転で簡単さを実感してみよう。手始めに、点Aをθだけ回転して点A'にしてみよう。

マトリックス計算ではベクトルA(x,y)に三角関数をつかったマトリックスを作用させるとベクトルA'(X',y')がえられる。式で書くと

LabVIEWでは2次元配列をn×mマトリックス、1次元配列はn×1あるいは1×nのマトリックスとみなしたマトリックス演算を行うことができる。

原点を中心に座標(2,1)を30度回転してみよう。


これを3次元の場合に拡張するのは簡単だ。下の図のようにx,y,z座標を考えるとz軸の周りの回転ではz成分は変化しないから基本的にはここまで説明したことと全く同じだ。

3次元に拡張した計算式は次のようになる。

ダイアグラムを3次元用に修正するのは簡単で、2次元配列"Matrix"の要素を3×3になるように追加するだけだ。

A(2,1,3)をz軸の周りに30度回転してみるとx、yは2次元で計算した値のままで、zは変化していない。

x軸の周りに回転するには、xの代わりにy、yの代わりにz、zの代わりにxという具合にひとつづつ役割を変えてやればよい。y軸の周りの回転も同様だ。


基本的には上に書いたマトリックスでデータの回転を行うことができる。3D_Graph.llbでは少し考え方が異なった、ややこしい方法で回転マトリックスを作成しているが、結果的に同様のマトリックスを得ている。

次回は3D_Graph.llbで使っている回転の指定方法をもう少し直感的なものに改良できないか考えてみよう。

See you!


Nigel Yamaguchi

戻る