- ベストアンサー
入射角反射角
VC++6.0+DirectX8.0SDKで2Dのゲームを作っています。 壁にあたったら反射するという事をしたいのですが、 角度αの面に対してベクトルAがぶつかったとして 反射後のベクトルA'を計算するにはどうすればいいでしょうか? (x成分y成分の具体的な計算方法を知りたいです) 数学的に高校レベルかと思うのですが・・・ 恥ずかしながらご教授ください。
- みんなの回答 (5)
- 専門家の回答
VC++6.0+DirectX8.0SDKで2Dのゲームを作っています。 壁にあたったら反射するという事をしたいのですが、 角度αの面に対してベクトルAがぶつかったとして 反射後のベクトルA'を計算するにはどうすればいいでしょうか? (x成分y成分の具体的な計算方法を知りたいです) 数学的に高校レベルかと思うのですが・・・ 恥ずかしながらご教授ください。
お礼
ありがとうございます。 入射角と反射角が等しいのはわかるのですが具体的に 30度の面に対してベクトル(2,-1)がぶつかったときの 反射後のベクトルを求める式を知りたいのです。 図に書いて考えると 答えとしてはベクトル(0,√3)になるのだと思うのですが(自信無し) これを一般的な式で変換したいわけです。 もちろんwebでは調べましたが、 なかなか自分に理解できるページが無かったので・・・。 どこか参考になるページがあれば宜しくお願いします。 (ちなみに教科書はありません・・・)
補足
とりあえず、私なりに考えたのは 最初のベクトルAから余弦定理から arccosでなす角βを求めて 反射後のベクトルは x'=|A|cos(α+β) y'=|A|sin(α+β) といった感じになるのでしょうか。