C++ で 2D 空間シミュレーションを作成しようとしています。その中で、位置(x、y)で方向(d)に速度(v)で移動する質量(m)の惑星を作成できます。この惑星に引力を持っている 1 つのオブジェクト (すなわち星) もあります。このオブジェクトには質量 (M) と位置 (X,Y) があります。特定の時間 t 後に惑星の位置を返す関数を作成したいと思います。惑星は必ずしも軌道上にあるとは限りませんが、速度と距離が許せばそうなる可能性があります。ケプラーの方程式が関係していることは知っていますが、これの正確な数学的実装を自分で理解することはできません。どんな助けでも大歓迎です。
私の現在の更新機能は、星や質量をまったく考慮していません。
double xPos, yPos, velocity, direction;
void Planet::update(int t){
xPos += t * velocity * cos(direction / 180 * 3.14);
yPos += t * velocity * sin(direction / 180 * 3.14);
}