在NetLogo中创建一个半圆
下面是我在模型库中的海龟盘旋示例中找到的代码:在NetLogo中创建一个半圆,netlogo,Netlogo,下面是我在模型库中的海龟盘旋示例中找到的代码: 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不等
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不等。
此外,简化创建轮廓是否可行。如果希望圆在半圆中移动,可以执行以下操作: 基本上,你要检查海龟是否在水平轴上,如果是,你需要看看它是在半圆的左侧还是右侧。如果它在左边,乌龟应该面朝上,否则乌龟应该面朝左。由于四舍五入(由于旋转和速度),海龟可能有一个整数值,也可能没有一个整数值,因此需要执行distancexy
沿圆移动[r]
fd(pi*r/180)*(速度/50)
ifelse距离XY xcor 0<(速度/50)
[
ifelse距离xy(-1*r)ycor<(速度/50)
[设置标题0]
[设定标题-90]
]
[rt速度/50]
结束
如果你想把大海龟的形状做成一个圆形,你就可以确定海龟的形状。你可以进入海龟形状编辑器创建一个半圆形状,因为我没有看到
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