在NetLogo中创建虚拟陷阱

在NetLogo中创建虚拟陷阱,netlogo,Netlogo,我有一个NetLogo的动物模型,在一片风景中四处移动。我想随机将虚拟的“摄像机陷阱”(使用红外光束拍摄动物照片的野外摄像机)放置在彼此之间一定距离的景观上。然后,当其中一只动物在摄像机捕捉器的某个半径内行走时,就会记录下蜱的数量和有关该动物的信息。请参见下面的示例。根据图示,我想报告与相机陷阱(星形)周围浅蓝色区域相交的动物的蜱虫和动物信息。我不知道该怎么做。任何建议都会很有帮助。谢谢 这只是一些让您开始的代码,有几种方法可以满足您的需要,这只是其中之一。在这一个有两个品种,相机品种(你可能不

我有一个NetLogo的动物模型,在一片风景中四处移动。我想随机将虚拟的“摄像机陷阱”(使用红外光束拍摄动物照片的野外摄像机)放置在彼此之间一定距离的景观上。然后,当其中一只动物在摄像机捕捉器的某个半径内行走时,就会记录下蜱的数量和有关该动物的信息。请参见下面的示例。根据图示,我想报告与相机陷阱(星形)周围浅蓝色区域相交的动物的蜱虫和动物信息。我不知道该怎么做。任何建议都会很有帮助。谢谢


这只是一些让您开始的代码,有几种方法可以满足您的需要,这只是其中之一。在这一个有两个品种,相机品种(你可能不需要使用一个品种,你可以要求一些补丁设置一个变量为真,使他们成为相机点,然后他们可以有一个记录),相机点记录蜱虫和动物是通过半径2(你也可以使用距离原语)

更新: 这一款相机不使用品种,而是使用补丁:

    breed [Animals animal]

patches-own [records is-camera-point?]
Globals [Cameras]

    to setup
    let Zone 2
      clear-all
      reset-ticks
      resize-world 0 20 0 20 
      set-patch-size 20
      set-default-shape animals "wolf"
     setup-world

    Create-animals 10 [move-to one-of patches]
    end

    to setup-world
    ask patches [
      set pcolor white
      set records []
      set is-camera-point? false
    ]

    ask n-of 5 patches [
      set is-camera-point? true
      set records []

      set pcolor red]

    set Cameras patches with [is-camera-point?]
    end
    to go
    ask animals
    [
      animals-walk
      ]


    tick  
    end

    to animals-walk-with-Radius
      rt random 10
      fd 1
      if any? cameras in-radius 2 [

        ask one-of cameras in-radius 2 [
          set records lput (list ticks myself) records
        ]
        ]

    end
    to animals-walk ; with distance
      rt random 10
      fd 1
      if any? cameras with [distance myself < 2] [

        ask one-of cameras with [distance myself < 2] [
          set records lput (list ticks myself) records
        ]
        ]

    end
繁殖[动物]
patches own[记录是摄影机点?]
全球[照相机]
设置
让第二区
清除所有
重置滴答声
调整世界大小0 20 0 20
设置补丁大小为20
设置默认形状动物“狼”
设置世界
创建动物10[移动到其中一个补丁]
结束
建立世界
询问补丁[
将颜色设置为白色
创纪录[]
设置为相机点?错误
]
问n-5个补丁[
设置为相机点?正确
创纪录[]
设置颜色[红色]
使用[is camera point?]
结束
外带
问动物
[
动物行走
]
打上钩
结束
使动物以半径行走
rt随机10
fd 1
如果有的话?半径为2的摄像机[
询问半径2内的一个摄像头[
设置记录lput(列表)记录
]
]
结束
让动物行走;远远地
rt随机10
fd 1
如果有的话?具有[距离小于2]的摄像头[
询问其中一个具有[距离小于2]的摄像头[
设置记录lput(列表)记录
]
]
结束

@user2359494您能提供完整的模型给我吗,我想扩展它请发送到我的电子邮件:)我的电子邮件:jellyforjully088@yahoo.com提前谢谢#看起来很有趣
  observer> ask camera 4 [ print records]
    [[0 (animal 10)] [0 (animal 11)] [1 (animal 10)] [1 (animal 6)] [2 (animal 10)] 
    [2 (animal 6)] [3 (animal 10)] [3 (animal 6)] [4 (animal 6)] [10 (animal 7)] 
    [11 (animal 7)] [12 (animal 7)] [13 (animal 7)]]
    breed [Animals animal]

patches-own [records is-camera-point?]
Globals [Cameras]

    to setup
    let Zone 2
      clear-all
      reset-ticks
      resize-world 0 20 0 20 
      set-patch-size 20
      set-default-shape animals "wolf"
     setup-world

    Create-animals 10 [move-to one-of patches]
    end

    to setup-world
    ask patches [
      set pcolor white
      set records []
      set is-camera-point? false
    ]

    ask n-of 5 patches [
      set is-camera-point? true
      set records []

      set pcolor red]

    set Cameras patches with [is-camera-point?]
    end
    to go
    ask animals
    [
      animals-walk
      ]


    tick  
    end

    to animals-walk-with-Radius
      rt random 10
      fd 1
      if any? cameras in-radius 2 [

        ask one-of cameras in-radius 2 [
          set records lput (list ticks myself) records
        ]
        ]

    end
    to animals-walk ; with distance
      rt random 10
      fd 1
      if any? cameras with [distance myself < 2] [

        ask one-of cameras with [distance myself < 2] [
          set records lput (list ticks myself) records
        ]
        ]

    end