Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vector 如何在二维向量场中找到非终止循环?_Vector_Cycle_Orbital Mechanics - Fatal编程技术网

Vector 如何在二维向量场中找到非终止循环?

Vector 如何在二维向量场中找到非终止循环?,vector,cycle,orbital-mechanics,Vector,Cycle,Orbital Mechanics,我有一个有限大小的2D向量场。我想要的是找到这个场中的任何“循环”——也就是说,如果这个场代表流体的流动,你把一个物体放在其中一个循环上,这个物体就会一圈一圈地旋转,永远不会静止。我想我已经找到了一些关于这个问题的学术性数学文章,但它们太离谱了,我无法理解它们。有没有标准的算法来寻找这样的循环 为什么我想找到这样的周期?我正在考虑制作一个2D平台,它的概念与超级马里奥星系类似,玩家可以在几个小型引力体之间跳跃并行走,而不是一个单一的全球引力矢量。静态实体的重力场将在标高编辑期间静态计算。我真的不

我有一个有限大小的2D向量场。我想要的是找到这个场中的任何“循环”——也就是说,如果这个场代表流体的流动,你把一个物体放在其中一个循环上,这个物体就会一圈一圈地旋转,永远不会静止。我想我已经找到了一些关于这个问题的学术性数学文章,但它们太离谱了,我无法理解它们。有没有标准的算法来寻找这样的循环

为什么我想找到这样的周期?我正在考虑制作一个2D平台,它的概念与超级马里奥星系类似,玩家可以在几个小型引力体之间跳跃并行走,而不是一个单一的全球引力矢量。静态实体的重力场将在标高编辑期间静态计算。我真的不必解决这个问题,但它将是一个非常好的工具,可以在关卡编辑器中检测无法逃避的重力循环,而不必通过播放测试来发现它们。

很难想象一个包含循环的“重力场”。然而,玩家的轨迹可能是循环的。我们称之为“轨道”

一个简单的解决方案可能是加入少量的摩擦或阻尼,以确保轨道衰减

一个不太容易处理的解决方案:如果空间是离散的,那么你可以测试每个状态(位置、速度),并检查玩家是否再次访问相同的状态。请注意,这还需要有限数量的合法速度值


从可用性的角度来看,给玩家一些推进手段也是解决问题的好方法。

我会了解你需要做什么,然后尝试实现它。如果你在这一领域没有任何实践,你就走不了多远……该死的Yann,我离你不远了。