以下是我在模型库中的Turtles Circling示例中找到的代码:
to create-circle
create-turtles 1
[ move-to patch-goal
set color gray - 3
set size 4.5
set shape "circle"
stamp
die ]
end
这不能用于创建半圆,除非你改变乌龟的形状,这看起来很幼稚。 如何创建一个以补丁为中心的半圆?考虑到乌龟在中心的视角,半圆从90到270不等。 此外,正在简化创建轮廓的可能性。
答案 0 :(得分:1)
如果您希望圆圈以半圆形移动,您可以执行以下操作:
基本上,你检查乌龟是否在水平轴上,如果是,你需要看看它是在半圆的左侧还是右侧。如果它在左侧,乌龟应该朝上,否则乌龟应该朝左。你需要做远距离,因为由于四舍五入(由于旋转和速度),乌龟可能有也可能没有整数值。
to move-along-circle [r]
fd (pi * r / 180) * (speed / 50)
ifelse distancexy xcor 0 < (speed / 50)
[
ifelse distancexy (-1 * r) ycor < (speed / 50)
[set heading 0]
[set heading -90]
]
[rt speed / 50]
end
如果你想让中间的大乌龟的形状成为一个圆圈,你就可以设置乌龟的形状。你可以进入乌龟形状编辑器创建一个半圆形状,因为我没有看到。