ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

円筒の中を円運動するボールの数値解析4

2010年06月24日 21時37分48秒 | ソフト開発日記
昨日の続き

v'_x = E(v_x * cosθ + v_y * sinθ) * cosθ + (v_x * sinθ + v_y * cosθ) * sinθ
v'_y = E(v_x * cosθ + v_y * sinθ) * sinθ + (v_x * sinθ + v_y * cosθ) * cosθ

では全然うまくいかなかった。
とりあえず全体にマイナスつけ忘れてたのでマイナスつけることに。

v'_x = -E(v_x * cosθ + v_y * sinθ) * cosθ - (v_x * sinθ + v_y * cosθ) * sinθ
v'_y = -E(v_x * cosθ + v_y * sinθ) * sinθ - (v_x * sinθ + v_y * cosθ) * cosθ

これで若干それっぽくなったけど、
壁に接触したあと明らかに速度が上がってしまう。
ここからは不本意ではあるけどしらみつぶし作戦で。

結果、次のように符号を調整するとかなりそれっぽくなった。

v'_x = -E(v_x * cosθ + v_y * sinθ) * cosθ - (-v_x * sinθ + v_y * cosθ) * sinθ
v'_y = -E(v_x * cosθ + v_y * sinθ) * sinθ - (v_x * sinθ - v_y * cosθ) * cosθ

めでたしめでたし。