2011-03-24 88 views
0

我用Java创建了一个太阳系发电机。我想知道,如果我在系统中有一颗小行星,并且想要检查它是否与行星一起被细菌感染,我会得到小行星和每颗行星之间的距离,如果距离减去半径为0或更小,它将是碰撞。这是正确的数学吗?太阳系模拟器

感谢

+1

你试过了吗?这可能是一件好事,而不是仅仅问。 – 2011-03-24 19:22:29

+1

这可能不是堆栈溢出的问题。要回答你的问题,可以说中心之间的距离是D.你不需要D = 0的碰撞。即使D <(R + r),它们也会发生碰撞,其中R和r分别是行星和小行星的半径。 – 2011-03-24 19:23:51

回答

4

假设你的距离是相对于你的两个实体的中点,那么你几乎是正确的。你会想要从距离计算中减去行星和小行星的半径。如果减法的结果为零,则它们完全接触,并且当结果小于零时碰撞。

+0

然后你可以进入像气氛这样的杂乱的东西(例如木星或其他低密度体)。 – Piskvor 2011-03-24 19:29:21

+0

在担心像大气放牧这样非常罕见的事情之前,您应该考虑*重力*。 – Beta 2011-03-24 21:49:48