Netlogo:在网格中心创建正方形的面片区域

Netlogo:在网格中心创建正方形的面片区域,netlogo,Netlogo,我正在尝试创建一个以网格原点为中心的棕色方形面片。在此之前,我在界面上有一个称为“sink patch radius”的滑块,从0到20。然后在我的代码中,我创建了一组以原点为中心的圆形补丁,颜色为棕色+2,半径为“汇补丁半径”,周围的补丁为绿色。下面是实现这一点的代码(感谢JenB的帮助!): 所以现在,我希望这个想法保持不变,但不是一个圆形的“水槽区域”,而是一个正方形。我知道上面的代码将不得不改变,甚至可能会有相当大的改变,因为你不能用“in radius”来做正方形。我正在考虑将滑块更改

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

所以现在,我希望这个想法保持不变,但不是一个圆形的“水槽区域”,而是一个正方形。我知道上面的代码将不得不改变,甚至可能会有相当大的改变,因为你不能用“in radius”来做正方形。我正在考虑将滑块更改为“下沉面片长度”,以便调整正方形边的长度。我的问题是:我如何将其整合到我的代码中,从而得到一个以原点为中心的棕色方块?例如,如果“接收器面片长度”设置为20,则我希望以原点为中心的20x20正方形(400个单元)的pcolor为棕色+2


非常感谢您的帮助!谢谢。

使用内置坐标系。所以你想要(类似于)
带有[abs(pxcor)的补丁谢谢!这真的帮助我得到了我所需要的。我最终做了:让水槽中心补丁0 0设置水槽中心的水槽补丁[patches with[abs pxcor;;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 ]