首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“前进1”在网络标识中是什么意思?如何在网络标识中指定海龟最近的补丁?

“前进1”在网络标识中是什么意思?如何在网络标识中指定海龟最近的补丁?
EN

Stack Overflow用户
提问于 2015-12-21 08:52:44
回答 2查看 440关注 0票数 1

当我们邀请一只海龟去forward 2时,这是否意味着:

  1. 在它的方向上,移动到第二个最近的补丁。
  2. 在它的方向上,移动到第二个最近的补丁的中心点
  3. 在它的方向上,移动到第二个最近的补丁的中心点,即(pxcor, pycor)

哪一个是对的?或者他们的答案是一样的?

我们如何定义这只海龟所指向的最近的补丁?下面的理解正确吗?

  1. 顶部贴片:如果标题在- 45 (315)到45度之间
  2. 右贴图:如果航向在45度至135度之间
  3. 底部贴片:如果标题在135到225度之间
  4. 左贴片:如果航向在225度至315度之间
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-21 16:10:32

它意味着向前移动1。查看这一点的最简单方法是使用以下代码:

代码语言:javascript
复制
to setup
  clear-all
  create-turtles 1
  [ setxy 0 0
    set heading 45
    forward 1
    print xcor
    print ycor
  ]
end

试着改变标题,看看会发生什么。注意,补丁的宽度正好是1单位,补丁的中心是整数值(所以补丁0 0从XCOR-0.5扩展到xcor +0.5)

票数 2
EN

Stack Overflow用户

发布于 2015-12-22 15:23:33

forward完全忽略补丁边界和补丁中心,所以1-3都是不正确的.补丁不会进入它,它只是海龟的x和y坐标上的三角函数。具体来说,forward 1只是setxy (xcor + sin heading) (ycor + cos heading)的意思。目标补丁只是新的x和y坐标恰好位于其中的任何补丁。目的地可能是补丁中心,也可能不是补丁中心。

forward 1可能会将海龟留在同一个补丁中(例如,如果海龟位于向东北方向的补丁的西南角;对角线的长度为1.414.,因此forward 1不足以到达新的补丁)。或者,forward 1可以带海龟到前面最近的地方,或者到前面最近的地方。(后者可能会发生,如果海龟只是擦拭一个补丁的角。)

一个可以用来探索和理解所有这些可能性的好模型是Next示例,在NetLogo的模型库的代码示例部分

至于你问题的第二部分,你的定义只有在海龟最初站在斑块中心时才是正确的。对于一般情况,下一个修补程序示例也回答了这一点。该模型中的next-patch过程与您的定义类似,但处理一般情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34391882

复制
相关文章

相似问题

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