- NetLogo多主體建模入門
- 集智俱樂部
- 576字
- 2022-04-18 10:59:48
1.5 鳥群模型
第二個例子是模擬鳥群飛行。我們經常會看到鳥聚集成群,飛行時形成各種隊形,姿態非常優美。當它們朝向一個障礙物飛行的時候,會動態地分成兩隊,在越過這個障礙物后,又能夠聚合到一起。
那么究竟是誰帶領這些鳥形成不同隊形的?實際上,模擬程序告訴我們,并不需要一個領導者來發號施令,只需要讓所有鳥都遵循一種非常自然的簡單規則,一群鳥就有可能形成復雜的隊形。
其中每一個主體都是一只模擬的鳥,每只鳥都有視野半徑,只有其他鳥出現在它的視野半徑內,才會對它造成影響。
我們為這些鳥設置3條簡單的規則。
- 聚集:盡量靠近鄰居。
- 對齊:與鄰居飛行方向保持一致。
- 分離:如果和其他鳥靠得太近,則遠離。
接下來看一看NetLogo自帶的鳥群模擬程序。同樣打開模型庫,找到Flocking模型。開始的時候我們可以看到,這群模擬的鳥散落在屏幕上,如圖1-7所示。

圖1-7 初始化鳥群模型
然后單擊“go
”按鈕,它們就會按照前述3條簡單規則發生聚集。你會發現,這些鳥慢慢會形成一系列鳥群。我們稍微調快一點兒模擬速度,讓鳥群飛得快一點兒,你就會發現這群鳥很快就會形成幾個隊形,一會兒排成“一”字,一會兒排成“人”字,如圖1-8所示。

圖1-8 鳥群模擬圖像
對于每一只鳥下一時刻將會朝哪個方向飛,很難進行預測,我們只有“鉆”到代碼里,去看每一只鳥所面對的環境,才能給出相應的答案。這種在模擬程序中出現了超出程序員事先構想的現象或行為稱為“涌現”。
推薦閱讀
- 剪映短視頻剪輯零基礎一本通
- Joomla! 1.5 SEO
- 數字孿生體:第四次工業革命的通用目的技術
- Vivado從此開始(進階篇)
- Photoshop網店圖片處理實訓教程
- 用Cubase輕松制作你的短視頻音樂
- 深入理解OpenCV:實用計算機視覺項目解析(原書第3版)
- Word-Excel-PowerPoint 2010三合一辦公應用實戰從入門到精通(超值版)
- 短視頻剪輯基礎與實戰應用(剪映電腦版)
- 零基礎學Photoshop CS6(全視頻教學版)
- Joomla! E/Commerce with VirtueMart
- 中文版CorelDRAW X7完全自學教程(實例培訓教材版)
- Maya Paint Effect 特效應用手冊
- Illustrator 2024實用教程
- 剪映短視頻制作從入門到精通(手機版+電腦版)