




已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
幾個分形的matlab實(shí)現(xiàn)摘要:給出幾個分形的實(shí)例,并用matlab編程實(shí)現(xiàn)方便更好的理解分形,欣賞其帶來的數(shù)學(xué)美感關(guān)鍵字:Koch曲線 實(shí)驗(yàn) 圖像一、 問題描述:從一條直線段開始,將線段中間的三分之一部分用一個等邊三角形的兩邊代替,形成山丘形圖形如下 圖1在新的圖形中,又將圖中每一直線段中間的三分之一部分都用一個等邊三角形的兩條邊代替,再次形成新的圖形如此迭代,形成Koch分形曲線。二、 算法分析:考慮由直線段(2個點(diǎn))產(chǎn)生第一個圖形(5個點(diǎn))的過程。圖1中,設(shè)和分別為原始直線段的兩個端點(diǎn),現(xiàn)需要在直線段的中間依次插入三個點(diǎn),。顯然位于線段三分之一處,位于線段三分之二處,點(diǎn)的位置可看成是由點(diǎn)以點(diǎn)為軸心,逆時針旋轉(zhuǎn)600而得。旋轉(zhuǎn)由正交矩陣實(shí)現(xiàn)。算法根據(jù)初始數(shù)據(jù)(和點(diǎn)的坐標(biāo)),產(chǎn)生圖1中5個結(jié)點(diǎn)的坐標(biāo)。結(jié)點(diǎn)的坐標(biāo)數(shù)組形成一個矩陣,矩陣的第一行為的坐標(biāo),第二行為的坐標(biāo),第五行為的坐標(biāo)。矩陣的第一列元素分別為5個結(jié)點(diǎn)的坐標(biāo),第二列元素分別為5個結(jié)點(diǎn)的坐標(biāo)。進(jìn)一步考慮Koch曲線形成過程中結(jié)點(diǎn)數(shù)目的變化規(guī)律。設(shè)第次迭代產(chǎn)生的結(jié)點(diǎn)數(shù)為,第次迭代產(chǎn)生的結(jié)點(diǎn)數(shù)為,則和中間的遞推關(guān)系為。三、實(shí)驗(yàn)程序及注釋:p=0 0;10 0; %P為初始兩個點(diǎn)的坐標(biāo),第一列為x坐標(biāo),第二列為y坐標(biāo)n=2; %n為結(jié)點(diǎn)數(shù)A=cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3); %旋轉(zhuǎn)矩陣for k=1:4 d=diff(p)/3; %diff計(jì)算相鄰兩個點(diǎn)的坐標(biāo)之差,得到相鄰兩點(diǎn)確定的向量 %則d就計(jì)算出每個向量長度的三分之一,與題中將線段三等分對應(yīng) m=4*n-3; %迭代公式 q=p(1:n-1,:); %以原點(diǎn)為起點(diǎn),前n-1個點(diǎn)的坐標(biāo)為終點(diǎn)形成向量 p(5:4:m,:)=p(2:n,:); %迭代后處于4k+1位置上的點(diǎn)的坐標(biāo)為迭代前的相應(yīng)坐標(biāo) p(2:4:m,:)=q+d; %用向量方法計(jì)算迭代后處于4k+2位置上的點(diǎn)的坐標(biāo) p(3:4:m,:)=q+d+d*A; %用向量方法計(jì)算迭代后處于4k+3位置上的點(diǎn)的坐標(biāo) p(4:4:m,:)=q+2*d; %用向量方法計(jì)算迭代后處于4k位置上的點(diǎn)的坐標(biāo) n=m; %迭代后新的結(jié)點(diǎn)數(shù)目end plot(p(:,1),p(:,2) %繪出每相鄰兩個點(diǎn)的連線axis(0 10 0 10)四、實(shí)驗(yàn)數(shù)據(jù)記錄:由第三部分的程序,可得到如下的Koch分形曲線:圖2五、注記:參照實(shí)驗(yàn)方法,可繪制如下生成元的Koch 分形曲線:圖3此時,旋轉(zhuǎn)矩陣為:程序和曲線如下:p=0 0;10 0; %P為初始兩個點(diǎn)的坐標(biāo),第一列為x坐標(biāo),第二列為y坐標(biāo)n=2; %n為結(jié)點(diǎn)數(shù)A=0 -1;1 0; %旋轉(zhuǎn)矩陣for k=1:4 d=diff(p)/3; %diff計(jì)算相鄰兩個點(diǎn)的坐標(biāo)之差,得到相鄰兩點(diǎn)確定的向量 %則d就計(jì)算出每個向量長度的三分之一,與題中將線段三等分對應(yīng) m=5*n-4; %迭代公式 q=p(1:n-1,:); %以原點(diǎn)為起點(diǎn),前n-1個點(diǎn)的坐標(biāo)為終點(diǎn)形成向量 p(6:5:m,:)=p(2:n,:); %迭代后處于5k+1位置上的點(diǎn)的坐標(biāo)為迭代前的相應(yīng)坐標(biāo) p(2:5:m,:)=q+d; %用向量方法計(jì)算迭代后處于5k+2位置上的點(diǎn)的坐標(biāo) p(3:5:m,:)=q+d+d*A; %用向量方法計(jì)算迭代后處于5k+3位置上的點(diǎn)的坐標(biāo) p(4:5:m,:)=q+2*d+d*A; %用向量方法計(jì)算迭代后處于5k+4位置上的點(diǎn)的坐標(biāo) p(5:5:m,:)=q+2*d; %用向量方法計(jì)算迭代后處于5k位置上的點(diǎn)的坐標(biāo) n=m; %迭代后新的結(jié)點(diǎn)數(shù)目end plot(p(:,1),p(:,2) %繪出每相鄰兩個點(diǎn)的連線axis(0 10 0 10)圖4由于中間三分之一部分是一個正方形時,有很多連接的部分。所以我們將高度壓縮到原來的0.7倍,即中間部分為一個長與寬之比為1:0.7的矩形時,得到程序和曲線如下:p=0 0;10 0; %P為初始兩個點(diǎn)的坐標(biāo),第一列為x坐標(biāo),第二列為y坐標(biāo)n=2; %n為結(jié)點(diǎn)數(shù)A=0 -1;1 0; %旋轉(zhuǎn)矩陣for k=1:4 d=diff(p)/3; %diff計(jì)算相鄰兩個點(diǎn)的坐標(biāo)之差,得到相鄰兩點(diǎn)確定的向量 %則d就計(jì)算出每個向量長度的三分之一,與題中將線段三等分對應(yīng) m=5*n-4; %迭代公式 q=p(1:n-1,:); %以原點(diǎn)為起點(diǎn),前n-1個點(diǎn)的坐標(biāo)為終點(diǎn)形成向量 p(6:5:m,:)=p(2:n,:); %迭代后處于5k+1位置上的點(diǎn)的坐標(biāo)為迭代前的相應(yīng)坐標(biāo) p(2:5:m,:)=q+d; %用向量方法計(jì)算迭代后處于5k+2位置上的點(diǎn)的坐標(biāo) p(3:5:m,:)=q+d+0.7*d*A; %用向量方法計(jì)算迭代后處于5k+3位置上的點(diǎn)的坐標(biāo) p(4:5:m,:)=q+2*d+0.7*d*A; %用向量方法計(jì)算迭代后處于5k+4位置上的點(diǎn)的坐標(biāo) p(5:5:m,:)=q+2*d; %用向量方法計(jì)算迭代后處于5k位置上的點(diǎn)的坐標(biāo) n=m; %迭代后新的結(jié)點(diǎn)數(shù)目end plot(p(:,1),p(:,2) %繪出每相鄰兩個點(diǎn)的連線axis(0 10 0 10)圖 參照實(shí)驗(yàn)方法,我們由四邊形的四個初始點(diǎn)出發(fā),對于四邊形的每條邊,生成元如下:圖6可得到火焰般的圖形。程序和曲線如下:p=0 10;10 0;0 -10;-10 0;0 10; %P為四邊形四個頂點(diǎn)的坐標(biāo),其中第五個點(diǎn)與第一個點(diǎn)重合,以便于繪圖 %第一列為x坐標(biāo),第二列為y坐標(biāo)n=5; %n為結(jié)點(diǎn)數(shù) A=cos(-pi/3) -sin(-pi/3);sin(-pi/3) cos(-pi/3); %旋轉(zhuǎn)矩陣,順時針旋轉(zhuǎn)60度for k=1:5 d=diff(p)/3;m=4*n-3; %迭代公式q=p(1:n-1,:);p(5:4:m,:)=p(2:n,:); p(2:4:m,:)=q+d; p(3:4:m,:)=q+2*d+d*A; p(4:4:m,:)=q+2*d; n=m;endplot(p(:,1),p(:,2)axis(-10 10 -10 10)圖7參照實(shí)驗(yàn)方法,由下列的生成元,繪制Koch分形曲線:圖8分析:為了繪圖方便,我們將結(jié)點(diǎn)數(shù)處理一下,把第一次迭代產(chǎn)生的六個點(diǎn)看成十個點(diǎn),即圖中有五條線段(,),我們將每條線段的每個端點(diǎn)看成新的兩個結(jié)點(diǎn),這樣我們就可以很方便地用plot繪圖了。程序和曲線如下:p=0 0;10 10; %P為初始兩個點(diǎn)的坐標(biāo),第一列為x坐標(biāo),第二列為y坐標(biāo)n=2; %n為結(jié)點(diǎn)數(shù)A=cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3); B=cos(-pi/3) -sin(-pi/3);sin(-pi/3) cos(-pi/3); %旋轉(zhuǎn)矩陣A對應(yīng)于第一次逆時針旋轉(zhuǎn)60度,旋轉(zhuǎn)矩陣B對應(yīng)于第二次順時針旋轉(zhuǎn)60度for k=1:4 d=diff(p)/3; d1=d(1:2:n,:);%取每條線段對應(yīng)的向量 m=5*n; %迭代公式 q1=p(1:2:n-1,:); p(10:10:m,:)=p(2:2:n,:); p(1:10:m,:)=p(1:2:n,:); %迭代后處于10k與10k+1位置上的點(diǎn)的坐標(biāo)為迭代前的相應(yīng)坐標(biāo)p(2:10:m,:)=q1+d1; %用向量方法計(jì)算迭代后處于10k+2,10k+3,10k+5位置上的點(diǎn)的坐標(biāo),都相同 p(3:10:m,:)=p(2:10:m,:); p(4:10:m,:)=q1+d1+d1*A; %用向量方法計(jì)算迭代后處于10k+4位置上的點(diǎn)的坐標(biāo) p(5:10:m,:)=p(2:10:m,:);p(6:10:m,:)=q1+2*d1; %用向量方法計(jì)算迭代后處于10k+6,10k+7,10k+9位置上的點(diǎn)的坐標(biāo),都相同 p(7:10:m,:)=p(6:10:m,:); p(8:10:m,:)=q1+2*d1+d1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園科技節(jié)活動合作合同(2篇)
- 2025農(nóng)業(yè)產(chǎn)業(yè)合作投資合同
- 浙江省臺州市十校2024-2025學(xué)年高二下學(xué)期4月期中考試 化學(xué)試題(含答案)
- 中毒性表皮壞死松解癥的臨床護(hù)理
- 陰囊皮炎的臨床護(hù)理
- 眼瞼惡性黑色素細(xì)胞腫瘤的臨床護(hù)理
- 2025房地產(chǎn)營銷協(xié)作服務(wù)合同協(xié)議范本
- 小兒汞中毒的臨床護(hù)理
- α1-抗胰蛋白酶缺乏癥的臨床護(hù)理
- 《展覽物流協(xié)調(diào)管理》課件
- 新生兒腸脹氣課件
- 物業(yè)管理中英文對照外文翻譯文獻(xiàn)
- 專題17浮力與液面升降問題(選擇、填空題)- 中考物理一輪復(fù)習(xí)專題練習(xí)(解析版)
- 《麻醉后蘇醒延遲》課件
- 《物業(yè)客服培訓(xùn)》課件
- 06J403-1 樓梯、欄桿、欄板圖集
- 實(shí)習(xí)中遇到的問題
- 供貨合同終止申請書范本
- 中國軍力報(bào)告2023全文
- 深圳市南山區(qū)教育系統(tǒng)招聘公辦幼兒園園長考試題庫2023
- 【管理會計(jì)在華為公司中的應(yīng)用現(xiàn)狀、問題及優(yōu)化建議分析9600字(論文)】
評論
0/150
提交評論