私は、基本的にbox2dを使って正確な軌道重力システムを作成しようとしています。私は地球上で弾丸を撃ちたいと思っており、この弾丸の速さに応じて、地球から脱出し、地球周回軌道に留まり、例えば地球表面上に240度または45度に上陸します。 (弾丸が0度で発射すると仮定して) 私は多くの研究をしてニュートンの物理法則に夢中になっています。 基本的なapplyforceは十分に正確な仕事をしていないようです。 私は、軌道に留まるために必要なオブジェクトの速度を計算する式も見つけました。これをbox2d内で行うことができました。しかし、私が弾を止めたいなら、弾丸は再び地球上に落ちないでしょう。 (力は半径方向の重力に適用され、第2の適用力は弾丸を「右方向に」移動するために使用される)軌道上に留まる。私がダンピングを加えるだけで、弾丸は地球に落ちますが、これは私には間違っているようです。弾丸が何か他のものと衝突すると、それも湿ってしまいます。box2dを使って正確な軌道重力を作る方法に関するアイデアはありますか?
ここでの主な問題は、弾丸の速度を変更することです。弾丸は着陸するのにx時間かかると言います:180度。弾丸が地球表面からどれくらい離れているかに応じて、同じ速度で180度の速度で着陸する。私は速度が真の正確な半径方向の重力を作るための鍵だと思いますが、私の質問は、これは本当ですか、皆さんはどう思いますか?誰も同じようなシナリオを持っていますか? 減衰とsetlinearvelocityを使用せずに、どのようにして最も適切な方法で速度を制御しますか?
また、弾丸の軌道、脱出、または土地に戻すために必要な速度を制御できるようにしたいと考えています。軌道速度を計算する公式もあるので、これが可能でなければなりません。 など。それが間違っているとき、弾丸はあまりにも速く動いています。地球から逃げ出しますが、地球の重力は弾の道を変えるので、戻ってきます。
Btw:私はインターネット上で多くの検索をしましたが、実は実際のbox2dコードにリンクすることはできません。だから、誰かが私に正しい方向を教えてくれることを願っています。 よろしくお願いします!
「ダンピングを加えるだけで、弾丸は地球に戻ってきますが、これは私には間違っているようです。」どうやら実際の衛星にはわずかな量の抗力があるので、それは私のように思えます。 http://www.aero.org/capabilities/cords/faq1.html申し訳ありませんがもっと助けることができません:) – iforce2d
うーん...興味深い、私は宇宙の空気抵抗がない...しかし、これは感覚を作るもちろん、これは重力の法則についても説明しています...(オブジェクトは、何もせずにストレートラインで永遠に動くでしょう)... guesでは、ダンピングとスピードのバランスを調整しバランスを取ることになります... 。それが正しいように。速度を下げるために必要な減衰を計算できる公式はありますか?私は10秒から5秒に2秒で速度を下げたいと思っていますが、減衰比はどのくらいでしょうか?このリンクを指すThnx ... !! :-) – stationX
これは-2.5m/s/s、f = maの加速度になるので、2秒間の質量* 2.5のApplyForceが可能です。ダンピングは、タイムステップごとに体の速度を減少させるので、計算するのが難しいです。 – iforce2d