为了艺术目的,我实现了一个简单的模拟,一颗彗星在太空中飞行,被随机生成的行星的重力偏转。我对该模拟的问题是,有许多“无聊”的模拟,其中彗星立即与行星相撞或偏转离开视口而没有有趣的轨迹。
是否有一种有效的方法来计算模拟的初始值(行星的重力和彗星的初始速度),其中彗星不会(早期)与行星碰撞并且可能具有有趣的轨迹(更频繁地偏转,弹弓等)?
因为我想将它用于艺术,所以如果算法具有仅适用于整数值行星重力或类似限制的约束,则没有问题。
我目前的方法是通过模拟参数集来使用蛮力,直到我得到一个可以接受的轨迹,这相当慢。
我可能需要的东西(请评论以建议其他人):
- 彗星不应该穿过的点(即行星)
- 具有指定速度的点(例如靠近行星以使轨迹偏离碰撞过程)
- 也许是引导轨迹的路点
参数不应该是任意的(彗星没有马达),而是选择行星重力和彗星初速度的边界条件。如果有用,也可以选择彗星的质量。目前我假设彗星是无质量的,这可能非常接近现实。