Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netlogo 通过视锥旋转海龟_Netlogo - Fatal编程技术网

Netlogo 通过视锥旋转海龟

Netlogo 通过视锥旋转海龟,netlogo,Netlogo,我想写一封信,在那里我可以看到乌龟的圆锥体角度 我让乌龟通过视觉锥旋转 因此,首先,它朝着视觉圆锥体的起点前进,以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 headi

我想写一封信,在那里我可以看到乌龟的圆锥体角度

我让乌龟通过视觉锥旋转

因此,首先,它朝着视觉圆锥体的起点前进,以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
  ]
最大头部航向+(锥角/2)
设置航向减去航向(零破折号/2)
而[(减去标题最大标题)<0]
[
设置标题+0.05
;等待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
globals
[锥角]
设置
清除所有
创造海龟1
设置锥角25
结束
外带
问海龟
[最大头部航向+(锥角/2)
让假头航向-(锥角/2)
而[假头<最大头]
[打印假头
设置假头假头+1
设置航向假头mod 360
等等0.1
]
]
结束

谢谢!考虑到这一准则。如果海龟的初始航向为10,锥角为30。那么假标题将是10-15=-5。而不是355。从这个角度看没有问题吗?-5和355是等价的标题,所以我认为没有问题。如果执行
set heading-5 print heading
,它实际上会打印355,因为
set heading
本身执行
mod
操作。