我有一个有限大小的二维向量场。我想要的是在这个字段中找到任何“循环”——也就是说,如果这个字段代表流体的流动,并且你将一个对象放在这些循环中的一个上,那么这个对象会转来转去,永远不会出现休息。我想我已经找到了一些关于这个问题的学术数学文章,但它们离我太远了,我无法理解它们。是否有找到此类循环的标准算法?
为什么我要找到这样的循环?我正在考虑制作一个与《超级马里奥银河》具有相似概念的 2D 平台游戏,因为会有几个小的引力体可供玩家在其间跳跃和行走,而不是单一的全局重力矢量。静态物体的重力场将在关卡编辑期间静态计算。我真的不需要解决这个问题,但它会是一个非常好的工具,可以在关卡编辑器中检测不可避免的重力循环,而不必通过游戏测试来发现它们。