4D迷路

2,3日前のことですが、休憩時間中に会社の同僚に雑談混じりの相談を受けました。

4次元の迷路ってあるでしょ。

無いよ!?

いや学生の頃作ったことがあったんだけど。
4つ目の軸は時間軸として、そっちの方向にも移動できるっていう……

ああ、なるほど。時間移動可能な訳ですね。しかももとの迷路が3次元で時間経過と共に変形する、と。

で、その4次元の空間で任意の方向に向いて移動できるようにしたい。

まあ、現実でも移動するときには同時に時間も進行しているわけで、時間軸も含めた空間でいずれの軸とも平行でない方向への移動は想像可能ですね。

で、そのときに画面にはその4次元の空間を進行方向軸に
垂直な超平面で切断した3次元空間を取って、それを画面に出したい。

……。進行方向軸に向いて投影するんじゃなくて切断超面を使用するわけ? う〜ん、迷路の構成要素は面のみでそれが時間経過のみに依存して変化する以上、画面に出すのはその時刻での空間情報に4次元空間の位置と向きのベクトルから3次元の要素だけ取り出してレンダリングすれば良いんじゃないの?

いや、そうすると時間変化による地形変化が移動によってしか分からないわけか。視点の回転によって時刻に依存した変化までも画面に反映させたい?そんな迷路解けるか!!

というようなことがありました。同僚は「意外と解けるよ。いい頭の体操になるよ」といってましたが少なくとも実装する方は混乱して死にそうです。ついでにいうとバグがあっても指摘できなさそう。

といいつつどうも気になって頭から離れない。ひょっとして今流行のクォータニオンと関係あるかも。