2016-12-07 8 views
-1

軌道方程式をモデル化しようとしているIm(二次元タンクゲームの場合)。使用しようとして方程式イムは、次のとおりです。C++を使った方程式の問題

https://www.wolframalpha.com/input/?i=y+%3D+xtan(60)+-+(9.82++x%5E2)+%2F+(2++150%5E2++cos%5E2(60))

は、これは私の初期速度や角度など60度として150を使用した例です。このグラフを見ると、根はx = 1984であるはずです。

は、C++私は:経過

if (shoot) { 
    x += elapsed*500; 
    y = x*tan(60) - (g * pow(x, 2))/(2 * pow(150, 2) * pow(cos(60), 2)); 
} 

が最後のフレーム及びgは9.82であるので、秒単位の経過時間です。私の問題は、陸地がx = 1378にあり、最高のy値が約200であることです。私は方程式を正しくモデル化していると思います。軌道については、私はこのチュートリアルに従いました:https://www.youtube.com/watch?v=5EjQkutYOZg

+3

三角関数はIIRCよりもむしろラジアンを取る。 –

+0

度*(PI/180)、 'std'関数を使用していると仮定します。 – George

+0

ありがとう、何度も機能する機能はありませんか? – Bonbin

答えて

0

ラジアン単位で作業する必要があります。

60*(PI/180)が等しいと式が機能するように60を変更します。 PIがその円のものであるところ3.1415 ...

関連する問題