在代理内部设置到达 XYZ 的源位置
Posted
技术标签:
【中文标题】在代理内部设置到达 XYZ 的源位置【英文标题】:Setting Source Location of Arrival at XYZ inside an agent 【发布时间】:2022-01-09 17:08:32 【问题描述】:我有一个名为“ship2”的代理,它位于“main”中。我想使用源块(在“main”中)在“ship”中的特定 XYZ 坐标处生成材料代理。
我可以在'ship2'中定义一个节点(称为n_area),然后将以下内容放入源块中。这是因为物质代理出现在“船”内。但是我不想使用这种方法,因为我想控制材料代理的确切位置,并且我不想设置 100 个节点。
我尝试将“到达地点”设置为 (x,y,z),但我不知道输入 X、Y 和 Z 字段的语法。
另外,最终我想用一个函数来生成x、y、z。
是否可以使用源代码块来执行上述操作?还是有更好的方法(也许使用 Enter 块)?
感谢您的帮助。
【问题讨论】:
【参考方案1】:我尝试将“到达地点”设置为 (x,y,z),但我不知道输入 X、Y 和 Z 字段的语法。
您可以在创建代理时简单地使用setXY(x,y)
。 (假设你不需要z,否则setXYZ(...)
)
或者您使用 x,y,z 设置(使用您喜欢的任何 xyz 添加):
但是,您始终需要对位置小心一点。如果代理总是住在“船内”,您可能希望他们的代理人口在Ship
中,并在 Ship 内的 Source 对象中创建它们。
【讨论】:
感谢本杰明的及时回复。但是,我不相信这正是我所追求的。以上将在“main”中相对于“ship2”的位置创建材料代理,对吗?也就是说,如果“ship2”随后移动,则材料代理将不会随之移动。此外,材质代理将在“ship2”和“主”之间移动,所以我认为在这种情况下,在主中使用 Source 块生成它们会更好。 True ,不确定你指的是哪一个。在这种情况下,在 Ship 中拥有一个人口并使用 Ship 中的源直接在 Ship 中创建您的代理,然后,它们的位置仅与 Ship 相关。 在你的“船”和“主要”代理中都有“容器”种群是在不同上层代理之间转移容器的正确方法。至于它们的相对位置,只要容器切换种群时调用本杰明上面写的方法,我相信,在你的情况下,应该是起重机开始移动的时候。 总是在 SOF 上打开新问题,这不是论坛 :) 见 benjamin-schumann.com/blog/2021/4/1/… 注意,谢谢本杰明。使用 gotoPopulation 对问题进行排序。干杯以上是关于在代理内部设置到达 XYZ 的源位置的主要内容,如果未能解决你的问题,请参考以下文章