在2D中围绕运动物体的物体

时间:2014-04-11 15:31:08

标签: matlab 2d physics-engine

我正在研究一种系统,其中我在2D中有小的移动物体,如果两个物体彼此靠近,则一个开始绕另一个运行。我仅限于这些信息:

我知道非轨道运行的物体与每个时间步轨道的物体之间的角度 我知道每个时间步2个物体的中心之间的距离 轨道运行物体可以以最大速度d_max / t_step <1运动。 MAX_RADIUS / t_step Max_radius是它们可以在其中交互的两个对象之间的最大距离。如果距离> max_radius这两个对象不再吸引了。

我现在所拥有的是这样的公式:

fxy = e^(-alpha*d^2);
dx = 2*alpha*fxy*(sin(theta)*d);
dy = -2*alpha*fxy*(cos(theta)*d);

如果我将dx和dy与我的轨道物体的坐标相加,它将围绕另一个轨道运行,但前提是它仍然存在。如何扩展它以便即使对象移动,对象仍然在轨道运行(显然我已经讨论了上面讨论过的限制)?

1 个答案:

答案 0 :(得分:0)

添加到dx并dy它正在轨道运行的物体的delta-x和delta-y。