Rotating a turtle through cone of vision

元气小坏坏 提交于 2019-12-11 01:34:55

问题


I wish to write to where I have a cone-of-vision cone angle for the turtle.

And I rotate the turtle through the cone-of-vision.

Therefore, first it's heading the start of cone-of-vision and with a increment of 0.05 degree it changes till it reaches the end of cone-of-vision

  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
  ]

The above code I wrote isnt correct. But I can't find the mistake.


回答1:


I think part of your difficulty is using subtract-headings. This finds the size of the shortest angle between two headings and that's not what you want for a cone of vision (which could potentially be wide). Since your code rotates clockwise, I have assumed you want to start at the most anti-clockwise point and rotate. The only difficulty then is if the heading goes through 360, so you need to separate the cone sweeping counter and the actual heading, and use mod arithmetic to convert from the counter.

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


来源:https://stackoverflow.com/questions/27401242/rotating-a-turtle-through-cone-of-vision

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!