【发布时间】:2012-05-17 20:24:06
【问题描述】:
所以我正在模拟太阳系,但遇到了障碍......
实际上,月球相对于地球的速度比地球相对于太阳的速度要慢得多。然而,月球完成其轨道的速度要快得多,因为它必须行进的距离要短得多。月球在一年内绕地球公转约 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 公里/秒)
在这种情况下,父母是指它正在运行的物体(如果是地球,它是太阳。如果是月球,它是地球)
focalX 和focalY 是与行星的偏移量。
此时速度和 2 轴值已按比例缩放。
我在规模的方式上错了吗?我完全错过了一些明显的东西吗?我是不是完全用错了方法?
【问题讨论】:
-
看起来您在角度计算中使用了线速度。会不会是哪里出了问题?
-
“我在量表的方式上错了吗?我完全遗漏了一些明显的东西吗?我只是在做完全错误的方式吗?”是的,是的,是的。学习物理学。
-
@BrianNixon 不确定,当时这似乎是个好主意......我摆脱了所有的尺度并开始使用原始值。现在一切都在疯狂地快速发展......所以我认为它确实与角度计算有关......
-
您不能只是缩放距离并期望一切顺利。您将不得不缩放牛顿的引力常数
G,并缩放质量,但并非所有都线性缩放。要获得预期的效果,不妨看看开普勒定律,并确保与现实生活中的关系相同。
标签: math simulation