2.5次元の図形を作った話 【フラクタル】
0. 概要
初めまして。
タイトル通りではあるが、筆者は2.5次元の図形を見つけ、Unityを用いて作ってみた。せっかく作ったのにハードディスクの肥やしにするのはもったいないと思ったため、このブログに残すことにした。是非とも何かの役に立ててほしい。
前書きが長くなってしまったため、本題だけを知りたい方は3節から読んでもらいたい。
1. 「2.5次元」とは
昨今「2.5次元」という言葉をよく耳にする。この言葉は声優や特定のジャンルの舞台俳優など、アニメや漫画に関わる人々を指すときに用いられることが多い。筆者は声優オタクであるため、声優の印象が強いが、最近では専ら漫画やゲーム原作の舞台、またそれに出演する俳優に対して使われる。 ここで「2.5次元」という表現が使われるのは、「2次元」の作品に近い「3次元」の人々のことを指すためだと想像される。
2.5次元とは (ニテンゴジゲンとは) [単語記事] - ニコニコ大百科
さて、多くの人は疑問に思うであろう。「2.5」次元ってなんだよ、と。
ご存じの通り、1次元は直線や線分、2次元は平面、3次元は空間を表す。大学数学に触れた人であれば、4次元以上のn次元空間についても馴染みがあると思う。しかし、これらは全て整数なのだ。
だからこそ「2.5次元」などという表現は、オタクたちのネタ的な文言として親しまれているのかもしれない。
しかしながら、驚くべきことに、この世には小数で表される次元というのが存在する。それこそが「フラクタル次元」である。
2. フラクタル次元
フラクタル次元の説明をする前に、フラクタルについて触れたいと思う。
フラクタルを雑に説明すると、どんなに拡大しても同じ図形が出てくる構造である。自然界にも多く存在することが知られており、CGなどの分野でも使われることがある。有名な例としてはコッホ曲線が挙げられる。
このフラクタルに対して、なぜわざわざ「フラクタル次元」などという尺度が考えられているのか。それは通常の図形と大きく異なる性質を持つためである。
一見3次元の図形に見える「メンガーのスポンジ」を例にとると、この図形は体積が0で表面積が無限大という恐ろしい特徴がある。
このため、フラクタル図形は一般的な図形の次元では数えることができない。そこで導入されるのがフラクタル次元なのだ。
フラクタル次元は複数の考え方があり、厳密な定義については避けるが、ざっくり説明すると次のようになる。
1辺をに縮小した相似な図形をb個集めれば元の図形に戻るとき、この図形のフラクタル次元はである
この定義からわかるように、次元の中に対数が登場する。そのため、小数の次元が存在するのだ。
3. 2.5次元の図形
非常に長々と書いてきたが、ここでようやく本題に入る。と言っても、筆者が件の図形を発見したのは偶々だったので論理的な説明ができるわけではない。そこはご了承いただきたい。
まず、2.5次元とフラクタルで調べると必ずと言っていいほど、上で触れたメンガーのスポンジが出てくる。この理由はフラクタル次元を見れば一目瞭然である。メンガーのスポンジは1辺がとなる図形が20個集まれば元の図形に戻る。そのため、このフラクタル次元はとなり、2.5次元に非常に近い値を取る。
このようなことから、筆者はメンガーのスポンジを元に探っていくことにした。
そもそも2.5次元のフラクタルがどういう図形かを考えよう。定義から逆算すれば、1辺をにした相似な図形を32個集めて元に戻ればよいことがわかる。()
しばらくこのと32という値を眺めていると、とても綺麗な値であることに気づいた。立方体について考えると、1辺をにした立方体が43 = 64個集まれば元に戻る。つまり、この小さな立方体を半分なくしてしまえば2.5次元の図形が完成するということなのだ。これをメンガーのスポンジと同様の操作をすることで実現した。作り方を以下にまとめる。
まず立方体を1辺がになるような立方体で分割する。すなわち立方体が64分割される。この内、各面の中央の4つと立方体の中央にある8つを取り出す。こうすると個の立方体が残る。これら小さな立方体に同様の操作を行い、それを繰り返す。
この図形をUnityによって描画したものが以下のようになる。パソコンのスペック上、4回の操作が限界であった。
メンガーのスポンジとほぼ同様の操作で作ったため、なかなか美しい図形が完成した。
なお、筆者はこの図形のことをオタクのスポンジと呼称しているが、何か良い名前があったら是非つけていただきたい。
このような長い駄文を読んでいただき、ありがとうございました。
追記
発見した当時、世紀の大発見だ!!などとドヤ顔で思っていたが、twitterで調べたところ、数年前に既に同じ図形にたどり着いていた方がいた。辛いな。
あと、勢いのまま自分のオタク交流アカウントでツイートしたら、誰からも反応がなかった。悲しかったのでツイ消しした。辛いな。