プログラムの書き初め「観覧車脱輪シミュレーション」(ぉ
あけましておめでとうございます。
お正月は当然プログラミング三昧ですよね。
僕も早速プログラム作ってます。
今年のプログラム書き初めは「観覧車脱輪シミュレーション」です。
● なにそれ?
先日の打ち上げの際に、観覧車が支柱から脱輪してごろごろ転がりだしたらどうするかという話になりました。
僕はゴンドラが地面についているときは、地面に対して静止しているので、その隙に脱出したらよいのではないかと話をしたのですが、あんまり納得してもらえませんでした。
横方向の加速度とかが脱出の妨げにならないか?というのです。
(まっすぐ転がるのか?とかゴンドラ壊れないか?とかいった疑問にすいては瑣末なことですので、ここでは検討しません)
そこで、実際にシミュレーションプログラムを作って検証してみました。
● 動画
● 実際に動かしてみる
上記ページで、ブラウザ上で動かすことが出来ます。
JavaAppletですので、もし動かない場合は以下のサイトからJavaソフトウェア(JRE)をダウンロードしてインストールしてください。
→Java ソフトウェアの無料ダウンロード
● 解説
【これは何?】
観覧車が支柱からはずれてごろごろ転がりだしたらどうしますか?
あわててはいけません。
ゴンドラが地面についたとき、ゴンドラは地面に対して静止しているのです。
あわてず降りましょう。でも、観覧車の回転があまりに速い場合は、かなりのGを受けます。
チャンスは一瞬。
このシミュレーションを用いてタイミングを体で覚えてください。
【画面のみかた】
画面中央で回転しているのが観覧車です。
観覧車には12個のゴンドラがぶら下がっています(常に下を向くような機構を持っています)。
赤いゴンドラがあなたの乗っているゴンドラです。
なかの白い顔があなたです。加速を受けると上下左右に振られます。
【操作方法】
画面をクリックすると観覧車が脱輪し、ごろごろ転がり出します。
恐ろしいことです。マウスを画面中央にいれると、ゴンドラの速度や加速度ベクトルが表示されます。
a)水色の線:速度ベクトル
b)赤い線:加速度ベクトル
c)緑の線+○:重力加速度
d)緑の線+●:重力加速度と加速度を合成したベクトル通常は、d)のベクトルはほぼc)の重力加速度と同等です。
普通に地上にいるのと大差ありません。
しかし、観覧車の回転速度があがると大きく振られいます。
d)のベクトルが、中央にある場合自由落下状態です。
【各種設定】
画面の4隅の項目をクリックするとこで、設定を変更できます。
・左上:[MODE] NORMAL / GONDOLA
視点を変更します。
NORMAL→観覧車を中心とした視点
GONDLRA→ゴンドラを中心とした視点・右上:Scale [+][-]
表示の拡大率を変更します。[+][-]ボタンをクリックして下さい。・左下:[+][-]SPEED
観覧車の回転速度を変更します。1分間に回転する回数(RPM)で指定します。・右下:SIZE {+][-]
観覧車の大きさを変更します。巨大観覧車を作ることも出来ます。
【備考】
・観覧車を脱輪状態から復帰させたい場合は、SIZEを変更するとリセットされ元に戻ります
・観覧車本体やゴンドラは絶対壊れないと仮定
・ゴンドラは常に下を向くような機構を搭載している
・実はサイズ・重力加速度の定数は適当