花栗鼠的伪磁体实现

我应该怎样去在花栗鼠空间的某个物体上实现“自然”的磁铁呢? 背景是躺在空间中的简单尸体(想象棋盘)。 当其中一个数字被激活时,其他人应该开始向它移动。

目前,我正在向其他人物施加力量( cpBodyApplyForce ),向量计算为激活的数字。 然而这并不真正感觉到“自然”。 有没有已知的模仿磁铁的algorithm?

我做磁铁已经有一段时间了,但我相信你想要的方程是两极之间力量的天真模型 。

 def force(a, b): magnitude = a.magnitude * b.magnitude separation_sq = distance_squared(a.position, b.position) return (permeability * magnitude) / (4 * pi * separation_sq) 

为了达到你的目的,你可以在4 * pi的时候修正permeability ,只调整每个物体的大小来得到你想要的感觉,简化公式:

 def force(a, b): magnitude = a.magnitude * b.magnitude separation_sq = distance_squared(a.position, b.position) return magnitude / separation_sq 

重要的部分是力与物体之间的距离的平方成反比。