Netlogo 中的旋转海龟形状
Rotating turtle shape in Netlogo
Netlogo 的新手,无法弄清楚如何旋转海龟创建的图像。我是否必须将每只海龟移过网格以使其看起来像是在旋转,或者是否有更简单的方法?海龟应该移动并使创建的形状像俄罗斯方块一样向左旋转。
to LShape
ca
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 0 0
]
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 0.8 0
]
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 1.6 0
]
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 1.6 -0.8
]
end
to RotateL
ask turtles [
set heading heading + 10
]
end
我为您生成了一个小示例。我首先创建一组简单的海龟并给它们一个位置。然后我让海龟 0(我选择它作为我的焦点海龟)为所有其他海龟创建一个 link。最后,我将所有 link 设置为并列。这意味着如果海龟 0 移动或转弯,所有其他 linked 海龟将与他一起移动和转弯。因为我使用了 create-links-to
,所有的海龟都和海龟 0 一起移动。但是,如果你让另一只海龟移动,只有那只海龟会移动。让你轻松重塑身材
to setup
ca
resize-world 0 9 0 9
crt 1[setxy 4 4]
crt 1[setxy 4 5]
crt 1[setxy 4 6]
crt 1[setxy 5 4]
ask turtle 0 [create-links-to other turtles [tie] ]
end
to turn
ask turtle 0 [set heading heading + 10]
end
您可以使用 create-links-with
来使连接双向工作。如果您有时想让不同的代理成为焦点,这可能很有用。下面是两只乌龟通过交替让任一转弯向前走的小示例代码。
to setup-2
ca
resize-world 0 9 0 9
crt 1[setxy 0 3]
crt 1[
setxy 0 6
create-link-with turtle 0 [tie]
]
end
to step-left
ask turtle 0 [set heading heading + 20]
end
to step-right
ask turtle 1 [set heading heading - 20]
end
如果你不想再把它们捆绑在一起,你可以简单地向 link 询问 untie
。如果您愿意,links 仍将在那里重新绑定。
最后,如果 link 用 ask links [hide-link]
弄乱了图像,您可以让它们不可见
Netlogo 的新手,无法弄清楚如何旋转海龟创建的图像。我是否必须将每只海龟移过网格以使其看起来像是在旋转,或者是否有更简单的方法?海龟应该移动并使创建的形状像俄罗斯方块一样向左旋转。
to LShape
ca
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 0 0
]
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 0.8 0
]
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 1.6 0
]
crt 1 [
set color grey
set heading 1
set shape "dot"
set size 2
setxy 1.6 -0.8
]
end
to RotateL
ask turtles [
set heading heading + 10
]
end
我为您生成了一个小示例。我首先创建一组简单的海龟并给它们一个位置。然后我让海龟 0(我选择它作为我的焦点海龟)为所有其他海龟创建一个 link。最后,我将所有 link 设置为并列。这意味着如果海龟 0 移动或转弯,所有其他 linked 海龟将与他一起移动和转弯。因为我使用了 create-links-to
,所有的海龟都和海龟 0 一起移动。但是,如果你让另一只海龟移动,只有那只海龟会移动。让你轻松重塑身材
to setup
ca
resize-world 0 9 0 9
crt 1[setxy 4 4]
crt 1[setxy 4 5]
crt 1[setxy 4 6]
crt 1[setxy 5 4]
ask turtle 0 [create-links-to other turtles [tie] ]
end
to turn
ask turtle 0 [set heading heading + 10]
end
您可以使用 create-links-with
来使连接双向工作。如果您有时想让不同的代理成为焦点,这可能很有用。下面是两只乌龟通过交替让任一转弯向前走的小示例代码。
to setup-2
ca
resize-world 0 9 0 9
crt 1[setxy 0 3]
crt 1[
setxy 0 6
create-link-with turtle 0 [tie]
]
end
to step-left
ask turtle 0 [set heading heading + 20]
end
to step-right
ask turtle 1 [set heading heading - 20]
end
如果你不想再把它们捆绑在一起,你可以简单地向 link 询问 untie
。如果您愿意,links 仍将在那里重新绑定。
最后,如果 link 用 ask links [hide-link]