金能智 者建 武文洮 楊博超 李葆光
摘 要:Matlab具有強(qiáng)大的科學(xué)運(yùn)算和靈活的程序設(shè)計(jì),可提供高質(zhì)量的圖像可視化,已經(jīng)在很多領(lǐng)域得到廣泛應(yīng)用。分形是非線性科學(xué)的重要分支,分形幾何學(xué)卻具有尺度上的對(duì)稱性,分型圖形是計(jì)算機(jī)圖形學(xué)和分形理論相結(jié)合的產(chǎn)物。該文利用Matlab強(qiáng)大的編程工具和圖形顯示功能實(shí)現(xiàn)Cantor集、Koch曲線、分形樹(shù)圖形,這對(duì)數(shù)學(xué)類、計(jì)算機(jī)圖形學(xué)和相關(guān)專業(yè)類研究人員有一定的參考價(jià)值。
關(guān)鍵詞:分形 Matlab Cantor集 Koch曲線
中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2017)01(b)-0105-02
Matlab是矩陣實(shí)驗(yàn)室(Matrix Laboratory)的簡(jiǎn)稱,是美國(guó)MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語(yǔ)言和交互式環(huán)境。Matlab提供了強(qiáng)大的科學(xué)運(yùn)算、靈活的程序設(shè)計(jì)、高質(zhì)量的圖像可視化以及便捷地與其他程序和語(yǔ)言接口的功能[1,2]。目前,Matlab已經(jīng)應(yīng)用到很多科研領(lǐng)域,如,生物信息學(xué)[3]、統(tǒng)計(jì)學(xué)[4]、信號(hào)處理[5]、小波分析[6]等。
分形(Fractal)是非線性科學(xué)的一個(gè)重要分支,應(yīng)用于自然科學(xué)和社會(huì)科學(xué)的眾多領(lǐng)域[7-9]。1973年,數(shù)學(xué)家Mandelbrot在法蘭西學(xué)院講課時(shí),首次提出了分形的思想。他給分形下的定義就是:一個(gè)集合形狀,可以細(xì)分為若干部分,而每一部分都是整體的精確或不精確的相似形。分形的基本特征是具有標(biāo)度不變性。其研究的圖形是非常不規(guī)則和不光滑的,已失去了通常的幾何對(duì)稱性。但是,在不同的尺度下進(jìn)行觀測(cè)時(shí),分形幾何學(xué)卻具有尺度上的對(duì)稱性或稱標(biāo)度不變性。
分形圖形是計(jì)算機(jī)圖形學(xué)和分形理論相結(jié)合的產(chǎn)物,在電腦模擬研究具有分形特征物體的圖像。分形的計(jì)算機(jī)生成問(wèn)題具有明顯的挑戰(zhàn)性,它使傳統(tǒng)數(shù)學(xué)中無(wú)法表達(dá)的形態(tài)(如,山脈、花草等)得以表達(dá)。分形圖案在自然界真實(shí)物體模擬、仿真形體生成、計(jì)算機(jī)動(dòng)畫(huà)、藝術(shù)裝飾紋理、圖案設(shè)計(jì)和創(chuàng)意制作等具有廣泛的應(yīng)用價(jià)值。
該文中利用強(qiáng)大的編程工具M(jìn)atlab來(lái)實(shí)現(xiàn)Cantor集、Koch曲線、分形樹(shù)圖形,這對(duì)數(shù)學(xué)類、計(jì)算機(jī)圖形學(xué)和相關(guān)專業(yè)類研究人員有一定的參考價(jià)值。
1 Cantor集
取一條長(zhǎng)度為1的直線段,將它三等分,去掉中間一段,留剩下兩段,再將剩下的兩段再分別三等分,各去掉中間一段,剩下更短的四段,將這樣的操作一直繼續(xù)下去,直至無(wú)窮,由于在不斷分割舍棄過(guò)程中,所形成的線段數(shù)目越來(lái)越多,長(zhǎng)度越來(lái)越小,在極限的情況下,得到一個(gè)離散的點(diǎn)集,稱為Cantor集。具體代碼如下。
function f=cantor(ax,ay,bx,by)
c=0.2;
d=2;
if (bx-ax)>c
x=[ax,bx];y=[ay,by];hold on;
plot(x,y,LineWidth,5);hold off;
cx=ax+(bx-ax)/3;
cy=ay-d;
dx=bx-(bx-ax)/3;
dy=by-d;
ay=ay-d;
by=by-d;
cantor(ax,ay,cx,cy);
cantor(dx,dy,bx,by);
end
end
執(zhí)行cantor(1,4,10,4),結(jié)果顯示如圖1。
2 Koch曲線
Koch曲線,設(shè)想從一條直線段開(kāi)始,將線段中間1/3部分用等邊三角形的兩條邊代替,形成具有5個(gè)結(jié)點(diǎn)的圖形,在新的圖形中,又將圖中每一直線段中間的1/3部分都用一等邊三角形的兩條邊代替,再次形成新的圖形,以此重復(fù),直至無(wú)窮。外界的變得原來(lái)越細(xì)微曲折,形狀接近理想化的雪花。具體代碼如下。
function f=Koch(ax,ay,bx,by,c)
if (bx-ax)^2+(by-ay)^2 x=[ax,bx];y=[ay,by]; plot(x,y,LineWidth,2); axis equal hold on; else cx=ax+(bx-ax)/3; cy=ay+(by-ay)/3; ex=bx-(bx-ax)/3; ey=by-(by-ay)/3; l=sqrt((ex-cx)^2+(ey-cy)^2); alpha=atan((ey-cy)/(ex-cx)); if (alpha>=0&(ex-cx)<0)|(alpha<=0&(ex-cx)<0) alpha=alpha+pi; end dy=cy+sin(alpha+pi/3)*l; dx=cx+cos(alpha+pi/3)*l; Koch(ax,ay,cx,cy,c); Koch(ex,ey,bx,by,c); Koch(cx,cy,dx,dy,c); Koch(dx,dy,ex,ey,c); end end 執(zhí)行Koch(0,0,120,0,10),結(jié)果顯示如圖2。 3 分形樹(shù) 一條線段,以線段的終點(diǎn)為起點(diǎn)向兩邊分出一定的角度、長(zhǎng)度的兩條線段,分出的線段的終點(diǎn)再做相同處理,以此類推,生成一種分形樹(shù)。具體代碼如下。 function fractaltree(n,ax,ay,len,angle)
bx=ax+len*cos(angle);
by=ay+len*sin(angle);
plot([ax,bx],[ay,by]);
angle1=pi/6;
angle2=pi/9;
hold on
if n==0
return;
end
fractaltree(n-1,bx,by,0.6*len,angle+angle1);
fractaltree(n-1,bx,by,0.7*len,angle-angle2);
end
執(zhí)行fractaltree(12,150,20,50,pi/2),結(jié)果顯示如圖3。
4 結(jié)語(yǔ)
分形形態(tài)是自然界普遍存在的,研究分形,是探討自然界的復(fù)雜事物的客觀規(guī)律及其內(nèi)在聯(lián)系的需要。分形提供了描述自然形態(tài)的幾何學(xué)方法,使得在計(jì)算機(jī)上可以從少量數(shù)據(jù)出發(fā),對(duì)復(fù)雜的自然景物進(jìn)行逼真的模擬,并啟發(fā)人們利用分形技術(shù)對(duì)信息做大幅度的數(shù)據(jù)壓縮。它以其獨(dú)特的手段來(lái)解決整體與部分的關(guān)系問(wèn)題,利用空間結(jié)構(gòu)的對(duì)稱性和自相似性,采用各種模擬真實(shí)圖形的模型,使整個(gè)生成的景物呈現(xiàn)出細(xì)節(jié)的無(wú)窮回歸的性質(zhì),豐富多彩,具有奇妙的藝術(shù)魅力。
參考文獻(xiàn)
[1] 姜健飛.數(shù)值分析及其MATLAB實(shí)驗(yàn)[M].北京:清華大學(xué)出版社,2015.
[2] 史峰.MATLAB智能算法30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2015.
[3] 張樂(lè)平,黃非,閔波,等.基于MATLAB生物信息學(xué)工具箱構(gòu)建分子系統(tǒng)發(fā)生樹(shù)[J].醫(yī)學(xué)信息學(xué)雜志,2010,31(6):34-37.
[4] 張林泉.MATLAB在統(tǒng)計(jì)學(xué)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].高師理科學(xué)刊,2011,31(1):84-87.
[5] 劉波,文忠.MATLAB信號(hào)處理[M].北京:電子工業(yè)出版社,2006.
[6] 張德豐.MATLAB小波分析[M].北京:機(jī)械工業(yè)出版社,2009.
[7] 劉瑩,胡敏,余桂英,等.分形理論及其應(yīng)用[J].江西科學(xué),2006,24(2):205-209.
[8] 孫霞,吳自勤,黃畵.分形原理及應(yīng)用[M].合肥:中國(guó)科學(xué)技術(shù)大學(xué)出版社,2003.
[9] 王達(dá).幾類復(fù)系統(tǒng)分形的特性分析與控制[D].山東大學(xué),2016.