アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語等でゲームを作っているのですが、
「Aから、Bに 速さv 重力加速度 g の弾を打ち出した時に、
正確にBに当てるには、Bより どの程度上の地点を狙って
弾を打ち出せばいいか」
というプログラムを作りたいのですが、正確では無いものか、
処理が重すぎるものしかできなかったので、
どうすれば最適なものができるのでしょうか?、

A 回答 (3件)

「明らか」じゃなかった.


解けちゃった.
tan θ に関する 2次方程式ですな.
    • good
    • 0

A と B の座標が分かっているなら, この 2点を通るような放物線が作れればいい.


A は原点と仮定していいのでそうする. 仰角 θ で打ちだすとすると, 時刻 t における弾の位置は
((v cos θ)t, -(g/2)t^2 + (v sin θ)t)
で表されるので, これが B と等しいとして t と θ に関する連立方程式を解けばいい... んだけど, 明らかにそのままでは解けないので θ に関する方程式を近似的に解くことになると思います.
この辺は物理 (ニュートン力学) の世界ですね.
    • good
    • 0

>どうすれば最適なものができるのでしょうか?



まずは、書かれたソースをさらけ出すことです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!