4次元の点を描画

|

4d01.gif

 4次元の点の位置データファイルを読み込んで、それを回転し描画するプログラムです。4次元で奥にあるものほど黒く、そして線が下に伸びるようにして、手前のものほど白く、線は上に伸びるようにしました。回転は4次元(視点の回転)でも行なっていますが、3次元への投影は正射影なので単に4次元目の要素(以下w軸とする)を無視してるだけです。

例えばここに四次元の点[3, 4, 5, 6]があったとするとw軸の要素6を無視して、3次元の点[3, 4, 5]として処理してることになります。これだと、4次元の意味がないような感じがしますが、それ以前にwを含む面(wx平面、wy平面, wz平面)での回転を行なっているので4次元の影響は出ます。

具体的にはwx平面でθ回転した場合、回転の行列変換は
[x', y', z', w'] = [x, y, z, w] *
_              _
|  cosθ  0  0 sinθ |
|   0   1   0  0   |
|   0   0   1  0   |
|_-sinθ  0  0  cosθ_|

となるので回転後のx座標x'は
  x' = x*cosθ - w*sinθ
となって移動します。これはxz平面での回転(y軸回転)の
  x' = x*cosθ - z*sinθ
とほぼ同じ、wかzかの違いだけです。

加えて今回は、面にテクスチャを張ってるわけでもなく、ドット単位の点や線で表示しているので、3次元の奥行き感がまったく出ません。なので、3次元で回転しても、4次元で回転しても、このプログラムではまったく同じように見えてしまうわけです。

しかしCAVEの場合は3次元の奥行き感を立体視で感じることができるので、少しはわかりやすくなると期待しているのですが・・・・・。どのみち大きさの変らない点や線はやめようとは考えてます。

このブログ記事について

このページは、PipeRが2005年10月27日 13:49に書いたブログ記事です。

ひとつ前のブログ記事は「CAVEで何を作ろう?」です。

次のブログ記事は「CAVE 4回目」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01a