2

C++、OpenframeWorks で作成しているアプリに独自の物理演算を実装しようとしています。私は現在 Box2D を使用していますが、衝突検出は必要ないので、もっと軽いものが必要です。

重力のある世界と、静的オブジェクトに取り付けられた任意の長さのプリズム状のジョイントによって任意の角度で動きが制限された動的オブジェクトがあります。ジョイント モーターを使用して摩擦をシミュレートします。

私は見てきた

2D ゲーム物理学のリソース

しかし、ここでのすべては、私が行う必要のない完全な物理エンジンの構築に焦点を当てているようです。誰かがこれに関する数学の正しい方向に私を向けることができますか?

4

2 に答える 2

0

Box2D に必要なものがある場合は、「より軽い」要件を再検討することをお勧めします。ライブラリを使用することによって引き起こされる害を数バイトで定量化できない限り、その利点は自分でライブラリを作成するコストを上回ると思います。

物理学をよく理解していて、その方法を学びたい場合は、ぜひ行ってください。そうでない場合は、あなたが提供したよりも知識のある人が提供したものを使用し、ライブラリのサイズを忘れてください。

于 2012-05-28T18:48:05.270 に答える
0

重力を 2 つの成分に分離する必要があるだけです。Prismatic Joint Axis に沿って、その他すべて。(自由体ダイアグラムを参照してください)

これは、重力ベクトルと軸ベクトルの間のベクトル内積を使用して簡単に実現できます。最初に軸ベクトルを長さ 1 にスケーリングすると、内積の結果が軸に沿った力になります。

力を加速度に変換するには、動いている物体の質量で割るだけです。

于 2012-05-28T14:45:00.157 に答える