我希望写一下我对龟有一个视锥锥角的地方。
我将乌龟旋转通过视锥。
因此,首先它开始视锥,并以0.05度的增量变化,直到达到视锥的末端
let max-head heading + (cone-angle / 2)
set heading subtract-headings heading (zero-dash / 2)
while[(subtract-headings heading max-head ) < 0]
[
set heading heading + .05
;wait 0.1
]
我写的上述代码不正确。但我无法找到错误。
答案 0 :(得分:1)
我认为你的部分困难是使用减法标题。这可以找到两个标题之间最短角度的大小,而不是您想要的视锥(可能是宽视野)。由于您的代码顺时针旋转,我假设您想要从最逆时针点开始并旋转。唯一的困难是如果标题经过360,那么你需要将锥形扫描计数器和实际标题分开,并使用mod算法从计数器转换。
globals
[ cone-angle]
to setup
clear-all
create-turtles 1
set cone-angle 25
end
to go
ask turtles
[ let max-head heading + (cone-angle / 2)
let fake-head heading - (cone-angle / 2)
while [fake-head < max-head]
[ print fake-head
set fake-head fake-head + 1
set heading fake-head mod 360
wait 0.1
]
]
end