NetLogo 能否使用圆锥内或半径内合并具有 2 个盲点的代理?
Can NetLogo incorporate an agent with 2 blind spots using in-cone or in-radius?
许多动物的眼睛位于头部的侧面而不是前面。这意味着他们有 2 个视锥,在前后都有盲点。
有没有办法在 NetLogo 中对此进行编程?
当然有不同的解决方案来实现这一点。
一种解决方案是首先识别前方盲点中的所有补丁。
然后在第二步中,识别由前盲点补丁和侧视补丁组成的更大锥体中的所有补丁,但只保留那些
不是前盲点补丁集成员的补丁。
ask turtles
[
;; define angles
let full-angle 260
let blind-front-angle 70
let vision-distance 40
let blind-front patches in-cone vision-distance blind-front-angle
let vision patches in-cone vision-distance full-angle with [not member? self blind-front]
ask vision [set pcolor red]
]
在代码示例中,full-angle parameter
用于间接定义后方盲点的大小,即360-全角。
blind-front-angle
参数直接定义了前方盲点的大小。
许多动物的眼睛位于头部的侧面而不是前面。这意味着他们有 2 个视锥,在前后都有盲点。
有没有办法在 NetLogo 中对此进行编程?
当然有不同的解决方案来实现这一点。 一种解决方案是首先识别前方盲点中的所有补丁。 然后在第二步中,识别由前盲点补丁和侧视补丁组成的更大锥体中的所有补丁,但只保留那些 不是前盲点补丁集成员的补丁。
ask turtles
[
;; define angles
let full-angle 260
let blind-front-angle 70
let vision-distance 40
let blind-front patches in-cone vision-distance blind-front-angle
let vision patches in-cone vision-distance full-angle with [not member? self blind-front]
ask vision [set pcolor red]
]
在代码示例中,full-angle parameter
用于间接定义后方盲点的大小,即360-全角。
blind-front-angle
参数直接定义了前方盲点的大小。