2

所以我正在模拟太阳系并遇到了障碍......

实际上,月球相对于地球的速度比地球相对于太阳的速度要慢得多。然而,月球完成其轨道的速度要快得多,因为它必须行进的距离要短得多。月球在一年内绕地球公转约 13 次。

然而,在我的模拟中,月球一年可能有 2 个轨道......

我用维基百科检查了速度,它们是正确的。

唯一的区别是我扩展了所有内容,让我怀疑这就是原因。

所有距离除以 100 000,所有速度除以 1000

    this.angle += (speed * deltatime);

    this.x = this.semi_major_axis * Math.cos(this.angle) + this.parent.x + this.focalX;
    this.y = this.semi_minor_axis * Math.sin(this.angle) + this.parent.y + this.focalY;

速度是根据维基百科的速度。(地球为 29.78 公里/秒,月球为 1.022 公里/秒)

在这种情况下,父表示它正在运行的物体(如果是地球,它是太阳。如果是月球,它是地球)

焦点X 和焦点Y 是与行星的偏移量。

速度和 2 轴值此时已按比例缩放。

我在规模的方式上错了吗?我完全错过了一些明显的东西吗?我只是以完全错误的方式做事吗?

4

3 回答 3

4

由于速度是距离/时间(例如公里/秒),当您将速度按 1000 倍,距离按 100000 倍时,无论您是否知道,都将时间按 100 倍。您确定在其余部分中已考虑到这一点你的计算?

是的,你正在以完全错误的方式处理这个问题。如果你正在构建一个机械模拟器,你会想在这个过程的早期就缩放距离,但是在数字模拟器中,为什么要缩放它们呢?只在原来的单位工作。

由于您没有跨多个 AU(天文单位)的计算机屏幕,您可能需要缩放用于成像的数字,但大多数图形系统会在管道中的某个时间点为您执行此操作。

于 2012-05-09T10:37:54.823 回答
2

我想说你应该完成原始运动方程的无量纲化练习,类似于人们对流体的 Navier-Stokes 方程所做的事情(这是一个很好的例子)。您会看到应该出现无量纲分组,例如流体的普朗特和雷诺数,这将使您深入了解问题并使您的数值解更易于处理。

于 2012-05-09T16:48:02.433 回答
0

我不认为这将是规模,模拟将比准确的速度快 100 倍(距离大幅下降,速度下降小),但它应该是统一的,所以地球和月球会两者都以相同的速度加速,我会再次查看基本速度并确保它们是正确的,以及计算行驶距离的算法。

于 2012-05-09T10:50:17.750 回答