読者です 読者をやめる 読者になる 読者になる

4次元の回転行列

こんにちは、株式会社CFlatです。

前回は下図のように4次元超立方体を2次元ディスプレイに表示しました。
今回は4次元超立方体を回転させてみます。

zw平面で回転

次元がいくつ増えても、ある平面を回転するだけなら回転行列の算出は難しくありません。
下図のようにx = 0, y = 0のzw平面上で考えた場合、

( 0, 0, 1, 0 )が( 0, 0, cosθ, sinθ)へ移動し、( 0, 0, 0, 1 )が( 0, 0, -sinθ, cosθ)へ移動し、
( 1, 0, 0, 0 )と( 0, 1, 0, 0 )が移動しないような4*4の行列を作れば良いので下記のようになります。

R = \left(\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & cos\theta & -sin\theta \\ 0 & 0 & sin\theta & cos\theta \\ \end{array} \right)

この回転行列を用いて、4次元超立方体を永遠と回転させたgifが下記になります。

回転運動というよりも、振動に見えますね。
これは円運動の射影が単振動になる理屈とイメージが近いと思います。

wx平面で回転

続いてwx平面で回転させてみましょう。zw平面の回転と同様に考えると、
( 0, 0, 0, 1 )が( sinθ, 0, 0, cosθ)へ移動し、( 1, 0, 0, 0 )が( cosθ, 0, 0, -sinθ )へ移動し、
( 0, 1, 0, 0 )と( 0, 0, 1, 0 )が移動しないような4*4の行列を作れば良いので下記のようになります。

R = \left(\begin{array}{cccc} cos\theta & 0 & 0 & sin\theta \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ -sin\theta & 0 & 0 & cos\theta \\ \end{array} \right)

この回転行列を用いて、4次元超立方体を永遠と回転させたgifが下記になります。

先ほどと違って回転しているイメージが湧き易くなりました。

終わりに

2通りの回転を試してみましたが、前回作った下記の変換行列が色々と潰してしまうので、
今回も見づらい図になってしまいました。

A = \left(\begin{array}{cccc} 1 & 0 & 0.5 & 0.75 \\ 0 & 1 & 0.5 & 0.75 \\ \end{array} \right)

このブログのPVが増えれば、見やすい変換の続編を作成するかもしれません。