昨日の続き
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θ
めでたしめでたし。
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θ
めでたしめでたし。