二维重力模拟问题中的 RK4
在 ActionScript 3.0 中,我有两个对象(一个中心红星和一个绕轨道运行的蓝色行星)。我想用 RK4 绘制轨道。我每帧运行一次模拟,并每帧绘制一次。我必须将蓝色行星在 x,y 中的位置与中心行星联系起来,这样我可能会在某个地方的转换中迷失方向。这仅适用于 1,1 象限。当蓝色星球从一个象限穿过到另一个象限时,我将调整重力矢量。
问题:如果我改变时间步长,轨道就会发生巨大变化。在小的时间步长下,轨道变成一条直线。在较大的时间步长下,轨道变得更紧。用于计算每个“K”的加速度的系数不按 dt 缩放(除了它通过先前的速度矢量)。
以下是 RK4 代码片段:
In actionscript 3.0, I have two objects (a central red star and a orbiting blue planet). I want to use RK4 to plot the orbit. I'm running the simulation once per frame, and drawing once per frame. I have to relate the position of the blue planet in x,y to the central planet so I may be getting lost in the conversion somewhere. This is just for the 1,1 quadrant. I will be adjusting the gravity vector as the blue planet crosses from quadrant to quadrant.
PROBLEM: If I alter the time step, the orbit changes drastically. At small time steps, the orbit becomes a straight line. At large time steps, the orbit becomes tighter. The cooefficients for computing the acceleration for each "K" are not being scaled by dt (except for it being passed through the previous velocity vector).
Here is the RK4 code snip:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论