0

我有许多代理(例如 6 个或 8 个),我想用 boids 算法将它们对齐为圆形。代理的全局位置是未知的,但每个代理都知道其他代理相对于自己的位置。代理也可以更新职位。我怎样才能将它们对齐为一个圆圈?如果您需要更多信息,请发表评论。

4

1 回答 1

0

每个代理可以进行如下操作:

1) 使用以下公式计算包含该代理的当前位置及其 3 个最近邻居(您至少需要 4 个点)的点集的最小二乘拟合圆: http ://www.had2know.com/academics/best -fit-circle-least-squares.html

2) 将该代理的当前位置投影到计算的最小二乘拟合圆上

等等等等...

我没有正式的证据证明它会收敛。您可能需要一些“阻尼”来避免振荡。

于 2015-08-02T15:43:56.023 回答