2016-11-01 4 views
0

私は、シミュレーションゲームでこのドラッグの式を使用しています:Javaのシンプルなドラッグ式

double drag = (p * Math.pow(u, 2) * C * A)/2; 

Drag on Wikipediaを参照)

を抗力は速度よりも大きくなるまで、この式は、しばらくのために働きますオブジェクト(ロケット)は、ゆっくりと上昇するのではなく、落下を開始します。現在、私はyxからドラッグ力を引いてtrigを使ってそれぞれの変化を計算しています。

よりシンプルなフォーミュラであるか、または1秒あたりのフレーム数を60に設定してこれを動作させる方法ですか?

+0

FPS?あれは何でしょう? 「1秒あたりのフィート」?それは速度の単なる単位です。 – duffymo

+0

秒あたりのフレーム – theTechnoKid

+2

力は速度より大きくすることはできません(単位は互換性がありません)。ドラグ力がスラストよりも大きければ、ロケットは減速します。ドラッグは何も落ち込ませることはできません(ドラッグは、落ちを遅くするために働き始めます)。 – Tibrogargan

答えて

1

力は速度より大きくすることはできません(単位は互換性がありません)。ドラグ力がスラストよりも大きければ、ロケットは減速します。ドラッグは何も落ち込ませることはできません(ドラッグは落ちを遅くするために働き始めます)。

力=質量*加速度、したがって加速度=力/質量。加速は速度の変化です。あなたのロケットに作用する3つの別々の力があります:ロケットの推進力、重力と抗力。ロケットで動作している最終的な力(ベクトル積)を計算する必要があります(それらを一緒に「加算」して)加速を決定し、それがどのように速度を各フレームに変更するかを決定する必要があります。

関連する問題