在《蝙蝠俠歸來(lái)》中有一個(gè)場(chǎng)景,一大群黑色大蝙蝠一窩蜂地穿越水淹的隧道涌向紐約市中心。這些蝙蝠是由電腦制作的。動(dòng)畫(huà)繪制者先制作一只蝙蝠,并賦予它一定的空間以使之能自動(dòng)地扇動(dòng)翅膀;然后再?gòu)?fù)制出幾十個(gè)蝙蝠,直至成群。之后,讓每只蝙蝠獨(dú)自在屏幕上四處飛動(dòng),但要遵循算法中植入的幾條簡(jiǎn)單規(guī)則:不要撞上其他的蝙蝠,跟上自己旁邊的蝙蝠,離隊(duì)不要太遠(yuǎn)。當(dāng)這些“算法蝙蝠”在屏幕上運(yùn)行起來(lái)時(shí),就如同真的蝙蝠一樣成群結(jié)隊(duì)而行了。
群體規(guī)律是由克雷格?雷諾茲[1]發(fā)現(xiàn)的。他是在圖像硬件制造商 Symbolics 工作的計(jì)算機(jī)科學(xué)家。他有一個(gè)簡(jiǎn)單的方程,通過(guò)對(duì)其中各種作用力的調(diào)整——多一點(diǎn)聚力,少一點(diǎn)延遲——雷諾德能使群體的動(dòng)作形態(tài)像活生生的蝙蝠群、麻雀群或魚(yú)群。甚至在《蝙蝠俠歸來(lái)》中的行進(jìn)中的企鵝群也是根據(jù)雷諾茲的運(yùn)算法則聚合的。像蝙蝠一樣,先一古腦地復(fù)制很多計(jì)算機(jī)建模的三維企鵝,然后把它們釋放到一個(gè)朝向特定方向的場(chǎng)景中。當(dāng)它們行進(jìn)在積雪的街道上,就輕易地出現(xiàn)了推推搡搡擁擠的樣子,不受任何人控制。
雷諾茲的簡(jiǎn)單算法所生成的群體是如此真實(shí),以致于當(dāng)生物學(xué)家們回顧了自己所拍攝的高速電影后,他們斷定,真實(shí)的鳥(niǎo)類(lèi)和魚(yú)類(lèi)的群體行為必然源自于一套相似的簡(jiǎn)單規(guī)則。群體曾被看作是生命體的決定性象征,某些壯觀的隊(duì)列只有生命體才能實(shí)現(xiàn)。如今根據(jù)雷諾茲的算法,群體被看作是一種自適應(yīng)的技巧,適用于任何分布式的活系統(tǒng),無(wú)論是有機(jī)的還是人造的。
· [1] 克雷格?雷諾茲(Craig Reynolds,1953.03.15~):仿真生命與電腦圖形圖像專(zhuān)家,1986年發(fā)明仿真人工生命“類(lèi)鳥(niǎo)群”?!g自“維基百科”