什麼是分形?
「分維和分形的設想」最早由本華·曼德博(Benoit B. Mandelbrot)於 1973 年在法蘭西學院講課時提出,但人類在這個概念被提出之前早已發現了分形現象。1904 年,瑞典數學家科赫(Helge von Koch)首次發表了雪花圖案的結構—科赫曲線(又稱雪花曲線),它被認為是一種數學怪胎,一種奇怪的人工構造(但實際上並不是,自然界中到處都是以分形結構存在著的圖形)。分形具有以非整數維[1]形式充填空間的形態特徵。以科赫曲線為例,我們既不能說科赫曲線是一維的,也不能說它是二維的,因為無論將它放大到什麼程度,它都不會是以直線或光滑曲線所構成的,那麼它就不包含任何一維的幾何圖形;同樣,它被稱作曲線也就意味著它不佔任何面積,所以它也不是二維的。那麼, 我們就需要一個新的維度,對這一類圖形進行定義,這就是分維。科赫曲線約為 1.26 維。分形還有一個重要的特性就是自相似性—一個粗糙或零碎的幾何形狀(分形圖形),可分成數個部分,且每一部分都與整體完全一致或至少相近似,例如羅馬花椰菜、謝爾賓斯基三角形,等等。[1]. 普通人對分形難理解的是「分維」。在經典的歐幾裡得幾何學中,人們習慣上認識的世界都是整數維的,比如點是零維、線是一維、面是二維……也就是說,人們習慣上認識的世界是由直線和光滑的曲線構成的,而分形在數學上存在於一個奇怪的世界—介於一個整數維和另一個整數維之間。—譯者注▲ 科赫曲線是一種分形, 其形態似雪花, 又稱科赫雪花, 上圖為生成過程自從內斯使用計算機繪製出由代碼生成的繪畫開始,在隨後的幾十年裡, 程式設計師們利用計算機展開試驗,使用簡單的程序代碼生成非同一般、異乎尋常的視覺藝術作品。程式設計師們之所以能展開這些試驗,全都依靠於不斷發展的計算機技術。如果沒有計算機的幫助,從無限複雜的圖形中發現分形幾乎是不可能的。從某種程度上講,在沒有參照物的情況下,因為分形圖像的自相似性, 我們是無法判斷我們所觀察的這一部分在圖中的所在位置以及放大倍數的。相信所有去過迪廳或夜總會的人,都會被 DJ 身後大屏幕上奇幻的畫面所吸引。注視它時,你會發現大屏幕上所投放的畫面不斷地放大,讓人有一種被吸入的感覺,仿佛進入了一個夢幻般的世界,但似乎永遠觸不到底。當被這奇幻的畫面所吸引時,你會聯想到什麼?這就是用計算機生成的最經典的分形案例之一 —— 曼德博集合[2](Mandelbrot set)。這樣的分形圖像在沒有計算機輔助的情況下是不可能生成的。那麼,計算機生成的這些分形圖像算得上是藝術嗎?[2]. 曼德博集合是一種在複平面上組成分形的點的集合,以數學家本華·曼德博的名字命名。曼德博集合與朱利亞集合有相似的地方,例如使用相同的復二次多項式進行迭代。即使將曼德博集合無限放大,它都能有精妙的細節,而其瑰麗的圖案僅僅由一個簡單的公式生成。因此,有人認為曼德博集合是「人類有史以來做出的最奇異、最瑰麗的幾何圖形」,曾被稱為「上帝的指紋」。—譯者注
![]()
▲ 曼德博集合及其軌道周期性(圖自維基)凱瑞·米切爾(Kerry Mitchell)是一位以算法和分形藝術而聞名的美國藝術家,他在 1999 年發表的《分形藝術宣言》中試圖證明這樣的觀點:藝術不能僅僅依靠計算機來製作—藝術是設計程序,是算法的選擇,而不是最終的執行。他這樣寫道:「分形藝術不是電腦藝術。從某種意義上來講,計算機完成了所有的工作,但這些工作只有藝術家來操作電腦才能完成。打開一臺電腦,讓它單獨待在那裡一個小時,等你回來的時候,不會有任何藝術作品產出。」沒有人會宣稱計算機是具有創造性的。分形藝術和內斯利用計算機生成的計算機藝術最根本的區別在於,分形藝術是完全確定的,是由算法決定的。計算機在沒有編程的情況下,是不會做出任何運算的。雖然計算機分形圖像讓人感到如此的新奇和驚訝,但也讓人感覺毫無生氣、貧乏。也許這是因為其無法在兩個意識世界之間架設有效的橋梁。儘管如此,計算機生成的分形圖像還是讓它們的創造者賺了大錢,因為分形已經被證明是模擬自然世界的一種非常有效的方法。曼德博在其開創性的著作《大自然的分形幾何學》中解釋了自然如何使用分形算法來製造蕨類植物、雲、波浪、山。這本書啟發了時任波音公司工程師的洛倫·卡彭特(Loren Carpenter)在計算機上使用分形代碼模擬自然世界,他在夜間使用波音公司的電腦製作了一段長約兩分鐘的電腦生成的分形鳥瞰風景動畫 Vol-Libre。正是這段時長兩分鐘的動畫,最終使他成了皮克斯公司的創始人之一和首席科學家。儘管這段動畫本來是波音公司的宣傳片,但卡彭特的最終目標是用這段動畫給《星球大戰》的製片人和導演喬治·盧卡斯留下深刻印象。在他的心中一直有一個夢想:為電影製作動畫。1980 年,美國計算機協會召開國際圖形學年會(SIGGRAPH),出席會議的有對計算機繪圖感興趣的科學家、藝術家和電影製片人,卡彭特在會議上展示了他的分形算法動畫。當啟動 16 毫米膠片放映機時,他看到了坐在前排的盧卡斯,他希望能給盧卡斯和其他電影公司的人留下深刻的印象。當影片放映完畢時,觀眾們爆發出了雷鳴般的掌聲,他們從未見過由算法創造的如此逼真、如此自然的畫面。盧卡斯看過了這段動畫,當即邀請卡彭特到自己的公司工作。史蒂文·史匹柏看了卡彭特用代碼創作的特效動畫後這樣說道:「能生活在這個偉大時代太好了!」卡彭特的同事艾德·卡姆爾(Ed Catmull)則這樣說道:「總有一天,我們會用這種方式製作整部電影,我們會用電腦特效創造角色、怪物、外星人、整個世界。除了真人演員,其他一切都將由電腦製作完成。」後來,卡彭特、卡姆爾和阿爾維·雷·史密斯一起創建了皮克斯,如今, 該公司像其他動畫公司僱用藝術家和動畫師一樣,僱用了許多數學家和計算機科學家。曾經,為了製作像《飛屋環遊記》裡令人迷醉、讓人流連忘返的叢林景色,要花費動畫師們幾個月的時間,而現今在皮克斯,他們可以利用一個算法,瞬間生成。小小的分形代碼擁有著驚人的力量,人們使用它就可以創造出十分逼真的自然景觀圖像。這樣的技術也非常適合於構建遊戲中的環境。1982 年,在盧卡斯影業的遊說下,雅達利電子遊戲公司在計算機圖形系統上投入巨資 100 萬美元,首先在遊戲裡使用了這項技術。這也帶來了電子遊戲行業的一次革命性創新。1984 年,雅達利電子遊戲公司發行了一款名為《異星救援》的遊戲。在這個遊戲裡,遊戲中的環境全部由分形代碼來繪製。雖然看起來不那麼真實,遊戲玩家們依然覺得很滿意,玩得很開心,畢竟人們對於遊戲環境的要求要比電影寬容得多。由於各種條件的限制,在圖像周圍還是出現了像素化的鋸齒邊, 遊戲的製作團隊對此耿耿於懷。但最終他們還是接受了這樣的事實,因為這款遊戲和雅達利的遊戲街機一樣暢銷,他們還給遊戲中的外星人起了花名「鋸齒狀」。隨著遊戲機處理能力的提高,遊戲中所展現的世界與真實世界越來越相近。從靜態空間的《吃豆人》,到幾乎像電影一樣進行遊戲畫面渲染的《神秘海域》,這一切全取決於算法的力量。2016 年發行的大型遊戲《無人深空》或許是遊戲世界中算法應用最具創造性的實例之一。這款遊戲是為索尼的 PlayStation 4 開發的,在遊戲中玩家可以在宇宙中漫遊,訪問無窮無盡的星球。每個星球都是不同的,居住著獨特的動植物種群。參與開發這款遊戲的肖恩·馬瑞(Sean Murray)這樣說:「從技術上講,那些星球的數量可能並不算多,但是在遊戲中,即使你每秒造訪一顆星球, 在你造訪完所有星球之前,我們的太陽系早已消亡。」那麼, 開發《無人深空》的公司 Hello Games 是否僱用了成千上萬位藝術家來創造這些獨立的星球呢?實際上,只有四個程式設計師在利用算法創造這個世界。每個星球的環境都是獨一無二的,當玩家第一次訪問時,代碼就會創建這個星球的一切。即使是那四個程式設計師也不知道在星球被訪問之前算法會產生出什麼。皮克斯和索尼在它們的產品中,使用了算法作為人類創造力的工具。就像照相機沒有取代肖像畫畫家一樣,電腦只是成為動畫師創造世界的一種新工具。只要計算機是人類獨創性和自我表達的工具,它們就不會對藝術家構成真正的威脅。但是,我們應如何看待那些旨在創造新藝術的計算機呢?上文節選自《天才與算法》第7章「數字繪畫」, [遇見]已獲機械出版社授權.
▲ 點擊上面小程序跳轉京東商城
我們即將進入一個由算法主導和支配的世界,AI將在網際網路、繪畫、音樂、寫作等全方面挑戰人類的創造力和想像力。英國數學家馬庫斯用數學思維幫助我們理解算法,引領人們認知創造力的本質,幫助人類創造一個人與機器共存的美好未來。