c++ - 中心有引力的球体

标签 c++ gravity ode-library

我想知道在球体(很像行星)中心施加重力的最简单方法是什么?我认为 ODE 是最好的库?但不确定如何实现它以在球体中心施加重力。

最佳答案

所有你需要的是:

a = F/m = -GM r/r^3

其中 r 是质量球 M 的质量 m 的径向 vector ,G 是重力常数。

您不一定需要很多库来集成它。您可以只计算每个时间步长的加速度。唯一的一点是你会得到一个好得多更好的结果(例如闭合轨道!)如果对于每个步骤你首先计算一个近似的新位置,然后计算时间步长中点位置的加速度然后用它来确定新的位置和速度。

关于c++ - 中心有引力的球体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5494995/

相关文章:

Android,是否可以为 TextView.setGravity() 设置动画?

C++字符串和内存管理

C++ CreateProcess - 系统错误 #2 找不到文件 - 我的文件路径有什么问题?

c++ - 在 C++ 中使用数学

android - 为什么我的 "centered"对象在我的 RelativeLayout 中稍微偏离中心?

python - 时间-重力坠落计划

c++ - 惯性必须是正定的

c# - C# 的托管与非托管物理引擎

c++ - 引用的上下文是什么意思?

c++ - 使用#defines、枚举值或 const int 来定义常量值哪个更好?