我试图模拟自给自足的奶牛种群,但当我在主agent的种群中添加新的智能体时,新创建的智能体不会出现。如何修复它?我从母代理创建代理,使用
this.main.add_cows();
发布于 2017-12-19 07:05:37
首先转到动画将存在的代理(也是定义您的代理的位置)。在大多数情况下,这是主代理,因此您可能希望转到" main“并单击cow代理,以查看cow代理属性中的”初始位置“。
当创建新代理时,默认位置在代理动画位置,这可能在可见区域之外的某个位置,因为我们通常将定义的代理定位在画布之外,在您的示例中,所有奶牛的位置都是相同的。
现在你有了其他选择:例如,你可以在空间中选择一个随机坐标(假设你有一个600x600像素的正方形):
也可以选择一个节点(只要在动画画布中定义了一个节点:
所以,总而言之,当你在你的群体中创建一个新的代理时,你必须告诉AnyLogic你想把它放在哪里……否则,软件怎么知道你想要什么呢?
发布于 2017-12-18 15:51:23
请确保设置正确的初始位置,否则它可能会出现在您不期望的默认位置。类似于:
Cow myNewCow = this.main.add_cows();
myNewCow.setXY(uniform(0,600), uniform(0,400));
https://stackoverflow.com/questions/47854608
复制相似问题