首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Net徽标,如何使海龟在到达目的地的补丁之间沿着路径运行。

Net徽标,如何使海龟在到达目的地的补丁之间沿着路径运行。
EN

Stack Overflow用户
提问于 2015-08-31 17:14:48
回答 2查看 1.6K关注 0票数 4

你好,我试图模拟游客在国家公园内的活动,这个模型的想法是游客沿着这个国家公园的路走,他们在营地里停了一段时间。

我有两个问题,使用NW,我找到了两个节点之间最短的路径,但我不能让游客沿着这条路走。我遇到的第二个问题是,游客有目的地,我希望节点使用与游客相同的补丁,到达同一个目的地,并给游客下订单,这样它就会沿着这条路走下去。

这个脚本使用NW和地理信息系统扩展,我上传了我在https://github.com/derek-corcoran-barrios/netlogoPNTP中使用的脚本和光栅,这样您就可以轻松地使用光栅运行它。

谢谢你的帮助

干杯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-24 01:10:58

1)我假设您有一个过程,它报告修补程序与其目标之间路径的长度。对于这个答案,让我们称它为distance-to-target.让旅游者节点的每个链接邻居运行它,并以最短的值将游客移动到该节点。

请记住,这是通用代码,可能需要根据您的需要进行调整。

代码语言:javascript
复制
ask tourists  
   [
    set node-here min-of ([link-neighbors] of node-here) [distance-to-target]
   move-to node-here; this makes them move 
   ]

事实上,我认为如果我正确理解,这可能会回答你们的两个问题。

票数 2
EN

Stack Overflow用户

发布于 2015-11-24 07:59:23

网络扩展原语nw:turtles-on-path-to返回位于到达目的地的最短路径上的节点的list。这就是你发现的原始人吗?假设您有一个名为mypath的海龟变量来存储它,那么您希望得到这样的路径:

代码语言:javascript
复制
ask turtles
[ ... ; decides target
  set mypath nw:turtles-on-path-to target
]

像这样的东西在路上移动。它将移动到列表中第一个节点的位置,然后从列表中删除第一个节点,以便新的第一个节点是下一步。

代码语言:javascript
复制
...
move-to item 0 mypath
ifelse length mypath > 0
  [ remove-item 0 mypath ]
  [ print "at destination" ]
...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32316486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档