我正在尝试模拟自我维持的奶牛群,但是当我在主要代理人口中添加新代理时,新创建的代理不会出现。怎么解决?我从母亲代理处创建代理
this.main.add_cows();
first generation population
pupulation without presentation
首先转到动画将存在的代理程序(也是定义代理程序的代理程序)。在大多数情况下,这是主要代理,因此您可能希望转到“主”并单击牛代理以查看牛代理的属性中的“初始位置”。
创建新代理时,默认位置位于代理动画位置,该位置可能位于可见区域之外,因为我们通常将定义的代理放置在画布之外,在您的情况下,它对于所有奶牛来说都是相同的位置。
现在您还有其他选择:您可以选择空间中的随机坐标(假设您有600x600像素的正方形):
或者您可以选择一个节点(只要在动画画布中定义了一个节点:
因此,总而言之,当您在人口中创建新代理时,您必须告诉AnyLogic您要在哪里找到它...否则,软件如何知道您想要什么?
确保将初始位置设置正确,否则它可能出现在您不期望的默认位置。就像是:
Cow myNewCow = this.main.add_cows(); myNewCow.setXY(uniform(0,600), uniform(0,400));