http://libai.math.ncu.edu.tw/~shann/Teach/liberal/CMW/math-vis-art
我們從特殊的曲面函數開始,只是單純地在曲面上著色,就能展現的美感。 接著有一些經過設計,使其變形的函數曲線或曲面,也是因為配色得宜, 而使得畫面更美。再來,有時候簡單地由亂數產生的圖像和配色, 也能在人心目中產生奇異的美感。
由簡單而重複出現的規律所造成的複雜美感,可能是最令人驚訝的美術了。 這些景象有些並不陌生,它們可以精確地產生某種自然界的景象, 或者人類也曾發明過的圖騰。但是有些景象就似乎從來不曾在日常生活中見過了, 甚至就連想像的電影或科幻小說裡也不曾見過。它們奇異而陌生, 就好像幻想外太空旅行似的。
限於時間的關係,這裡示範的全是靜態的數位圖像, 完全沒有數位動畫、雕刻、詩歌等形式的藝術。 其實這些形式的數學藝術也有很多範例,只是都不在這裡討論了。
傳統上,平面藝術就是圖畫。 不論繪製的方式是 Paint 還是 Draw 還是其他有如版刻等技術, 圖畫都是歷史久遠的藝術形式,也是我們從小透過美術課所熟悉的平面藝術創作方式。 一直到 1840 年代之後,才有另一種可能的創作形式:攝影。 不過,攝影所產生的影像 (Image),要達到被認為是藝術品的境界, 還是 20 世紀以後的事。
有了電腦和圖像處理軟體這種工具之後, 很多人開始整合圖畫和影像這兩大類的平面藝術素材, 儼然產生新的藝術型態。 其實這種創作並不算新奇。 早在影像剛開始被接受為一種藝術的初期, 雖然沒有像 PhotoShop 這種影像處理軟體, 已經有人在暗房技巧上玩影像融合的創作了; 稱為『集錦攝影』。 以下我們舉郎靜山先生的作品為證。
我在此提醒聽眾和讀者,其實電腦工具所產生的、真正應該令人注意的新藝術素材, 不是圖畫和影像的融合,而是一種以前幾乎不曾存在過的圖像---Plot! 所謂 Plot,茲譯為『測繪』,就是根據數據資料所描繪的圖形。 它是一種理性創作,不是隨心或隨情的感性創作,因此有別於圖畫。 它描繪的雖然也是一種事實,但是並非自然界人眼可以觀察的對象, 因此有別於影像。
所謂『數據資料』,可以來自於
因此,作為一群以創新為己任的新時代數位藝術家,尤其是經過學院派的大學教育, 已經多少懂得一些方程式的同學來說,圖畫與影像的整合藝術, 應該已經不能滿足我們的胃口, 我們是否應該考慮『圖畫、影像、測繪』三合一的新整合藝術?
我想要提醒聽眾或讀者,特別是年輕而有活力的這一群: 技術或許有所更新,但是創新的難度和挑戰性卻是亙古如一! 每個時代的人面臨他自己的社會傳統和技術變革, 一個人要突出於傳統、利用變更的技術創造新式產品所需的勇氣、自信和創意, 是沒有今昔之分的。
就以郎靜山 (1892--1995) 前輩的集錦攝影為例吧, 此處蒐集到的第一張作品是他 29 歲時候的創作, 那時候他已經有 15 年的「玩相機」經驗。 從這些作品裡,大家不難看到圖畫 (書法) 和影像 (許多張原本不同的影像) 的融合, 正是許多人以為是在 PhotoShop 或 PhotoImpact 問世之後才可能出現的藝術型態。 由此可見,不是的,早在 1930 年代就有一位浙江的年輕人勇於嘗試了。
可以在平面上畫出一條曲線。
如果令應變量 y = 0,
則這條曲線就退化成直線上的兩個點:
而雙變數多項式、譬如
本來應該三度空間中對應一張曲面,但是如果令應變量 z=0,
則這張曲面就會退化成二維平面上的一條曲線:
依此類推,一個三變數多項式、譬如
本來應該在 x-y-z-u 四度空間中對應一張曲面, 可是沒有人能真的「看到」四度空間圖形! 但是如果令應變量 u=0, 則那張看不到的四度空間曲面就會退化成三度空間裡面的曲面。 觀念上,我們知道那是一張曲面,但是很少有人可以想像那是長得什麼樣子的曲面。 電腦代數軟體,例如 Mathematica,居然可以輕易畫得出來。 配上適當的顏色,選取適當的視角 (畢竟圖畫是平面的,只有選擇了視角才能看到三度空間的立體結構), 居然還蠻美麗的。
學過理工科微積分的同學大概記得,除了我們慣用的「直角座標」之外, 還有其他座標系統:在平面上,有極座標;在空間中,有圓柱座標和球座標。 同樣形式的函數,譬如說 y = x2, 將 x 表示橫軸、將 y 表示縱軸, 在直角座標中繪圖就是大家熟悉的開口向上拋物線。 但是如果將 x 表示距離,將 y 表示幅角, 則 y = x2 在極座標中繪圖就變成一圈又一圈的螺旋!
在初級微積分課程中,我們看到有些函數在極座標意義之下繪圖非常好看, 譬如有玫瑰線和心臟線等等。 心臟線有點像愛心,又被人稱為愛情線。 有人拿愛情線編了一個笛卡耳的愛情故事,放在網路上到處流傳。 不過我個人認為那個故事雖然令人同情,卻好像說老鷹會在 40 歲那年自己拔除舊羽毛、 撞毀舊口喙而獲得重生的勵志故事一樣,都是編造出來的故事,當作「寓言」來看就好。 笛卡耳的確創造了座標平面,於是開始討論函數曲線。 不過他的時代還沒有想到極座標。
雖然換了座標之後,函數圖形的確是改變了, 但是沒有人保證它一定變得比較美麗。 就好像你換另一個心情來聽這場演講就不會被這些數學式子弄得坐立難安一樣, 你看到的現象就隨著心情而轉換了。 前面展示的函數曲線都很單調,不過,如果經過巧心安排的藝術處理, 可能就會不一樣了! 最後我們展現一個參數函數在球座標之內的圖形繪圖, 把曲線畫粗一點變成像水蛇一樣的東西,再加上遠小近大的透視效果, 我覺得看起來像一窩蠕動的蟲。
有時候函數也不見得要直接被繪畫出來,而是它的「作用」, 或者它的「軌跡」,都可以呈現美感。 我小時候有一種玩具,現在偶而還是可以在路邊攤看到, 就是一片塑膠板,中間有一個挖空的圓,圓的內側週邊有齒溝; 另外有一個塑膠圓板,板上有幾個可以插入筆尖的小孔, 圓板的半徑比空圓小,而成某種比例。 圓板的外側也有齒溝。把圓板放在空圓內側,齒溝卡著齒縫,就成了齒輪。 把有空圓的板子墊在一張紙上, 拿一隻筆插在小孔上,推著圓板沿著空圓內側旋轉 (齒輪使得它們不容易分散), 那隻筆就會在紙上畫出一條曲線。 隨著選擇的小孔不同、圓板與空圓半徑比例的不同、筆的顏色不同、 我可以畫出各式各樣美麗又驚奇的曲線。 這些曲線,就是某種函數的「軌跡」。
跟上述軌跡遊戲很類似地,我們可以讓某種簡單的幾何圖形隨著函數而變化, 畫面上重複出現位置、大小稍有變化的相似幾何圖形。 這些圖形湊在一起,它們的邊、或者角、或者邊和角, 雖然沒有真正畫出一條連續的軌跡,卻很明顯地在我們的視覺中造成一條曲線的印象。 這種印象中的曲線稱為「包覆曲線」(envelope)。 譬如圖片中我們先取一個正方形,然後畫一個稍微旋轉、縮小的內接正方形, 在那個新的正方形裡面,再畫一個稍微旋轉、縮小的內接正方形。 如此這般繼續畫下去,直到某個小內接正方形又「回正」了為止。 很明顯地,大家看到在正方形內產生了四條「包覆曲線」。
如果覺得這樣太單調,我稍微為它著色。 我的著色規則很簡單,只是讓 HSV 座標的 S=V=100%,而 H 在 0 到 360 度之間繞一圈。 而讀者應該可以想像,我們沒必要停在那裡,既然正方形已經「回正」, 那個最內側的小正方形和最外側的大正方形,其實除了「尺度」(scale) 以外都是一樣的。 何不讓這個步驟繼續在內側小正方形裡面再繼續跑一回?
這種現象叫做「尺度的週期性」。 所謂週期性就是某種變化週而復始,譬如大家熟悉的三角函數 y = sin(x) 就是一種週期為 2*Pi 的週期函數;月亮的外型幾乎是 28 天的週期函數; 太陽在正午直射地球的緯度,幾乎是 365 天的週期函數。 這些我們熟悉的週期性變化,都發生在時間或者距離變數上。 這裡提醒讀者注意,有一種特殊的週期性,發生在「尺度」上: 大尺度上的現象,放到小尺度時,全部重複了一遍。
這一張圖是一張三度空間的軌跡圖。藝術家先定好一個函數, 此處的函數圖形是一種螺旋狀的曲線,然後畫出一個立方體的外框, 用電腦程式令這個立方體隨著函數而旋轉、同時縮小。 藝術家再規定不同尺度下的立方體邊框顏色, 將這些一邊旋轉一邊縮小的立方體每隔固定單位畫一張圖出來, 就好像每隔一段固定時間就拍攝一張照片一樣, 然後把這些照片全部合成在一起,就成了這個畫面。 讀者也可以看到八個頂點造成八條「包覆曲線」。
不論如何,亂數是電腦模擬的工具,電腦有程式可以製造亂數 (哲學家說,凡是能用程式「製造」的就一定有規則,所以絕對不是亂數; 所以電腦科學家說,那就叫他「模擬亂數」好了)。
事實上,有些藝術家早就利用隨機過程或者「亂數」來創作。 我小時候,美術老師曾經教我們在圖畫紙上淋下水份比較豐富的顏料, 然後用嘴巴吹。雖然吹還是有風的方向,但是顏料汁液的流轉就可能不那麼確定, 這就是一種利用隨機過程協助創作的例子。有些同學還真的可以吹出看起來舒服的圖畫。 在電影上,我也見過一些狀似瘋狂的藝術家,用手握著一把一把的顏料, 猛力朝著牆上的畫布摔。這樣子的創作方式,不也是隨機的?
科學家和工程師經常倚靠亂數來做實驗、或者做預測。 他們之中的某些人發現,亂數其實不等於紊亂,它會創造出很「生活化」的美麗組合。 雖然這種利用亂數的創作過程不像藝術家的動作那麼優美或狂暴, 它的背後仍然有理性在主導,不過效果可能也接近瘋狂的塗鴉。
這裡示範兩張以電腦模擬亂數協助完成的創作。 第一張是先用一些直徑相同的球,堆成一個立方體。 然後用亂數決定每一個球的如何去扭曲變形,再塗上亂糟糟的顏色。 藝術家選擇用矩形網格來畫那些球的表面,這也是工程師常用的工具。 它像什麼?誰說藝術一定要「像」什麼? 我覺得它像異形的蛋。
第二張是用各種由亂數調整位置、頻率、顏色、粗細的正弦函數曲線 (y = sin(x) 湊成的設計圖案。 其中的「粗細」可能是在電腦內模擬橢圓狀的筆頭畫出來的結果。 橢圓筆頭可以模擬鵝毛筆的風格,我們今天做美工字的時候也會用, 如果握好一隻扁頭筆,那麼某些方向筆劃會比較粗、某些方向的筆劃就比較細。 它像什麼?誰說藝術一定要「像」什麼? 我覺得它適合被製作成很有風格的包裝紙,也有人說它適合做桌巾, 還有人說它適合當航空郵票。
這種「寓複雜於簡單」的概念,早在 1904 年的『Koch 雪花』便出場了, 它的構成元素是:『拿一根線段,截去中央的三分之一, 用那個長度造成一個缺了底邊的正三角形,與原來的線段接在一起, 形成一個「中央凸起三分之一的折線段」』。 我們稱這個簡單的動作為「翹起中間三分之一」。 就是這麼一個簡單的規則,重複實施在每一節線段上,就會出現複雜的景象。
用紙筆來畫,可能做不了幾次就累了、煩了。 但是這種「簡單而重複」的工作再適合電腦不過了。 寫一段簡短的程式,利用程式設計中「遞迴」手法, 就能實現這種動作。以下的程式沒有期望讀者看懂, 不過只是想要大家欣賞一下程式設計中『遞迴』(recursion) 的風格。 這個程式自己的名字就叫 flake, 所謂遞迴就是它在執行中呼叫自己替他辦事。
我就是用這段程式,製造了投影片上那四組紅色的折線段。 譬如第四組折線段就是用以下指令function flake(a,b,level) if level == 0 plot([a(1);b(1)],[a(2);b(2)],'LineWidth',4,'Color','red'); hold on; else c = b-a; c = [-c(2); c(1)]; c = (a+b)/2 + c/sqrt(12); a1 = (2*a+b)/3; b1 = (a+2*b)/3; flake(a, a1, level-1); flake(a1, c, level-1); flake(c, b1, level-1); flake(b1, b, level-1); end
a = [0;0]; b = [1;0]; flake(a,b,3);
當初 Koch 創造這種東西,倒不是為了模擬雪花,也不是為了研究動態系統, 他的目的是展示一種以前直覺上認為不可能的現象。 讀者不妨想想,如果原來那根線段的長度是 1,那麼按照規則折一次, 長度增加到 4/3;如果按照規則再折一次,長度變成 16/9; 再折一次,長度變成 64/27。聰明的讀者現在看出來「胚騰」(pattern) 了, 每多折一次,總長度就是前一次長度的 4/3 倍。 所以如果折過 n 次,總長度就是 (4/3)n。 你看,這不奇怪嗎?如果折得越來越多次,那條折線段還是在一個小小的「範圍」之內, 可是它的長度卻會趨向於無限大!
這雖然是 Koch 創造這個奇妙東西的目的, 但是我們可以對他的創造做出另類的應用:不用在數學,用在美術。 只要把剛才那種折線的方法,分別應用在一個 正三角形的三個邊上, 就會創造出讓人覺得非常像雪花的景象。 這個 Koch 雪花的面積有限,但是周長卻會趨向於無限大! 這又是一個完全違反一般人直覺的事實啊。
在 Koch 發表了他的雪花的十年之後,Sierpinski 創造了非常近似的東西, 我們稱它為『Sierpinski 船帆』。這一次數學家再度展示, 其實這種「簡單地重複產生複雜」的概念,還有許許多多種的可能。 Sierpinski 船帆的概念也很簡單,先取一個正三角形, 挖掉那個正三角形正中間的四分之一,就產生三個小一點的正三角形。 然後就開始「遞迴」了,我們對每一個剩下的三角形做同樣的動作: 『挖掉它正中間的四分之一』。 比 Koch 雪花更令人驚訝的是,如果照著這個規則一直做下去, 所剩的圖形面積會趨近於零,而這個圖形將從一個三角形漸漸變成一條無窮長的曲線!
李華倫教授把 Sierpinski 船帆的概念應用到三度空間。 他用 3D Studio Max 軟體創造了以正四面體 (用四個正三角形圍成的立體) 為基礎、 挖空每個面的中間四分之一所形成的立體結構, 造成看起來很有未來科技感覺的一種『建築物』。 有興趣觀摩的讀者,請洽中華大學應用數學系李華倫教授。
如果讀者覺得 Sierpinski 船帆沒什麼美感,那麼簡單地推廣一下, 您可以製造『Sierpinski 掛毯』。 很簡單,只要把正三角形換成正方形,你就大概知道該怎麼做了: 現在不是挖掉中央四分之一,而是挖掉中央九分之一。 造成的藝術效果,看起來很像是某種桌布、床單或被套的設計。 美洲東部的原住民曾經發展出來這種藝術風格, 早期到美洲的白人也受啟發學會了這種風格的編織, 然後再發展出美洲白人自己的一種風格。 直到今天還受到許多人的喜愛,早期的編織則會在博物館或州政府的展覽廳裡面看到。
陳明璋教授創造了一套配合 Microsoft PowerPoint 使用的工具軟體, 稱為 MathPS (Mathematics Power Supply), 讓我們可以設計簡單的線條規則,然後令它大量重複, 創造出豐富的、酷似自然界景象的圖案:例如岩石、雲朵、灌木、海草。 這種圖案以前靠著大量的數值計算來做,需要比較高深的數學概念, 利用陳教授的工具,如今可以利用比較視覺化的工具來創作和實驗, 對於想要實現這種創作的藝術家來說,不失為一個福音。 想要深入瞭解的讀者,請洽交通大學通識中心陳明璋教授。
底下我將要展示的都是「正確」的部份圖形, 完全沒有美術加工。而我也要解釋這種圖形是怎樣被製作出來的。 為此,我要邀請大家一起回想一點點數學, 因為接下來的說明,需要一點數學背景來瞭解。 請您先不要退卻,很多人聽過或讀過之後都同意, 其實它一點兒也不難,而且這一點努力是值得的。
雖然不知道數學背景也會被「碎形」那奇異與陌生的美麗所吸引, 但是那可能只是「哇」或是「噢」而已, 更多的背景知識將會使您更感到驚訝,也就更能領悟它的神秘和美麗。 這種更深層次的欣賞,一定會讓人獲得更深刻的感動。 更何況,知道這一點點數學之後,您自己也可以加入創作的行列。
讓我們從 x-y 直角座標平面說起。 在座的各位一定經過這段數學歷程。 也許您當初的學習經驗並不是個美好的回憶, 現在也不必緊張,閱讀座標平面就好像閱讀一張地圖。 地圖被分割成一小格一小格地,然後按著東西方向 (通常就是地圖的水平方向) 和南北方向 (通常就是地圖的垂直方向), 將每個小格子編號。常見的地圖,用數字做東西方向格子的編號, 用英文字母做南北方向格子的編號。 有了這些編號,讀者就能比較方便地從從地圖背面的索引找到某一條街、 或是某一座公園的「座標」,然後在地圖上找到座標所指的那一個小格子, 然後在小格子範圍內找到目的地。 譬如說要找 B4 這個格子,就先從左到右數 1, 2, 3, 4 第四行, 然後向下數 A, B 第二格,就是 B4 格子。
座標平面也是一樣的道理,只是不論左右 (東西) 還是上下 (南北), 都用數來編號,而不用英文字母。 再進一步,這些數有正數和負數之分,甚至有分數、小數。 而數學老師說,兩個「數」代表平面上一個「點」,而不是地圖上的一個方格。 不過,現在我們可以不要理他,就說兩個「數」代表一個很窄很小的方格, 而這兩個「數」就是那個小方格的「座標」, 第一個數代表東西方向的格子編號、稱為「橫座標」, 第二個數代表南北方向的格子編號、稱為「縱座標」。 我們習慣把橫座標和縱座標寫在一對小括號裡面,兩個數中間用逗點隔開, 例如 (1,1) 代表原點東北方向的一個小格子,而 (0,0) 代表原點位置。
再來,我們複習 (或者重新學習) 一個特別的數:虛數。 那就是 -1 的平方根,通常用 i 表示。 這個「虛構」的數很有趣,它的平方是 -1 (這可能是以前數學老師一直說不可以的事), 或者說它是方程式 x2 + 1 = 0 的一個根 (這可能是以前數學老師一直說沒有解的方程式)。 我並不是要告訴你,以前的數學老師都說錯了。 他們倒也沒錯,因為當時你還年紀小,老師為了保護你不被過份虛構的概念迷惑了, 所以只談「實數」--實實在在的數,而不談虛數。 就好像許多大人遇到小孩子問『我是從哪裡生出來的?』這種問題都不肯說實話一樣。
但是人都總有一天要長大。有的時候是忽然地來不及防備就長大了。 今天你忽然長大了。 如果不是你過去的數學課程把你的好奇心的磨光了, 我相信現在你會覺得,知道居然有一個數的平方是 -1, 就好像知道你是怎樣被「製造」出來的,一樣刺激!
虛數和實數可以混「和」在一起,例如 1+i、 2+2i、 3+4i、 2-i、 1-2i。 其中 2i 就是 2*i 的縮寫,-i 就是 (-1)*i 的縮寫。 像這樣的數稱為 複數 (complex number), 是複雜的複,不是重複的複,也不是負心的負。
複數與複數之間可以做加減計算,我舉一個例子來說明:
既然複數與複數之間可以做乘法計算,當然就能做平方。例如
我為什麼要說「平面座標」,然後忽然又說「複數」。 這當然是有原因的啦,數學家都很懶,從來不會沒事找事做。 現在我要告訴大家,每個「複數」就對應平面上的一個小格子! 譬如說
2+3i這個複數,取出前面那個實數 2 當作橫座標、再從後面的虛數部份抽出 3 當作縱座標 (丟掉那個 i),就是
(2, 3)它不就對應平面上一個小格子?同理
2 - 3i就代表平面上
(2, -3)這個小格子。反過來,平面上一個小格子,如果它的座標是
(-2, 3)那它就對應一個複數
-2 + 3i總而言之,
平面上的一個小格子就是一個複數,一個複數就是平面上一個小格子。
在這個平面的「正中間」,我們固定一個特殊的點, 稱為「原點」,就是座標為 (0,0) 的點, 或者是複數 0+0i = 0 所對應的點。
現在,我們玩一個很簡單的遊戲。 隨便挑一個複數,稱它作 c,然後令 z0 = c,計算
z1 = z02 + c得到 z1,然後再計算
z2 = z12 + c得到 z2,然後再計算
z3 = z22 + c得到 z3,然後再計算 ...
我猜你已經猜到下一個要計算的 z4 是怎麼算的。
簡單地用一條公式來寫,就是
這個迭代公式可以從 z0 開始,一個接著一個地計算
z1 z2 z3 ...產生一個數列。這個數列有可能會離原點越來越遠、也可能永遠和原點不即不離! 以下舉三個例子。
|
|
|
從這三個例子上,我們看到,
這一切的一切,究竟跟「絢麗的圖形」有什麼關係?
現在,假設讀者已經知道所有的電腦數位圖像都是由一小格、一小格的顏色組成。 如果假設整張圖像是座標平面上的一部分, 給它安上座標,那麼每一小格就可以有一個代表它的座標。 每一個座標就對應一個複數。 每一個複數,按照上面那個簡單的遊戲規則,可能產生一個「越來越遠」的數列, 也可能不會。如果我們規定:
這一張數位圖像,就是按照前述的規則所造成的圖。 它是寬 300 高 300 的數位圖像,總共有 90,000 個像素, 也就是 90,000 個小格子。 這 90,000 個小格子,假設被放在座標平面的一塊正方形上。 這個正方形的左下角座標是 (-2, -1.25),而它的寬和高都是 2.5。 我們把這個正方形等分成 90,000 個小格子, 每個小格子就拿它左下角的座標當作代表, 於是每個小格子就有一個複數來代表它。 在前面那張圖裡面,一共大約有 24,000 個紅色小格子。
前面那張圖好像不算太「絢麗」嘛,你說。 好吧,應觀眾要求,我們再多做一點。 那些跑得「越來越遠」的數列,有的跑得慢一點,有的跑得快一點。 用它們跑得「越來越遠」的速度分級, 再拜託比較具有美術天份的人來配色, 原來那張圖的藍色部份,就可以分成好幾種顏色。 再把那些「不即不離」的小格子塗成黑色, 就是這一張圖。
讀者如果把黑色想像成陸地,其他部份想像成不同深度的海洋, 就會發現似乎陸地與海洋的交會處,也就是「大陸棚」部份, 顏色有細微的變化! 就像生物地理學發現的,「大陸棚」是生物多樣性最高的地方。 我們這個 Mandelbrot 陸塊的「大陸棚」地帶也似乎會產生最有趣的圖像!
當時就讀於台大數學系三年級的黃瑞霖先生, 在 2003 年 11 月期間為了做作業而探索了前面所說的「大陸棚」地帶。 他挑選了某處 Mandelbrot 集合的邊界處,從較大的尺度找到可能有趣的地帶, 然後逐漸縮小選取的範圍,也就等同於逐漸放大顯微鏡的放大倍率, 用電腦去觀察越來越精細的平面區域。 不管那個區域多大或者多小,數學上總是可以將它切割成非常多個小格子。 黃瑞霖在每一張圖上採用了大約 160,000 個小格子。
至此,我們看到,數位圖像不一定是攝影或者繪畫的結果。 數位圖像的本質,就是一大群小格子各自呈現一種顏色所集合而成的效果。 只要能夠指定每個小格子的顏色,就等於決定了一張圖像。 只是,如果我們想要隨便亂指定顏色,而結果能產生意義或者美感, 其成功機率就好像讓猴子在鍵盤上亂敲,而希望恰巧敲出一首詩--幾乎不可能。 出乎意料的是,這裡我們按照一個簡單的數學規則來著色 (好吧,我承認它也許不那麼「簡單」,但是我們一旦學會了,就簡單了嘛), 竟然也能呈現一個畫面。 這是一個我們不「認識」的畫面,因為它從來也不曾出現在我們的生活中, 包括電視、電影和電玩,好像都不曾出現過這種景象, 可能大家連做夢都夢不到它,最優秀的設計師也不曾幻想過它。 可以說我們「發現」了新大陸,這塊大陸既不在外太空,也似乎不在地球上。
提到「新大陸」,這裡有一張特定範圍、特定塗色方法的 Mandelbrot 圖像, 它就可以想像成一個外星智慧生物在另一個世界建構的地表景觀。 何不想像中央黑色部份為生物密集的城市, 幾條明顯的直線為大型道路,那些道路甚至給人「條條大路通羅馬」的感覺; 紅色與黃色是地表的各種植被或者特殊功能的建築群, 誰知道呢,外星城市嘛,可以發揮我們的想像力去建構。
這張圖片的範圍不詳,但是肯定並非大尺度 (也就是寬度為 1 左右) 的範圍。 雖然我們看到黑色那一塊跟大尺度的「烏龜」形很相近, 但是那是因為 Mandelbrot 圖形有尺度上的相似性: 在大尺度、小尺度上,有外形相同的圖案產生。 這張「外星城市」很可能是在寬度為 0.05 以下的小範圍裡面的景象。
前面說過,在數學上,不管要取多麼小的範圍、或者多麼大的範圍, 都可以隨心所欲:在數學上沒有物質上對於大、小的限制。 這裡再展示兩張圖,都是在非常非常小的尺度中計算畫出來的圖形。 即使在那麼「小」的正方形範圍內,計算機還是可以把它切割成 250,000 個小格子, 然後用剛才的遊戲規則,讓電腦產生的圖像。 如果我們假設 1 的單位是公分,則這兩張圖片在物理上, 都已經到了奈米的奈米尺度了。
所以,你看,雖然這個遊戲很「簡單」, 有人發現了它可以創作非常奇特的「絢麗」圖像, 但是你卻不必擔心都被別人玩完了、沒有你的份了! 如果你想要自己去探險,去尋找從來沒有人看過的新大陸,你大可以放心。 在這張平面上,多的是從來沒有人探訪過的「一小塊正方形」, 可以用來建構您自己的「私密花園」!
大約 1984 年,以 Intel 80286+80287 為 CPU+浮點數運算晶片為核心的 IBM PC XT 上市,那時候最炫耀的電腦效能測試程式就是讓 PC 計算碎形圖片, 顯像在電腦的 640x480 CRT 16 色螢幕上。 當時,一場實驗經常可以好好地消磨掉一頓飯時間。 如今,以一般的 PC 製作一張 400x400 的碎形圖片只消幾分鐘而已, 而利用科學計算套裝軟體 (例如 Matlab),寫程式的負擔也很輕。 我們仍然意不在教導寫程式,不過以下這段程式的確就可以用來探索「私密花園」。
(這段 Matlab 腳本由蔡少懷先生提供。)s=400; initialx=-1.6810781; initialy=-0.003132971; width=0.01355; threshold=100; color=64; x=ones(s,1)*linspace(initialx,initialx+width,s); y=(linspace(initialy+width,initialy,s))'*ones(1,s); z=x+y*i; out=zeros(s,s); for u=1:s for v=1:s k=z(u,v); c=k; n=0; while (abs(k)&threshold & n<color) k=k^2+c; n=n+1; end out(u,v)=n; end end image(out) axis xy equal off
天文學家把小小的鏡頭對準無垠的外太空, 每次一小塊來探索,他們有探索不完的外太空,也帶來令人刺激興奮的攝影圖片。 外太空似乎有永遠探索不盡的細節。 但是,除了往非常高、非常遠的地方探索之外, 其實我們還可以向非常細、非常小的地方探索。 在技術上,現在熱門的話題是「奈米科技」; 而數學,可以把你帶到更細小的世界,去探索無窮可能的精彩圖像。
前面那個「簡單」的規則是 Mandelbrot 的發現。 難道就只是為了尋找「內太空」從未被發現的秘密嗎? 才不是呢,這只是意外發現的「副產品」, 就好像研究心臟病的解藥結果意外發現威而鋼一樣。 Mandelbrot 和 1970 年代的同僚數學家其實在研究一個更重要的課題, 這個課題從生物的突變到股市的突然崩盤,都希望有所應用, 就連暢銷的小說和電影《侏儸紀公園》都曾經提到它。 這個課題的名字叫做『動態系統』,而這種奇異的圖形稱為『碎形』。
最後,我以蔡少懷先生在 2003 年 11 月做的一部分作業來結束, 他當時就讀台大財金所碩士班一年級。 他很有感情地為那三張圖像取了名字。 其中 Evil Cross 那一張,其實跟前面介紹的「外星城市」很接近, 只是著色和視角不同,解讀的感受也不同。
蔡少懷和前面提及的黃瑞霖,還有當時的同班同學, 都是用 Matlab 寫了程式來計算、設定像素的顏色、並且製圖。 他們也都在網頁上公佈了他們的程式、附帶說明, 也寫了一份 Mandelbrot 集合的簡單教學 (這是另一份作業)。 讀者如果有興趣,請看參考書目中的一筆項目。 不過,時過境遷,我不保證這些學生的網頁現在還保存在網路上。
2004 年秋季,當時就讀中央大學數學研究所碩士班的李易霖聽到了以上故事, 出於個人的興趣,他用 Java 寫了一支小程式,讓人可以即時抓取一塊 Mandelbrot 集合的區域,放大來看看它的圖案。 他採用了 Matlab 的幾種固定色盤,但是後來在中原大學室內設計系展示之後, 藝術家們銜認工程師的配色太慘了,勸我們採用灰階即可, 而藝術家如果發現了有趣的圖案,再自行設法上色。
在座的各位讀者或聽眾,可能都不見得熟悉數學工具。 不過,希望這一場講演,能夠激發您去想想, 自己有什麼玩得熟練的工具?有什麼熟爛於胸的概念? 而把玩著這些工具,品嚐著這些概念,是否心有所感, 而能夠將工作昇華為藝術?
除了上述目的之外,作為一個數學老師的講者,當然還有一點私心。 他希望大家聽完這場講演之後能夠看到數學的另一種面貌, 甚至能夠明白一點新的數學概念更好。 總之,希望降低許多人心目中對數學的懼怕或憎恨。