RPG世界の形状についての幾何学的考察と可視化
ここでは林がサークル「東工大ロボット技術研究会」で行った活動について記述しています。 大学の研究室の活動ではございません。従って一切の科研費は関係ない趣味の活動です。 林の自己紹介の一つに過ぎないことをおことわりさせていただきます。
なぜRPG?
元々RPGが好きで、RPGを作りたくて東工大ロボット技術研究会に所属していたのですが、 数学のようなこともやってみたいと考えました。
ウェブ上で見られる従来のRPGの世界の形状の考察は、 特にRPGの世界の形状がトーラスであるという解釈を支持するものは多くとも、 それを数学的に議論したものは少ないようでした。 そこでRPGの世界の形状やワールドマップにおける距離を位相幾何学、微分幾何学(曲面論)で使われる方法を用いて考察しました。 また、その考察結果を可視化してみました。
数学の問題として考察
RPGの世界というのは多くの場合、 長方形状のマップの上下端および左右端が繋がっているようにプレイヤーキャラクターが移動するような 所謂ワールドマップの上です。 上下端を繋いで長方形から円柱を作り、さらにその円柱の端(元の長方形の左右端に相当)を繋げてトーラスを作るという説明がよくされるようです。
では、「繋げる」とはどういうことでしょうか。また、この方法では円柱からトーラスを作るときに どうやっても引き伸ばさなくてはならないため、トーラス上の距離とワールドマップ上の距離が合わなくなってしまいます。
繋げ方の答え:位相幾何で「繋げる」
位相幾何学の基本において、長方形からトーラスを構成するような例題があります。これがそのままトーラスを構成する段階の答えになります。どのような定式化がされるのでしょうか。
位相幾何学では、集合論と位相空間論で登場する商空間によって長方形からトーラスを構成します。 「繋げる」というのは、繋げられる2点が両端にあるわけですから、この2点を同一視してしまうことと定式化します。 そして端でない点はすべて自分自身以外とは同一視しないものとします。四隅の点はすべて同じ点に同一視します。 こうすると、この同一視が同値関係をなすことが簡単に確かめられます。従ってあとはこの同値関係で集合を割り、 その商集合に次のように位相を定めてあげれば良いのです: 元の点から商集合上のその点を含む同値類への写像が全射連続であるようにする。すなわち、商集合内の集合が開集合であることを、この写像による逆像が長方形において開集合であるように商集合の位相を定める。
こうしてできた商空間とトーラスが同相であることを示せば、位相幾何の範囲においてトーラスが構成できたことになります。 なぜなら、位相幾何学では同相な図形はすべて同一視するからです。ユークリッド幾何学で合同な図形をすべて同一視することと同様です。
形状と距離の答え:4次元ユークリッド空間内の平坦トーラス
先ほど作った商空間とトーラスが同相であることは示されました。それでは距離の問題はどうするのでしょうか。 同相というだけではいくらでも伸縮自在になってしまいます。 よくある例えとしては、マグカップとドーナツが位相幾何学では同じ図形であるというものです。
トーラス上の内在的な距離というのは、トーラス上の曲線、トーラスが埋め込まれている空間内の空間曲線たちの 弧長の下限です。一方で長方形の内在的な距離は通常の2次元ユークリッド空間の距離です。
商空間の中に距離を直接入れることは難しいのですが、実際のところRPG世界として考察するには距離に関しては、 元の長方形上の曲線をトーラスに写しても長さが変わらないことを確かめれば十分です。 商空間上の曲線というのは結局長方形上の曲線で、先ほどのような点の同一視をしただけのものだからです。
長方形上の平面曲線γを通常の曲面(すなわち3次元ユークリッド空間にはめ込まれパラメータ表示がされた)である トーラスに写すと、その曲面の第一基本量の分だけ変形してしまい、長さを保ちません。
通常のトーラスはガウス曲率が常に0になるわけではないので、歪められてしまうとも言えます。
しかしRPG世界の正体がトーラスであることは上でも見たとおりです。これは3次元ユークリッド空間へのはめ込みが 原因で歪んでいます。トーラスそのものという滑らかな2次元リーマン多様体を考えれば良いのです。
2次元多様体トーラスの表示によく用いられるのは、1次元球面(通常の円弧)2つの直積としてでしょう。 円は2次元ユークリッド空間内の図形なためこの表示ではトーラスは4次元ユークリッド空間内の図形となってしまいます。
しかしx^+y^2=a^2,z^2+w^2=b^2で表されるこのトーラスであれば、元の長方形上の曲線を写しても長さを保ちます。 実際、x=acosu,y=asinu,z=bcosv,w=bsinvなどとパラメータ表示してあげることにより、第一基本形式を4次元ユークリッド空間内の"曲面"にまで拡張してあげれば、ガウスの驚異の定理の式 (本来法線ベクトル--4次元ユークリッド空間内の2次元多様体では余次元が2なので定まらない--が必要な第二基本量と合わせて定義されるガウス曲率が、第一基本量とその2階までの偏導関数によってのみ求まる!) を以てガウス曲率を定義してあげることができます。このときガウス曲率は恒等的に0となるためこのトーラスを平坦トーラスと言うこともあります。
実際、上の曲率の拡張は、一般次元のリーマン多様体における「リーマンの曲率テンソル」「断面曲率」の2次元多様体における特別な場合です。RPG世界の住人にとってみれば弧長が保たれていなくてはそれが世界の姿であることにはなりません。
以上より、RPG世界の形状は4次元ユークリッド空間内の平坦トーラスであるとわかりました。
考察結果
論より証拠:証明してみた
スライド
サークル:東工大ロボット技術研究会の内部で開かれた第61回研究報告会(rogyconf61)での発表資料です。
サークルの研究報告書。
論より証拠:可視化してみた
上の考察結果を可視化してみました。工大祭で展示したこともあるProcessingのスケッチです。様々な方の助力により、Webページに載せるための計算の最適化ができました。
可視化スケッチはこちらです。
十字キーで地図上の赤い点を動かすとそれに伴って右のトーラス上の点と、 真の姿である4次元ユークリッド空間内の平坦トーラス=2つの円の直積を青、緑の点が対応して動きます。
CTRLキーを押している間は、固定した曲線上を動きます。長方形からはみ出るようなアステロイドですが、 周を同一視してトーラスにしているためトーラス上では連続的に動くことが見て取れます。