我们回到这里 所以 你能够指出支配这个模型的三条行为准则了吗 让我们从另一个角度来观察 这是另外一种 飞鸟群的模样 飞鸟群的模式很复杂有趣 而且非常神奇的是 三条规则就可以创造这样复杂的系统 就像你之前看到的 那我们再来看看 这种关于鸟的行为的模型叫做Boids model 一个名为Craig Reynolds的人在SIGGRAPH会议上发表的 那是1987年著名的计算机科学会议 这个模型帮助 Craig Reynolds在1998年拿到了奥斯卡奖 当然,是技术类奖项 纪念他对3D动画 的贡献 而且 1992年出的蝙蝠侠归来 用Boids model来模拟高谭市的蝙蝠 当然不完全是一个模型 但是本质上一致的 这个模型可以回答一些问题 关于鸟怎么飞 这个模型也可以证明 为什么飞鸟群可以没有中心领导 以及每只鸟是否知道 要往哪里飞 以及这是否是一个决定性 的过程 以及这些鸟是依靠本地信息(local) 还是全球信息(global) 来引导行为方向的 那我们再回头看眼这个模型 看看我们可以回答哪些问题 我之前说过 这个模型有三条基本规则 当你仔细想想 飞鸟群就是一群鸟一起飞 它们朝向一个方向 而且不撞到别人 这基本上就是这三条规则 这个模型使用的 每只鸟的方向跟它的邻居相关 它看看周围的鸟 这个视线(vision)滑条是管视线的 每只鸟可以看多远 视线里的鸟可以算作 群中的小伙伴 根据小伙伴们 它可以决定往哪里飞 一是它想要跟 其他鸟方向一致 也就是说它的方向 要跟它的小伙伴一致 这样大概就是朝着大方向了 单独这条也还行 但是单独这条这个鸟不会形成一个紧密的群 所以我们还要一个规则把它们粘一起(the cohere rule) 假如你跟小伙伴方向一致了 你应该再往鸟群中心 离得近点 这样慢慢的这些鸟就凑得 更加紧密了 当然你不想要它们太紧密 所以还有分离的规则(the separate rule) 假如你快要撞上另外一只鸟了 那你应该躲开 这个规则会影响另外两条规则 把三条放一起 我们就能看到美丽的飞鸟群 现在我们来玩玩设置 假如我们把align rule关掉 就像这样 然后把模拟的速度加快 我们就可以看到即使很久以后 也没有鸟群 这是因为鸟不会一个方向飞 它们就会到处飞 现在我们把 conhere rule开了 把separate rule开了 它们还是不会形成群 因为方向不同 就不会跟随其他的鸟 那我们把align rule开开 恢复5度的设定 但是把conhere rule关上 假如我们重新开始 过了很久我们可以看到一些群 但是这些群距离挺远 它们方向不同 有点越飞越远 因为没有距离的要求 最后,只关掉separate rule 然后时间开快点 最后我们有些群 但这跟之前看到的不大一样 因为它们有点重叠在一起 这些鸟就老碰到一起 看上去不大好看 所以我们的结论当然是 我们需要这三条规则才能重现真实世界 但是问题是你必须得有这些规则 才能让它们成功 而且需要花些时间想想都哪些规则 事实上我们这门课 就是要探讨 哪些简单的规则指导着我们的行为方式 以及我们如何建模体现这些规则 谢谢!