« シミュレーション結果が毎回異なるのはなぜ? その3 | トップページ | ニコニコ大連鎖の再生数が意外と伸びない »

2012年6月 9日 (土)

シミュレーション結果が毎回異なるのはなぜ? その4

Tattさんから「シミュレーションを1ステップ進めるのにApp.Stepを使ってはどうか」というコメントをいただいた。いままで1秒間隔でスペースキーを2回押す(のに相当するUWSCコマンド)だったところを、"App.Step"をペーストする(のに相当するUWSCコマンド)に置き換えてみる。

まず基本として、左側にヒンジを1つだけつないだシーン

100回の試行すべてにおいて、vel = [-38.095238, 0.0]となった。前回実験の円が移動している状態は2フレーム目であって、1フレーム目は速度のみを持つのが正しいのだろう。

では左右にヒンジをつないだヒンジスタビライザの場合

100回試行した結果は下のとおり。




vel = [38.086128, 0.0]70回
vel = [-38.086128, 0.0]30回

この実験結果をもとに、仮説を立ててみる。
・左のヒンジは円にvel = [-38.086128, 0.0]となる速度を与える
・右のヒンジは円にvel = [38.086128, 0.0]となる速度を与える
・左右のヒンジは逐次的に処理されており、後で処理された方が速度を上書きする
・左右のヒンジのどちらが先に処理されるかは不確定である(確率は半々ではないかもしれない)
・よって円がどちら向きの速度を持つかは不確定となる

ヒンジを3つにしたらどうなるだろうか。

100回試行した結果は下のとおり。








vel = [0.0045548133, -38.090679]19回
vel = [-0.0045548133, -38.090679]18回
vel = [38.086121, -5.452253e-07]28回
vel = [-38.086121, -5.452253e-07]8回
vel = [38.090679, -0.004557489]12回
vel = [-38.090679, -0.004557489]15回

速度が上書きされるわけではなさそうだ。上書きされるならヒンジ1個の時の速度38.095238と、2個の時の速度38.086128が一致しないとおかしいしな。
あと、重力を切ってシミュレーションすれば良かった。

« シミュレーション結果が毎回異なるのはなぜ? その3 | トップページ | ニコニコ大連鎖の再生数が意外と伸びない »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1499066/45593630

この記事へのトラックバック一覧です: シミュレーション結果が毎回異なるのはなぜ? その4:

« シミュレーション結果が毎回異なるのはなぜ? その3 | トップページ | ニコニコ大連鎖の再生数が意外と伸びない »