我有许多代理(例如6或8),我想将它们与boids算法对齐为圆形。代理商的全球职位尚不清楚,但每个代理商都知道其他代理商相对于自身的职位。代理商也可以更新职位。我如何将它们对齐为圆圈?如果您需要其他信息,请发表评论。
答案 0 :(得分:0)
每个代理可以按如下方式进行:
1)计算包含该代理的当前位置及其3个最近邻居(您需要至少4个点)的点集的最小二乘拟合圆,使用以下公式: http://www.had2know.com/academics/best-fit-circle-least-squares.html
2)将此代理的当前位置投影到计算的最小二乘拟合圆上
依旧等等......
我没有正式的证据表明它会收敛。您可能需要一些“阻尼”以避免振荡。