成果物
まず、Tesseractを作るにあたり、まず、3Dを2Dに変換(投影)するプログラムを作りました。次元を落として見ることができるようにする方法は、次元が増えても同じで、回転させてから、影をとるという方法です。影をとるといっても、単に一番上の次元を取り除いただけで、思ったよりもシンプルでした。
このTesseractは、XYZWのWが表示できないためWの値で拡大縮小を行って、4次元上の遠近感を感じられるようにしています。ちょっとわかりにくかったですね。もっと知りたいという方は、ぜひ、Tesseractを作ってみてください。
そういえば、MinecraftのThermalExpansion4にTesseractと言う転送装置がありました。Minecraftもなかなか高度なネタを使ってくるなぁ。
作り方・コード
相当丁寧に解説しているサイトがあるので、そちらを見てみてください。
3Dを2Dに投影するプログラムはこちらです。
Wikipediaの数式は最後まで参考になりました。回転について、詳しく書いてあります。
日本語版と英語版どっちもありますが、ここでは日本語版を載せておきます。日本語の方が、今知りたい情報だけが載っています。
4Dの場合の説明はWikipediaにないので、詳しくはこちらを見てください。
肝心のTesseractの作り方は、こちらです。余談ですが、AKAはas known as ~としても知られると言う意味です。(今まで知りませんでした…)
こちらの動画では、Tesseractについて短時間でざっくり知ることができます。CodingTrainの動画内でも紹介されているので、ぜひ見てみてください。