Netlogo - 我想将海龟的大小设置为它所站立的补丁的大小
Netlogo - Id like to set the size of a turtle as the size of the patch it's standing on
我想将乌龟的大小设置为它所站立的补丁的大小。
更好的是我需要 4 或 16 个补丁的海龟。
例如,如果我有一个带有 16x16 补丁的方形世界,我喜欢拥有 1x1 或 2x2 或 4x4 等大的乌龟......
并且乌龟应该完美地重叠补丁:它可能是 1 个补丁(1x1 案例),4(2x2 案例)等...
abott 将海龟的大小设置为等于补丁的大小,以尝试使用此代码实现完美重叠:
hatch-turtle 1 [set size [size] of patch-here ]
但它给了我错误:
A patch can't access a turtle variable without specifying which turtle.
也许尝试一些变体:
ask turtles [ set size patch-size ]
可能会根据需要按乘数缩放。请注意,size
是每个海龟变量,但 patch-size
是全局报告器,因为所有补丁的像素大小始终相同。
请注意,size
以色块为单位进行测量,而 patch-size
以像素为单位进行测量。
我真的完全不明白你想在这里做什么,但无论如何,上面是合法的 NetLogo 代码。
乌龟的大小是以瓦片为单位测量的,所以如果您希望您的乌龟与它们站立的瓦片大小相同,那就是:
ask turtles [ set size 1 ]
但是 1 是默认大小,因此为了获得此行为,您实际上根本不需要做任何事情。
这个答案是在问题被问到几年后出现的,但我把它留在这里希望它能帮助其他可能遇到同样问题的人(就像我一样)。下面我先把问题弄清楚再给出解决方案
澄清:问题暗示OP为海龟定义了一个正方形。 NetLogo 中方形海龟的默认大小为 1,这意味着默认情况下方形海龟应该完全填满一块。但是,OP 仍然在彼此相邻放置的方形海龟之间观察到空白 space。这个答案的目的是删除大小为 1 的方形海龟的空白 space。
解决方法: 解决这个问题,注意NetLogo中乌龟的默认正方形是由彩色的内部区域组成的和厚厚的无色边框。 OP 在海龟之间观察到的空白 space 实际上是由方形的无色边框组成的。为了生成一个带有彼此紧邻放置的彩色方块的图形(也就是说,它们之间没有任何明显的 space),定义一个没有边框的新方形就足够了。这个新的正方形应该被定义为正方形的内部区域填充整个补丁。这可以使用“工具”菜单中的“海龟形状编辑器”来完成:找到正方形,创建它的副本,然后在图形编辑器中修改新形状。要修改形状,请单击其 top-left 角并将该角拖动到图形编辑器 window 的 top-left 角。然后对bottom-right角做同样的事情。
我想将乌龟的大小设置为它所站立的补丁的大小。 更好的是我需要 4 或 16 个补丁的海龟。
例如,如果我有一个带有 16x16 补丁的方形世界,我喜欢拥有 1x1 或 2x2 或 4x4 等大的乌龟...... 并且乌龟应该完美地重叠补丁:它可能是 1 个补丁(1x1 案例),4(2x2 案例)等...
abott 将海龟的大小设置为等于补丁的大小,以尝试使用此代码实现完美重叠:
hatch-turtle 1 [set size [size] of patch-here ]
但它给了我错误:
A patch can't access a turtle variable without specifying which turtle.
也许尝试一些变体:
ask turtles [ set size patch-size ]
可能会根据需要按乘数缩放。请注意,size
是每个海龟变量,但 patch-size
是全局报告器,因为所有补丁的像素大小始终相同。
请注意,size
以色块为单位进行测量,而 patch-size
以像素为单位进行测量。
我真的完全不明白你想在这里做什么,但无论如何,上面是合法的 NetLogo 代码。
乌龟的大小是以瓦片为单位测量的,所以如果您希望您的乌龟与它们站立的瓦片大小相同,那就是:
ask turtles [ set size 1 ]
但是 1 是默认大小,因此为了获得此行为,您实际上根本不需要做任何事情。
这个答案是在问题被问到几年后出现的,但我把它留在这里希望它能帮助其他可能遇到同样问题的人(就像我一样)。下面我先把问题弄清楚再给出解决方案
澄清:问题暗示OP为海龟定义了一个正方形。 NetLogo 中方形海龟的默认大小为 1,这意味着默认情况下方形海龟应该完全填满一块。但是,OP 仍然在彼此相邻放置的方形海龟之间观察到空白 space。这个答案的目的是删除大小为 1 的方形海龟的空白 space。
解决方法: 解决这个问题,注意NetLogo中乌龟的默认正方形是由彩色的内部区域组成的和厚厚的无色边框。 OP 在海龟之间观察到的空白 space 实际上是由方形的无色边框组成的。为了生成一个带有彼此紧邻放置的彩色方块的图形(也就是说,它们之间没有任何明显的 space),定义一个没有边框的新方形就足够了。这个新的正方形应该被定义为正方形的内部区域填充整个补丁。这可以使用“工具”菜单中的“海龟形状编辑器”来完成:找到正方形,创建它的副本,然后在图形编辑器中修改新形状。要修改形状,请单击其 top-left 角并将该角拖动到图形编辑器 window 的 top-left 角。然后对bottom-right角做同样的事情。