物理エンジンで再現してみました。能書きをごちゃごちゃ書く前に、まずはインストール不要のブラウザで遊べる現物のリンクを貼ります。物理エンジンの限界等もありシミュレーションといっても精度はそれなりなんですが、そのかわりTPSゲーム風仕立てになっていて走り回ったりジャンプしたり、魔法の超動力エレベーターに乗って上昇したり下降したりスペースコロニーの生活で起きるであろう力学的な違和感がどんな感じかざっくり体験できるようにしてみました。起動してしばらく待ち、メニュー画面になったらカーソルとエンターキーで使用キャラを選択してください。マウスで周囲をグリグリ見回せます。視線が変な角度になってしまったらキャラの足元より手前あたりにカーソルをあてると視線リセット。マウス左ボタンでボール等の投射物を投げる。上向くと仰角を上げて発射。視線を上に振り切ると真上90度に打ち出す。ターン(キャラによって若干操作は違う)。カーソルキーでも移動できます。エレベーターに乗ってマトに投射物を当てるとエレベーター起動。水平移動、Kで停止コマンドを指定。ゲーム開始時オーバーレイでキー操作ヘルプが表示されます(Hキーでトグル)。選択キャラ毎のキー操作の違いはそれで確認してください。機能を使っているため動作しない可能性が高いです。端末もかなりハイスペ端末でやっとギリ動く感じです。ミドルスペック以上のデスクトップ機のブラウザで見て頂くのをお勧めします。スペースコロニーとは宇宙に巨大な人工の居住空間を作り都市規模の人口を移住させるというSFガジェットがスペースコロニーです。1970年代にプリンストン大学のジェラルド・オニール氏によって提唱された、自転する巨大な中空のシリンダー(円筒)に太陽光を取り入れる窓と反射パネルがあるデザインが有名で『スペースコロニー』というとこのオニール・シリンダーの事を差すことが多いようです。オニール方式の他にもいくつかスペースコロニーのアイデアはあるようですが、本記事で扱うスペースコロニーはこのオニール・シリンダータイプのものになります。オニールタイプのスペースコロニーではシリンダー(円筒)の内側の表面に住空間を構築しますが、自転による遠心力があるためシリンダーの内側に立つとまるで足元が地球における地面であるかのように錯覚する仕掛けになっています。この疑似重力は本物の重力ではないため、例えばボールを投げると地球とは微妙に異なる軌道を描いて地面に落ちます。これをビジュアルで確認してみよう、というのが本記事とアプリの主旨です。地球で感じる本物の重力は地球と物体が万有引力で引き合うことで発生しますが、スペースコロニーに立っている場合は体と地面(シリンダー壁)の引力はほぼゼロで力学的には無重力の宇宙空間に浮んでいるのと同じです。障害物にぶつかったりロケットを噴射するとかいった外力が加わらないなら等速直線運動──つまり方向を変えずに真っ直ぐ一定の速度で直進するような状態になっています。シリンダーシムアプリでオッサンのキャラクターが平原にボーッと立ってる状態を考えてみましょう。平原に立ってじっとしている場合オッサンは地面すなわちシリンダー壁に対して静止しているのであって地面のほうはシリンダーの自転速度で動いている事に注意しなければいけません。シリンダーは巨大なので毎秒数度のゆっくりした回転でも壁すなわち地面の移動速度は猛烈な速さになります。このアプリの場合、半径3kmのシリンダーが毎秒3.3度ぐらいで回転して1Gの重力を発生している設計なので計算すると地面の移動速度は毎秒172m(時速617km)ぐらいになります。いうわけでボーッと立っているオッサンの体は、力学的には時速600kmぐらいでシリンダーの回転方向にすっ飛んでいこうとしてる状態になっています(Gキーを押すとベクトルの方向と長さが確認できる)。シリンダーの壁がなければ宇宙空間に物体を射ち出したのと同様オッサンはそのまま接線方向にすっ飛んでいってしまいます。巨大な円弧を描いたシリンダーの壁すなわち地面があるため、真っ直ぐに進もうとしているその次の瞬間にはちょっとだけセリ上がった地面にぶつかって垂直に押し上げられる方向に速度ベクトルがほんの少し変化させられます。そのような瞬間が連続して連なっているのでオッサンの体感では連続的に地面の下へ押しつけられるような力があるように感じ(遠心力)これが疑似重力として感じられるわけです。立っている場合の疑似重力はだいたいこんなイメージですが、ややこしいのが物を投げたときです。コロニーの壁である地面(...以後断りがない限り単に『地面』と表現します)に立ってボールを投げたとします。このとき手を離れた瞬間からボールは力学的に等速直線運動に入ります───ところで、言い忘れていましたがアプリ実装もこの記事全体もそうですがシリンダー内は完全な真空と思ってください(空気の影響は完全無視)。先に述べたとおり、地面に立ち止まっていても地面自体が猛スピードで移動してるのでボールの速度ベクトルはキャラクターから見た投射速度に自転によるおよそ600km/hの速度を合成したベクトルになります。地球と異なりこのボールには引力による落下は発生せず、手を離れた瞬間から等速直線運動を始めます。そんな世界でとても生活できるとは思えない!もし授業中シャーペンをうっかり落すと手から離れた瞬間から時速600kmで横に座ってる人に突き刺さる凶器になってしまう!!...もちろんそんな事はなくシリンダーシムアプリで試してもわかるように、わりと普通にまるで地球でボールを放ったかのように放物線を描いて落ちます。いうのは自分自身もボールの合成ベクトルとほぼ同じくらいの猛烈な速さで移動しているので、キャラクターから見ると自転による猛烈な速度ベクトル成分はほぼ相殺されるからです。力学的には投げ出しから地面に衝突するまで単なる等速直線運動となるため、シリンダーの外の回転しない宇宙空間から見たボールの軌道は結局シリンダーの壁の一端から出て壁の別の部分に当たるまでの直線ということになります。これを内部の自転している地面に貼り付いているキャラクターから見るとキャラクターは円弧に沿って移動していくので、結果的に地球での放物線に似た軌道を観察することになるわけです。このように投射物の速度ベクトルが自転の速度ベクトルに比して無視できるほど小さい場合、まるで地球で生活しているかのような疑似重力環境を再現できるのがオニール・シリンダー・コロニーのアイデアの優れた点のひとつでしょう。高速に打ち出したり、高いところから落すなど距離が伸びてくると徐々に疑似重力のまやかしがバレて違和感が現われてくるようになります。どのキャラクターでも[1][2][3]のキーで投射物をそれぞれボール、キューブ、ロケット弾に切り変えできますが、ロケット弾で仰角を上げて発射すると、地球であれば明かにおかしいと思われるような軌道を描いて落ちるのを観察できます。ちなみにプログラマーの色気を出してロケット弾に推力があるように見えるブラストのパーティクルを実装してしまいましたが、力学演算的にはただの高速な投射物で一切加速しません。見た目だけの雰囲気エフェクトです。安定翼もついてますが空気力はまったく無しです。ロケット弾をあちこちに向けて発射し軌道を観察すると、コロニーの円周に沿った方位では真っ直ぐ飛んでいくのに自転軸方向(宇宙港の向きまたはその反対)に飛ばすと弾道がヨレていくのがわかります。おかしい...弾道がみな右へそれていく(CV:井上真樹夫)...もしやサイレンの魔女が...ではなくスペースコロニーの上空に行くほど自転による円周速度は減っていくので発射点の地面における円周速度は余ってしまう──つまり勢い余って自転方向に進みすぎてしまうからです。したがって円周方位であってもキャラクターから見ると真っ直ぐの軌跡に見えますが、じつは自転方向へズレていて飛距離が伸びたり縮んだりしています。コロニーの中央方面にビル街と巨大なブリッジ──構造は平らなのに山なりの坂になっている不思議橋です──を配置してありますがエレベーターを使ってこのブリッジに登りボールが落ちていくのを観察すると、今度は反自転方向へ軌道が曲がっていくのが見えます。ブリッジの高さより下にいくほど円周速度が速くなるため打ち出したときのボールの速さでは足りなくなるからですね。諸々の都合でこのシムでは水まわりは実装できませんでしたが、仮に大きな滝があったらとしたらこんな感じの流れが見えるはずです。ちなみに“キャラクターが自転方向に移動しているので打ち上げたボールが取りのこされて後ろに曲っていく”みたいなイメージは間違いなので注意です。走行中の電車内でボールを投げたのと同様に、ボールを投げた瞬間のキャラクター本体の速度成分も合成されるのでボールだけが取り残されたりしません。取り残されるイメージでいけば自転と反対方向にヨレていくはずですが実際は自転方向にヨレます。ホンマかいな...?と怪しまれそうなので、もうすこし正確に図と数式を用いて説明します。速度で投げたとします。ボールが着地した瞬間の位置とします。※厳密にはボールを投げた高さも考慮すべきですが、ややこしくなるのとシリンダー径に対し無視できるほど小さいのでここでは無視します。図は回転しない固定宇宙空間から見たコロニー断面なので、ボールは細い水色の線の矢印の直線コースをたどって壁(地面)にぶつかります。これを自転する地面に貼り付いて移動している観測者から見上げると、真上に打ちあがったボールが自転方向にヨレながら落ちてきて地面に衝突するのが見えるはずです。自転方向にズレる事を以下に簡単な数式で説明します。加えた合成ベクトルです。投げた後は等速直線運動なのでそのベクトルの方向がすなわち水色のボールの軌跡と一致しているわけです。