【发布时间】:2016-01-30 16:15:25
【问题描述】:
我创建了一个简单的行星模拟,其中行星围绕恒星运行。 轨道的代码是这样的:
a = a + vel * delta;
planetX = Math.cos(a) * orbitRadius + parentStar.getX();
planetY = Math.sin(a) * orbitRadius + parentStar.getY();
现在效果很好,但我的问题是轨道不是围绕恒星中心的行星中心。 This is what happens
如您所见,小圆圈上的第一个红点是行星围绕第二个小红点运行的位置,这是因为圆圈是从 (0,0) 绘制的,所以两个行星 ( 0,0) 围绕星星的 (0,0) 旋转。
我需要行星的中心来环绕恒星的中心,而不是它们的原点。
有什么好的解决办法吗?
【问题讨论】:
-
我可以假设 parentStar 是矩形吗?为什么不给我们完整的代码;静态图片没有任何解释
-
@gpasch 因为所有其他代码只是创建图像并绘制它,是的,它们是矩形图像中的圆圈。
标签: java math orbital-mechanics