• 沒有找到結果。

本章將介紹三種碎形的產生方法:(1) Lindenmayer systems ( L-systems );(2) Multiple Reduction Copy Machine ( MRCM );(3) Iterated Function System ( IFS )。L-systems 的特 點在於將線段之間的疊代過程以語法的方式來敘述,MRCM 是重複輸入圖形以多鏡頭 的影印機模擬產生的過程,而IFS 則是經過一系列的變換不斷地疊代產生碎形。除了這 些碎形產生系統之外,本章最後介紹我們所發明的「定線複製法」,以幾何圖案所構成 的物件群闡述碎形產生的規則,重複疊代後產生碎形。

2-1 Lindenmayer systems ( L-systems )

1968 年生物學家 Aristid Lindenmayer 為了描寫多細胞生物的生長及植物細胞之間的 鄰近關係,創造出一套描述植物生長的系統「Lindenmayer Systems」,簡稱為 L-systems [23]。

2-1-1 L-systems Machine

L-systems 是一種正規語法( formal language )[19,20],主要的概念為「複寫」

( rewriting )或「複製」( reproduction ),根據訂定的複製規則 ( (re)production rules ) 對輸 入字串( input string )作核對的動作,若符合則按照規則取代,並得到新的字串輸出 ( output string ),如圖 2-1 的 L-systems machine 流程,如此重覆迴授( feedback )下去,隨 著循環次數的增加,字串的長度會跟著增長,也逐漸產生越來越複雜的結構[31,33]。

L-systems 通常以一個集合G={V,S,ω ,P}表示,其中V={a1,a2,...,an}為一個由字 母系統( alphabet )所構成的集合;S 為保持不變( fixed )的集合;ω 為初始狀態( start, axiom, or initiator ) ,由 V 中元素構成的字串;P 為 production rule 所構成的集合,production rule

2-1 L-systems machine 資料來源:Chaos and Fractals

13

是L-systems 中的取代規則,而每個 production rule 皆由 predecessor 和 successor 兩個字 串組成,當字串與predecessor 相同時,則以 successor 取代此字串。圖 2-2 Anabaena 的 例子中,每個細胞會分裂成兩個子細胞,As

2-1-2 Turtle Graphic

L-systems 對於字串的生成( string generation ),已能相當有系統地表示,但對於平面 上的任何圖形,僅僅只有字串並無法充分說明圖形的獨特性,必須考慮如何簡潔地詮釋 方向、旋轉角度、線段長度等因素對圖形的影響,因此我們需要更詳盡的表示法來幫助 敘述平面上的圖形,特別是針對古典碎形( classical fractals )。

以Seymour Papert’s concept of turtle graphics 為依據,我們想像有一隻烏龜在紙上爬 行,牠朝著某個方向出發前進,根據接收到的某些指令而移動,拖曳著尾巴在紙上所留 資料來源:Chaos and Fractals

14

前進的距離長度對於圖形的影響,僅是整體圖形的大小,但旋轉角度卻會產生完全 迥異的圖形,如圖2-4 中,相同的字串 F+F+F+-F-F 搭配三種旋轉角度(60o,90o,120o)會 產生三種差異很大的圖形。

2-1-3 Growing Classical Fractals with L-systems

有了turtle graphic 在距離長度和旋轉角度兩方面的補強,我們就可使用 L-systems 來建構古典碎形,並且能夠以字串及+-符號完整地描述,如圖2-5 的 Koch curve。

2-3 turtle interpretation:F+Ff-F-Ff+F+

資料來源:Chaos and Fractals

2-4 相同字串與三種角度會產生三種不同的圖形

資料來源:Chaos and Fractals

2-5 以 L-systems 產生 Koch curve 資料來源:Chaos and Fractals

15

圖右的Axiom 和前兩個 stage 可以字串生成的方式表達如下:

Axiom:F

Stage 1:F+F- -F+F

Stage 2:F+F- -F+F+ F+F- -F+F - - F+F- -F+F+ F+F- -F+F

繼續以F+F- -F+F 取代 Stage 2 中的 F,便可推得接下來的生成狀況,其餘類推。我們也 可以假設烏龜能接收複合式的指令,並完成連續性的動作,如圖2-6 上面的四種連續動 作,我們將+F-F-F+記為 L,-F+F+F-記為 R,FF+F+FF-F-FF 記為 S,FF-F-FF+F+FF 記 為Z,即為表 2-2 所匯整,這些記號能簡短我們的敘述,而不致過於冗長,如圖 2-6 中 的圖形,若δ =90o,原本應表示為F+F+-F-FF+F+F-F-FF+F+FF-F-FF,經簡化後則變成 FLRF-S。

2-2 簡短記號

Symbol interpretation L +F-F-F+

R -F+F+F- S FF+F+FF-F-FF Z FF-F-FF+F+FF

資料來源:Chaos and Fractals

當我們也將 turtle graphic 和 L-systems 應用在「樹」這個常見的大自然碎形時,會 發現「樹枝」造成了描述上的困難,但加進“ [ ”和“ ] ”兩個左右括弧來表達後即解決這 個困擾[31,36];同樣地,我們想像一隻烏龜在爬行,當遇到樹枝的分歧點時,牠必須記 住此時的位置與前進的方向,在牠爬完樹枝之後,必須回到分歧點的位置並依照原本的 前進方向繼續移動,如圖2-7 所示。

圖 2-6 簡短記號:L, R, S, Z 資料來源:Chaos and Fractals

16

Axiom:F

Stage 1:F[+F]F[-F]F

Stage 2:F[+F]F[-F]F[+F[+F]F[-F]F]F[+F]F[-F]F[-F[+F]F[-F]F]F[+F]F[-F]F

2-2 Multiple Reduction Copy Machine ( MRCM )

以多鏡頭的影印機重複影印的方式來模擬碎形的產生過程,稱為「Multiple

Reduction Copy Machine」,簡稱 MRCM[31,32]。如圖 2-8 中,將一個圓以三個鏡頭的影 印機影印,輸出三個圓的影像,再將此影像放入影印機繼續影印,會輸出九個圓的影像,

以此類推,多次之後便可產生碎形圖案「Sierpinski gasket」。

這樣以多鏡頭影印機將原本的影像,透過等向縮放、平移、旋轉等方式複製成為新 影像,即所謂的「相似變換」,其中可控制的選項包括鏡頭的數目,縮放的比例,和擺 放新影像的位置。例如圖2-9,左邊的三個方形為多鏡頭影印機,分別代表三個不同的 變換,當我們將stage 0 的方形放入影印機,影印後得到 stage 1 的圖形,再將此圖形丟 進多鏡頭影印機重複影印,繼續得到stage 2 到 stage 4 的圖形,即為以 MRCM 方式所產

2-7 Weedlike plant 資料來源:Chaos and Fractals

2-8 Multiple Reduction Copy Machine 及 Sierpinski gasket 資料來源:Chaos and Fractals,http://juang.bst.ntu.edu.tw/Lab520/images/520L67copier.JPG

17

生之「modified Sierpinski gasket」。

不同於 L-systems 以字串取代的產生方式,MRCM 是以「框」為元件來產生碎形,

其產生Koch curve 的過程如圖 2-10。

2-9 modified Sierpinski gasket 資料來源:Chaos and Fractals

2-10 以 MRCM 產生 Koch curve 資料來源:Chaos and Fractals

18

2-3 疊代函數系統( Iterated Function Systems, IFS )

疊代函數系統( Iterated Function Systems )為另一種產生碎形的方法,簡稱為 IFS。IFS iteration,和 formula iteration。

1. Generator Iteration

以圖形( generator / motif )取代起始圖形( initiator )中的每一部份後,再次以圖形

2-11 Generator Iteration 產生 Koch Snowflake

資料來源:http://library.thinkquest.org/26242/full/tutorial/ch9.html

19

不斷重複變換無限多次之後產生碎形,如圖2-12。由一個被填滿黑色的正三角形開 始,將原本的正三角形縮小二分之一後再平移至適當的位置,繼續重複此規則,即 所謂的「Sierpinski gasket」。在數學意義上,此種方法與 MRCM 具有同樣的涵義,

因此在Chaos and Fractals[31]這本書中,將兩者視為相同的,即 MRCM=IFS,在產 生過程中,以MRCM 的多鏡頭影印機之譬喻來運作,但當探討到其中的數學意義

3. Formula Iteration

以起始值代入一個或多個特定的數學函數,所產生的數值再重複代入函數中,

不斷重複無限多次後,即產生碎形。Formula Iteration 是最簡明的疊代類型,但卻可 產生最複雜的碎形,如:Mandelbrot set 和 Julia sets。

在複數平面上,以z =0+0i為起始值,不斷重複代入(2.8)的兩個函數即產生圖

2-12 Sierpinski gasket 資料來源:Chaos and Fractals

2-13 IFS Iteration 產生 Sierpinski gasket

資料來源:http://ecademy.agnesscott.edu/~lriddle/ifs/siertri/siertri.htm

20

2-4 定線複製法( Line-Based Duplication, LBD )

本節主要介紹我們所創造「定線複製法( LBD )」[26]之功能,以及如何產生具有自 我相似或自我仿射之特性的圖形,而達到產生碎形圖形的最終目的。定線複製法的結構 是由產生器( generator )和起始結構( initiator )所組成,產生器包括型( pattern )和基準線 ( base-line )兩部份,如圖 2-15。

1. 型( pattern ):由「複製物件群」和「銜接群」所組成。複製物件群中包括線段 或圖形構成的圖像元型( pattern elements ),被複製後圖形將不會再改變,但其 中所包含的線段則可能將成為下次疊代的基準線,稱為「疊代線」( recurrent line ),這些疊代線即所謂的銜接群,其幾何性質與基準線相同。

2. 基準線( base-line ):由一條線段構成,與型共存,基準線與型之間的相對位置、

大小比例將成為複製的基準關係。

3. 起始結構( initiator ):由一條或多條線段構成,每條線段自成一座標系統,為 預定產生相似物件的預定位置。根據基準線與型的大小比例與相對位置,對應 產生複本於起始結構的每條線段上。

4. 複本:是型的相似圖形,其長寬的大小與位置是以基準線與型的大小比例與相 對位置為基準。

(a) (b)

2-14 The IFS Attractor of transformations ω1(z)= zλ +1;ω2(z)= zλ −1 資料來源:Fractals Everywhere

21

基準線與型之間的相對關係,自成一個相對座標系統,在此相對座標系統中,每個 圖像元型各自代表不同的相似變換,而定線複製法的主要概念就是根據基準線與型之間 的相似變換,複製與型相似的複本到起始結構上,它們之間的關係以類比關係呈現:

基準線:型 = 起始結構中的線段:複本

如圖2-16 中,起始結構之線段是基準線的二分之一,因此所產生的複本是型縮小二分 之一的相似形,由三角形邊長佔據的格子數可得知,且複本與起始結構線段的距離也是 型與基準線之距離的一半。

定線複製法與 L-systems、MRCM 之比較如表 2-3,L-systems 是以語法的方式描述 結構,須倚賴線段長度與旋轉角度來敘述,若缺乏這些資訊會造成描述不易;MRCM 以

「框」為元件,可處理仿射變換,但是框的圖像較不易掌握,與L-systems 同樣必須在 特殊軟體或特殊介面上才可使用,而定線複製法以「線段」為元件,在一般平台上透過 手動操作即可,是通用型的繪圖,可說是改善了L-systems 與 MRCM 在使用上的主要困 難。

2-16 定線複製法中的比例關係 2-15 定線複製法之結構

22

23

相關文件