蔡燕燕,宋曉霞
(上海工程技術大學 服裝學院,上海 201620)
基于MANDLEBROT集的分形圖形用于絲綢圖案設計
蔡燕燕,宋曉霞
(上海工程技術大學 服裝學院,上海 201620)
闡述了復平面上Mandlebrot集的生成方法,設計了基于Matlab相關程序,總結出不同參數下Mandlebrot集分形圖形的變化規律,找出了圖形結構與函數的基本關系,并運用圖像處理軟件XFader得到連續圖案,在此基礎上與法國力克的服裝設計軟件PrimaVision相結合,將生成的分形圖形應用到絲綢圖案設計中。
Mandlebrot集;分形圖形;絲綢裝圖案;圖案設計
圖案設計是絲綢產品開發過程中一個重要的環節,傳統的圖案設計受到人腦想象力的限制,而且后續的修改過程也比較煩瑣,往往成為產品設計中的一個瓶頸。而利用分形的自相似性,再結合計算機,可以在短時間內構造出千變萬化而又具有任意高分辨率結構的分形圖案。
關于Mandelbrot集的研究已成為人們關注的熱點之一。張聿等[1]研究了三角函數Mandelbrot集的圖形生成原理,運用計算機繪圖方法,并借助電子印花實驗,對三角函數Mandelbrot集在印花圖案設計中的應用進行了探討。孫博文等[2]研究了Mandelbrot集在VB、VC++、Java環境下的程序實現。總的來說Mandelbrot集在絲綢圖案設計中的應用還較少,且現有的程序設計較為煩瑣,不易于被掌握。因此筆者基于Mandelbrot集研究了它的Matlab程序設計,對產生的分形圖形的結構特點進行分析總結得出規律,并運用圖像處理軟件XFader得到連續圖案,與法國力克的服裝設計軟件PrimaVision相結合設計出效果圖,將Mandelbrot集產生的分形圖形真正應用到絲綢圖案的設計中。
1980年Mandelbrot給世人提供了一幅無與倫比的杰作——Mandelbrot集,如圖1所示[3]。
令f(z)=z2+c,其中z,c∈C,z是復變量,c是復常數。對變換 f 施行逃逸時間算法,并得到如下所示迭代式:

式(1)中:z0=(0,0),cpq為計算機熒屏位于(p,q)位置的像素。
因此:

給定N為一個正整數,比如等于255,即畫256色彩圖。當像素位于(p,q)且n>N時,復數zn的模數|zn|仍然小于預設的一個閾值k,則在(p,q)位置著色為1,否則當n≤N時,已有|zn|≥k,則在(p,q)位置著色為n(即n數字表示的顏色),如此(p,q)遍及這個熒屏后,便畫出了一幅彩色的Mandelbrot集[4]。

圖1 Mandelbrot分形Fig.1 Mandelbrot fractal
iterations=80;
pixel=500;
p=linspace(-1.5,1.5,pixel);
q=linspace(-1.5,1.5,pixel);
[x,y]=meshgrid(p,q);
c=x+i*y;
z=zeros(size(x));
map=zeros(size(x));
for l=1:iterations
z=z.^5 + c;
a=find(abs(z)>sqrt(5));
map(a)=l;
end
image(map)
axis off
運行結果見圖2,圖2為z的5次冪時生成的圖形。

圖2 z的5次冪時生成的Mandelbrot分形Fig.2 Mandelbrot fractal when the fi fth power of z
觀察圖2,圖形的顏色過于單一,不適宜用于絲綢圖案的設計,因此對每個數值乘100,以適應所有顏色的變化,否則數值之間靠得太近。生成的圖形如圖3所示。

圖3 z的次冪取不同值時生成的Mandelbrot分形Fig.3 Mandelbrot fractals when give z different power
從圖3可以看出,Mandelbrot分形多為花瓣狀,且花瓣數目取決于迭代函數的次冪m,即m階迭代函數繪制出來的分形圖形為m-1個花瓣;圖形的外表輪廓大致相似,當m為偶數時,生成的圖形關于x軸對稱,當m為奇數時,生成的圖形關于原點對稱;隨著m的不斷增大,圖形的外輪廓越來越趨近于圓。
由于分形圖形大多為單獨紋樣,且具有結構精細、顏色絢麗等特點,一般無法直接運用到絲綢圖案設計中,需進行二次設計,例如在分形圖形的基礎上生成一些二方連續紋樣、四方連續紋樣等,且圖案的結構不能過于精細,顏色數也不宜太多。上文用Matlab生成的分形圖形即是單獨紋樣,無法在絲綢圖案設計中廣泛應用,因此選取m=5和m=7時的分形圖制成四方連續圖案,在此選用圖像處理軟件XFader[6],單擊工具欄里的漸變按鈕,啟用水平與漸變復選框,并將調節滑桿向左移動,就能將圖形的邊界逐漸融合起來,形成連續圖案,在整個過程中,還可對圖形的亮度、色調等進行調整。圖4與圖5是經XFader軟件無縫拼接后的圖形。

圖4 x和y分別位于65 %時的圖形Fig.4 The pattern when x and y are located in 65 %

圖5 x和y分別位于80 %時的圖形Fig.5 The pattern when x and y are located in 80 %
通過服裝設計軟件PrimaVision將設計得到的分形圖形應用到絲綢圖案中。在PrimaVision中,首先利用矢量層次的工具完成款式圖的繪制,并將其轉換到位圖模式,然后利用填色中的圖案填入指令完成圖案的填入。在填入圖案的過程中,為了滿足不同效果,可將圖案首先進行旋轉再填入。圖6是經PrimaVision處理后得到的效果圖,對填入的圖案進行了30°的旋轉。

圖6 經PrimaVision處理后得到的效果Fig.6 The clothing renderings after the treatment of PrimaVision
通過Matlab設計的基于Mandlebrot集的程序較為簡潔。當迭代函數的次數改變時,生成的Mandelbrot集的分形圖形的形狀也隨之改變,分形圖形呈現出的花瓣數目取決于迭代函數的次冪m。運用圖像處理軟件XFader對得到的分形圖形進行無縫拼接,得到連續圖案。在此基礎上與法國力克的服裝設計軟件PrimaVision相結合設計出效果圖,可更直觀地展示整體效果。設計過程中,可以根據絲綢面料的加工工藝或織物的組織特點來選擇不同的花型圖案進行二次處理,個性化地改變圖案的色調、亮度等,以滿足不同的設計需求。
[1]張聿,付岳瑩.基于三角函數Mandelbrot集的印花圖案設計初探[J].絲綢,2005(1):13,51.
[2]孫博文.分形算法與程序設計——VB實現[M].北京:科學出版社,2004.
[3]李水根,趙翔鵬.二維和高維空間的分形圖形藝術[M].北京:科學出版社,2009.
[4]徐向紅.分形理論在服飾圖案設計中的應用基礎研究[D].吉林:吉林大學,2009.
[5]秦襄培.Matlab圖像處理與界面編程寶典[M].北京:電子工業出版社,2009:414-416.
[6]陳有卿.分形藝術與服裝面料圖案設計[J].紡織學報,2003,24(3):88-89.
Application of fractal graphs in silk pattern design based on Mandelbrot set
CAI Yan-yan, SONG Xiao-xia
(College of Fashion, Shanghai University of Engineering Science, Shanghai 201620, China)
This paper described the generation method of Mandelbrot set, and designed the programs based on Matlab. Then, the variation about the fractal graphs of Mandelbrot set in different parameters is studied, the relationships between basic pattern and function are founded. Then the image processing software XFader is used to get some continuous patterns, and the renderings are given after the treatment of clothing design software PrimaVision, applications of fractals in silk pattern design are discussed lastly.
Mandelbrot set; Fractal graph; Silk pattern; Pattern design
TS941.2
B
1001-7003(2011)08-0035-03
2011-03-09;
2011-04-11
蔡燕燕(1986- ),女,碩士研究生,研究方向為數字化服裝技術。通訊作者:宋曉霞,副教授,songxiao xiavivian@126.com。