gpt4 book ai didi

c++ - 如何在给定时间后确定物体在 2D 空间中的位置?

转载 作者:行者123 更新时间:2023-11-30 05:41:14 25 4
gpt4 key购买 nike

我正在尝试用 C++ 编写 2D 空间模拟。在其中,您可以创建一个质量为 (m) 的行星,该行星以速度 (v) 沿方向 (d) 在位置 (x,y) 移动。还有一个物体(即恒星)对这颗行星具有引力。该对象具有质量 (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);
}

最佳答案

您可能正在寻找 Newton's Law of Universal Gravitation .

Gm1m2 / r2 = F

一旦找到 F,您就可以在标准运动方程中使用它:

Fyt2 / 2 + vyt + y0 = y
Fxt2 / 2 + vxt + x0 = x

关于c++ - 如何在给定时间后确定物体在 2D 空间中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31216813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com