我正在尝试在netlogo上制作带有补丁的正方形和矩形,变量为x(pxcor)y(pycor)w(宽度)l(长度)。我写了
ask patch random w random h [set pcolor blue]
并能够创建具有我输入的长度和宽度的规则矩形和正方形,但是它们始终以左下角的0,0出现。如何创建这些形状并使它们以x的左上角出现和我输入的y坐标。请提供任何帮助
答案 0 :(得分:1)
实际上,您的代码指示NetLogo将一个补丁变成蓝色,而不是长方形的补丁。这是因为random w
从0到(w-1)中选择一个随机数,而random h
从0到(h-1)中选择一个随机数。如果选择的两个随机数恰好是3和2,则告诉NetLogo将patch 3 2
的颜色更改为蓝色。
如果您实际上是在获取矩形,则必须重复选择一个随机面片,但这不在您提供的代码中。
在NetLogo中,补丁0 0是世界的中心(尽管可以通过设置进行更改)。考虑一下您要做什么。如果要将(0,0)设为左上角,则希望矩形覆盖从0的pxcor
到w和-h的pycor
到0的空间(可能不同,具体取决于有关是否要在矩形中显示0,0的信息。
所以您想要更多类似的东西:
ask patches with [pxcor <= 3 and pxcor > 0 and pycor < 0 and pycor >= -2]
[ set pcolor blue ]