999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用MATLAB生成Koch曲線

2017-04-27 22:50:46張笑笑
電子技術與軟件工程 2016年15期

張笑笑

摘 要 分析Koch曲線的構造過程,然后編寫生成Koch曲線生成元的M函數,通過該M函數的遞歸調用來生成Koch曲線。通過Koch曲線,便于更直觀地理解分形,獲得分形帶來的藝術美感。

【關鍵詞】分形 Koch曲線 遞歸

自然界存在許多復雜事物和現象,如蜿蜒曲折的海岸線、天空中奇形怪狀的云朵、錯綜生長的灌木、太空中星羅棋布的星球等,還有許多社會現象,如人口的分布、物價的波動等,它們呈現異常復雜而毫無規則的形態,但它們具有自相似性。人們把這些部分與整體以某種方式相似的形體稱為分形(fractal),在此基礎上,形成了研究分形性質及其應用的科學,稱為分形理論。Koch曲線由瑞典數學家科赫(Koch)于1904年提出,是典型的分形曲線。

MATLAB(MATrix LABoratory)是頗具特色和影響的科學計算軟件,它以矩陣運算為基礎,將高性能的數值計算和符號計算功能、強大的繪圖功能、動態系統仿真功能以及為數眾多的應用工具箱集成在一起,在科學研究以及工程設計領域有著十分廣泛的應用。本文以Koch曲線為例,利用MATLAB作為實現工具,說明分形曲線的生成方法。

1 Koch曲線的構造過程

Koch曲線的構造過程是,取一條直線段L0,將其三等分,保留兩端的線段,將中間的一段用以該線段為邊的等邊三角形的另外兩邊代替,得到曲線L1,如圖1所示。再對L1中的4條線段都按上述方式修改,得到曲線L2,如此繼續下去進行n次修改得到曲線Ln,當n→∞時得到一條連續曲線L,這條曲線L就稱為Koch曲線。

Koch曲線將每條直線用一條折線替代,這條折線通常稱為該Koch曲線的生成元。曲線的特征完全由生成元決定。給定不同的生成元,就可以生成各種不同的分形曲線。分形曲線的構造過程是通過反復用一個生成元來取代每一直線段,因而圖形的每一部分都和它本身的形狀相同,這就是自相似性,這是分形最為本質的特點。

對于給定的初始直線L0,需要在線段P1P5中插入三個點,其中P2,P4為線段P1P5的三等分點, P3可以由P4以P2為軸心逆時針旋轉60°得到。

先考慮坐標數據的處理方法,即根據P1,P5兩點的初始坐標,按照Koch曲線的構成原理計算出 P2,P3,P4各點坐標。顯然:

P2=P1+(P5-P1)/3

P4=P1+2( P5-P1)/3

為了得到P3點坐標,引入旋轉矩陣。點A對應于長度為r的向量,A逆時針旋轉△θrad得到B,如圖2所示。

由此,定義旋轉矩陣:

B=ART

P3點坐標可以由以下旋轉矩陣來實現。

R用于對坐標進行60°的旋轉,則P3點坐標可以由如下的公式得到:

2 Koch曲線的實現

分形曲線的構造過程也決定了生成該曲線可以用遞歸方法,即函數自己調用自己的過程。定義對直線L0進行替換的函數koch(),然后利用函數的遞歸調用,分別對P1P2、P2P3、P3P4、P4P5線段調用koch函數,通過遞歸來實現替換。程序不能像數學家的設想那樣運算至無窮,所以要根據要顯示的最小長度作為遞歸的終止條件。

首先編寫M函數koch.m如下:

function y=koch(P1,P5,Level)

if Level<1

plot([P1(1),P5(1)],[P1(2),P5(2)],'k'); %繪制曲線

hold on;

else

R=[cos(pi/3),-sin(pi/3);sin(pi/3),cos(pi/3)]; %旋轉矩陣

P2=P1+(P5-P1)/3; %計算P2,P3,P4各點坐標

P4=P1+2*(P5-P1)/3;

P3=P1+(P5-P1)/3+(P5-P1)*R'/3;

koch(P1,P2,Level-1); %函數遞歸調用

koch(P2,P3,Level-1);

koch(P3,P4,Level-1);

koch(P4,P5,Level-1);

end

M函數編寫完成后,編寫以下程序。

koch([0,0],[1,0],5);

axis equal

axis([0,1,-0.05,0.35])

程序取Level=5,P1=[0,0],P5=[1,0],運行結果如圖3所示。改變Level的值可以獲得不同細膩程度的Koch曲線。

在程序中三次調用koch.m函數,實現三角形三條邊各自的Koch曲線,形成Koch雪花曲線效果。編寫以下程序,其運行結果如圖4所示。

koch([1,0],[0,0],5);

koch([0,0],[cos(pi/3),sin(pi/3)],5);

koch([cos(pi/3),sin(pi/3)],[1,0],5);

axis equal

3 Koch曲線的變形

參照本文的方法,我們很容易自己構造其他生成元的Koch曲線,并利用MATLAB來實現。例如,修改Koch曲線生成的方法,將線段中凸起“三角形”改為凸起“正方形”,從而形成一種正方形雪花曲線,如圖5所示。

4 結束語

分形幾何是一門以不規則幾何形態為研究對象的幾何學。由于不規則現象在自然界普遍存在,因此分形幾何學又被稱為描述大自然的幾何學。分形幾何學建立以后,很快就引起了各個學科領域的關注,不僅在理論上,而且在實用上分形幾何都具有重要價值。通過利用計算機和MATLAB來生成分形曲線的圖像,使得我們可以更直觀的感受和理解分形,以及分形帶來的藝術之美。

參考文獻

[1]百度百科.分形理論.http://baike.baidu.com/view/86848.htm.

[2]劉衛國.MATLAB程序設計教程(第二版)[M].北京:中國水利水電出版社,2010.

[3]PRATAP R.Getting Started with MATLAB: A Quick Introduction for Scientists and Engineers.Oxford University Press, New York, 2009.

[4]百度文庫.幾個分形的matlab實現.http://wenku.baidu.com/view/e34f87240722192e4536f659.html.

作者單位

湖南省長沙市第一中學 湖南省長沙市 410005

主站蜘蛛池模板: 日本人又色又爽的视频| 伊人久久综在合线亚洲91| 欧美国产另类| 亚洲欧美成人网| 秘书高跟黑色丝袜国产91在线| 亚洲色图综合在线| 欧美区在线播放| 国产精品香蕉在线| 亚洲成人一区二区| 国产高清精品在线91| 98精品全国免费观看视频| 999国内精品久久免费视频| 91po国产在线精品免费观看| 国产成人精品亚洲77美色| 亚洲天堂网在线观看视频| 一级一毛片a级毛片| jizz国产在线| 最新亚洲人成网站在线观看| 日本爱爱精品一区二区| 国产黑丝视频在线观看| 亚洲色欲色欲www在线观看| 欧美另类视频一区二区三区| 国产在线自揄拍揄视频网站| 午夜一级做a爰片久久毛片| 热久久综合这里只有精品电影| 亚洲av无码久久无遮挡| 国产剧情伊人| 亚洲精品中文字幕无乱码| 久久国产香蕉| 黄色免费在线网址| 亚洲一级毛片免费看| 亚洲久悠悠色悠在线播放| 精品综合久久久久久97| A级毛片无码久久精品免费| 国产高潮流白浆视频| 欧美成人a∨视频免费观看| 亚洲一级色| 国产三级视频网站| аⅴ资源中文在线天堂| 制服丝袜在线视频香蕉| 999精品在线视频| 高清不卡一区二区三区香蕉| 欧美国产日韩在线| 国产一区二区色淫影院| 国产精品亚洲va在线观看| 91青青在线视频| 免费观看国产小粉嫩喷水| 国产高清毛片| 国产无遮挡猛进猛出免费软件| 欧美日韩午夜| 欧美h在线观看| 麻豆AV网站免费进入| 不卡午夜视频| 国内精品小视频在线| 日韩欧美中文在线| 亚洲国产天堂久久综合226114| 国产免费自拍视频| 精品少妇三级亚洲| 日韩中文欧美| 2021国产v亚洲v天堂无码| 亚洲午夜天堂| 国产精品3p视频| 欧美中文字幕在线播放| 欧美性爱精品一区二区三区 | 扒开粉嫩的小缝隙喷白浆视频| 国产青榴视频| 97国产成人无码精品久久久| 久久精品国产精品国产一区| 青青草国产精品久久久久| 中国一级毛片免费观看| 日本三级欧美三级| 成年人福利视频| 午夜毛片福利| 97成人在线视频| 国产成人精品视频一区二区电影 | 欧美爱爱网| 毛片最新网址| 2022精品国偷自产免费观看| 亚洲香蕉在线| 不卡国产视频第一页| 免费在线色| 青青草原国产精品啪啪视频|