首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Netlogo:在网格的中心创建一个正方形的补丁区域

Netlogo:在网格的中心创建一个正方形的补丁区域
EN

Stack Overflow用户
提问于 2018-12-18 00:43:33
回答 1查看 379关注 0票数 0

我正在尝试创建一个以网格原点为中心的棕色补丁的正方形。以前,我在界面上有一个从0到20的滑块,名为"sink-patch- radius“。然后在我的代码中,我创建了一组以原点为中心的圆形补丁,颜色为棕色+2,半径为"sink-patch-radius",周围的补丁是绿色的。下面是实现这一点的代码(感谢JenB!):

代码语言:javascript
复制
;;create the 'sink'
let sink-centre patch 0 0
set sink-patches [patches in-radius sink-patch-radius] of sink-centre
ask sink-patches [ set pcolor brown + 2 ]

;; create the 'source'
set source-patches patches with [pcolor != brown + 2]
ask source-patches [ set pcolor green ]

所以现在,我希望这个想法保持不变,但我希望它是一个正方形,而不是一个圆形的“下沉区域”。我知道上面的代码将不得不改变,甚至可能是相当多的改变,因为你不能使用"in-radius“来做正方形。我在考虑把滑块改成"sink-patch- length“,这样它就可以调整正方形的边的长度了。我的问题是:如何将其合并到我的代码中,以便获得以原点为中心的棕色补丁的正方形?例如,如果"sink-patch-length“设置为20,那么我希望以原点为中心的20x20正方形(400个单元)的pcolor为棕色+ 2。

任何帮助都是非常感谢的!谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-12-18 08:33:56

使用内置坐标系。所以你想要(类似于) patches with [abs(pxcor) <= sink-patch-length and abs(pycor) <= sink-patch-length]。如果你想让它居中,而不是居中,你需要做一些调整,以使边界正确。

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

https://stackoverflow.com/questions/53819545

复制
相关文章

相似问题

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