全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
學(xué)習(xí)資料 使用 MATLAB實現(xiàn)隨機(jī)分形樹模擬 尤鴻霞 (南通紡織職業(yè)技術(shù)學(xué)院,南通, 226007) 摘要: 闡述了植物模擬的典型方法 L-系統(tǒng)及迭代函數(shù)系統(tǒng) (IFS)的基本原理。根據(jù)這兩種方法,利用Matlab軟件工具,模擬了帶有隨機(jī)因子的分形樹,模擬的分形樹形態(tài)生動逼真。 Matlab具有強(qiáng)大的繪圖工具和函數(shù)系統(tǒng),實現(xiàn)隨即分形樹模擬的程序很簡潔。 關(guān)鍵字: 分形樹; L-系統(tǒng); 迭代函數(shù)系統(tǒng) IFS; matlab 中圖分類號: TP391.9 文獻(xiàn)標(biāo)識碼: A 1 介紹 自然界中種類繁多的植物大都具 有自我相似的分形特征。近年來,隨著分形理論的發(fā)展,分形理論在植物模擬領(lǐng)域得到了廣泛的應(yīng)用?;诜中卫碚摰闹参锬M方法主要有 L-系統(tǒng)、迭代函數(shù)系統(tǒng)、粒子系統(tǒng)等 1。本文以 L系統(tǒng)、迭代函數(shù)系統(tǒng)( IFS)的算法思想為基礎(chǔ),以 Matlab為編程工具,借助 Matlab的繪圖功能,實現(xiàn)了隨機(jī)分形樹的模擬。 2分形模擬的實現(xiàn) 2.1 基于 L系統(tǒng)的仿真 1968 年,著名理論生物學(xué)家 Lindenmayer,在研究植物形態(tài)的進(jìn)化和構(gòu)造時,提出了一種文法描述方法作為植物生長的數(shù)學(xué)理論,即 L 系統(tǒng),它能很好地表達(dá)植物的分枝特征。 之后,各地的研究人員開始關(guān)注 L-系統(tǒng),并對其做了各種改進(jìn)。至今, L-系統(tǒng)仍然是植物模擬的一種重要思想方法。 L-系統(tǒng)是一種符號重寫系統(tǒng),基本思想為字符串替換,其替換規(guī)則基本如下: b a, a ab。 則其基本演變規(guī)律為: b a ab aba abaab abaababa abaababaabaab。字符串的增長符合fibonacci數(shù)列,即 F(n+2)=F(n+1)+F(n)。 L-系統(tǒng)應(yīng)用于植物模擬時,首先根據(jù)其符號元和替換規(guī)則產(chǎn)生一系列字符串,然后讀取字符,按照不同字符表示的意義來執(zhí)行不同的動作 2。簡單描述如下: 第一步:生成字符串 1) 聲明并設(shè)置產(chǎn)生式規(guī)則 2) 聲明并設(shè)置起始點、初始角、迭代步長以及迭代上限等控制參數(shù) 3) 循環(huán)用替換字符串替換種子 第二步:讀取字符并畫圖 4) 逐個讀取字符串中的每個字符 5) 根據(jù)讀取到的字符采取不同的動作 讀取 F時,畫線段; 讀取 +時,逆時針旋轉(zhuǎn) 讀取 -時,順時針旋轉(zhuǎn) 讀取 時,進(jìn)棧,記錄當(dāng)前狀態(tài) 讀取 時,出棧 圖 1 為筆者用 matlab 為平臺實現(xiàn)的基于 L-系統(tǒng)思想的分形樹,其產(chǎn)生式規(guī)則分別為FF-F+F+F+F-F-F、 F+FF-FF、 F+FF-F+F。 學(xué)習(xí)資料 圖 1 不同生成規(guī)則的分形樹 隨著植物模擬技術(shù)的發(fā)展,一些研究者提出在分形樹的基礎(chǔ)上加入隨機(jī)因子,這樣的生成樹就不是完全按照某一確定的規(guī)則,體現(xiàn)了自然界由于外界條件造成的樹木生長的偶然性,這樣得到的分形樹更自然,更逼真。丁永勝等人 3曾以 matlab 實現(xiàn)分形樹模擬,其分形樹是使用單一規(guī)則實現(xiàn)的,整棵樹采用同一種自相似規(guī)則,每一個分枝的分形方法都相同,其生成樹的結(jié)果如圖 1。筆者在其基礎(chǔ)上,對程序進(jìn)行了改進(jìn),加入了隨機(jī)因子,整棵樹的生成采用三種自相似規(guī)則(如程序中的 p1、 p2和 p3),在樹木分枝的部位,到底采用哪一種規(guī)則生成新的枝干部分,由隨機(jī)數(shù)決定。如 function Sltree(n)程序中,使用 c=rand(1)函數(shù)隨機(jī)生成一個 01之間的數(shù)字,在分枝部位,如果生成的隨機(jī)數(shù)是 0.71 之間,則采用 p1=FF+F+F-+F規(guī)則生成新的枝干;若生成的隨機(jī)數(shù)是 0.350.7,則采用 p2=F+FF-F+F規(guī)則生成新的枝干;若生成的隨機(jī)數(shù)是 00.35,則采用 p3=FF-F+F+F+F-F-F規(guī)則生成新的枝干。這樣生成的樹木體現(xiàn)了自 然界的外界條件對樹木生長的影響,使樹木的外觀看起來更加逼真。程序如下: function Sltree(n) S=F;a=pi/10;A=pi/2;z=0;zA=0,pi/2; p3=FF-F+F+F+F-F-F;p1=FF+F+F-+F;p2=F+FF-F+F; for k=2:n c=rand(1) if c=0.7 S=strrep(S,F,p1); elseif c=0.35 S=strrep(S,F,p2); else S=strrep(S,F,p3); end end figure;hold on; for k=1:length(S); switch S(k); case F plot(z,z+2*exp(i*A),linewidth,2); z=z+2*exp(i*A); case + A=A+a; case - A=A-a; case zA=zA;z,A; case z=zA(end,1); A=zA(end,2); zA(end,:)=; otherwise end end 加入了隨機(jī)因子之后,生成的分形樹更具隨機(jī)性,更逼真。由于具有隨機(jī)性,每次執(zhí)行程序, 圖 2 隨機(jī)分形樹仿真圖 學(xué)習(xí)資料 所生成的分形樹是具有不同形態(tài)的。實驗中,還可以根據(jù)需求調(diào)整生成規(guī)則,增加生成規(guī)則的數(shù)量,調(diào)整隨機(jī)數(shù)的范圍等,以得到不同的樹。 2.2 基于迭代函數(shù)系統(tǒng)的仿真 迭代函數(shù)系統(tǒng)( IFS)是分形理論的重要分支,將待生成圖像由許多整體自相似的小塊拼接而成,局部是整體的一個小復(fù)制品。主要技術(shù)有相似變換及仿射變換。相似變換可放大縮小甚至旋轉(zhuǎn),但不變形;仿射變換指在不同方向上變化比率不同的比例變換,一般會改變圖形中向量的夾角、點與點之間的距 離、圖形的面積等,可以將圖形進(jìn)行縮放、伸長、剪切、扭曲等。 仿射變換的數(shù)學(xué)表達(dá)式為如下,其中 a, b, c, d, e, f 均為實數(shù): fdycxyebyaxx 利用 IFS方法生成分形圖的關(guān)鍵是找出相應(yīng)的 IFS 碼,根據(jù)已有的研究結(jié)果,給出如下一組 IFS碼 4。本文作者利用 matlab工具及這些 IFS碼,實現(xiàn)了 IFS樹的模擬。 表 1 一組 IFS樹的 IFS碼 i a b c d e f 1 -0.04 0 -0.19 -0.47 -0.12 0.3 2 0.65 0 0 0.56 0.06 1.56 3 0.41 0.46 -0.39 0.61 0.46 0.4 4 0.52 -0.35 0.25 0.74 -0.48 0.38 筆者在丁永勝等人 3的研究結(jié)果的基礎(chǔ)上,采用不同與丁永勝等人的變換公式,如 IFST(N)函數(shù)中的變換公式 xp=a1*x+b1*y+e1, yp=c1*x+d1*y+f1,根據(jù)表 1的 IFS樹的 IFS碼,并重新調(diào)整了隨機(jī)數(shù)的分布,實現(xiàn)生成 IFS樹,如圖 3。程序如下: functionxx,yy=IFST(N) x=0;y=0; p=rand(1,N); AA=-0.04,0,-0.19,-0.47,-0.12,0.3;0.65,0,0,0.56,0.06,1.56;0.41,0.46,-0.39,0.61,0.46,0.4;0.52,-0.35,0.25,0.74,-0.48,0.38 xx=zeros(N,1);yy=zeros(N,1); for ss=1:N; if p(1,ss)=0.25; x,y=IFS(x,y,AA(1,1),AA(1,2),AA(1,3),AA(1,4),AA(1,5),AA(1,6); elseif p(1,ss)=0.5; x,y=IFS(x,y,AA(2,1),AA(2,2),AA(2,3),AA(2,4),AA(2,5),AA(2,6); elseif p(1,ss)=0.75; x,y=IFS(x,y,AA(3,1),AA(3,2),AA(3,3),AA(3,4),AA(3,5),AA(3,6); else x,y=IFS(x,y,AA(4,1),AA(4,2),AA(4,3),AA(4,4),AA(4,5),AA(4,6); end xx(ss)=x;yy(ss)=y; end plot(xx,yy,.b,markersize,2); set(gcf,color,w) axis square off; functionxp,yp=IFS(x,y,a1,b1,c1,d1,e1,f1) xp=a1*x+b1*y+e1; yp=c1*x+d1*y+f1; return 圖 3 matlab仿真的 IFS分形樹 學(xué)習(xí)資料 圖 3為用 matlab程序?qū)崿F(xiàn)的以表 1中的 IFS碼生成的 IFS分形樹,調(diào)整 IFS 碼為適當(dāng)?shù)臄?shù)值,還可以形象地模擬蕨葉、楓葉、蒿草等各種自然界的植物。 3 結(jié)語 虛擬植物技術(shù)已經(jīng)成為當(dāng)今計算機(jī)圖形 學(xué)應(yīng)用領(lǐng)域的研究熱點,本文結(jié)合最常用的模擬植物形態(tài)的兩種方法 L-系統(tǒng)和迭代函數(shù)系統(tǒng) IFS,以 matlab軟件為運行平臺,實現(xiàn)了分型植物的形態(tài)模擬。Matlab軟件有功能強(qiáng)大的繪圖工具箱,實現(xiàn)植物模擬的程序代碼簡潔,今后可多嘗試使用 matlab實現(xiàn)更加復(fù)雜的虛擬植物技術(shù)。 參考文獻(xiàn): 1 康軍廣 . 基于分形理論的植物模擬 J. 河北工業(yè)大學(xué)碩士學(xué)位論文 . 2006年 12月:摘要 2 武志峰 . 基于分形理論的植物模擬方法研究 J. 大連理工大學(xué)碩士學(xué)位論文 . 2005年 16月: 6 8 3 丁永 勝,堵秀鳳,張水勝 . Matlab 分形植物模擬 J. 齊齊哈爾大學(xué)學(xué)報 . 2008.5(第 24 卷第 3期) :63 66 4 劉茗 . 分形植物形態(tài)的模擬算法研究 J. 蘇州大學(xué)同等學(xué)歷碩士學(xué)位論文 . 2006年 10月: 27 29 Matlab applied in simulating random fractal natural trees You hong-xia ( Nantong Textile Vocational Technology College, Nandtong 226007, China ) Abstract: L system and iterated function system, two typical methods on simulating plants were described in this paper. According to these two methods, random fractal trees were simulated with matlab functions and programs. The random fractal trees configurations were natural and living. In matlab software, functions and tools for drawing were powerful. In this paper, the programs to simulate random fractal trees were compact and easy to implement.
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東東營市墾利區(qū)墾利街道辦事處城鄉(xiāng)公益性崗位招聘9人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宿州市“宿事速辦”12345政務(wù)服務(wù)便民熱線服務(wù)中心公開招聘15人管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宣城寧國市經(jīng)信委招考管理單位筆試遴選500模擬題附帶答案詳解
- 2025年宜賓市翠屏區(qū)盈瑞農(nóng)業(yè)科技發(fā)展限責(zé)任公司公開招聘工作人員12名管理單位筆試遴選500模擬題附帶答案詳解
- 2025年安徽馬鞍山市直事業(yè)單位招聘173人歷年管理單位筆試遴選500模擬題附帶答案詳解
- 2025-2030年中國智能安防行業(yè)發(fā)展?fàn)顩r及前景規(guī)劃研究報告
- 2025-2030年中國城市軌道交通信息化商業(yè)計劃書
- 2025-2030年中國低蠕變莫來石行業(yè)當(dāng)前經(jīng)濟(jì)形勢及投資建議研究報告
- 2024-2030年食品安全檢測公司技術(shù)改造及擴(kuò)產(chǎn)項目可行性研究報告
- 2024-2030年撰寫:中國復(fù)合穩(wěn)態(tài)管生產(chǎn)線行業(yè)發(fā)展趨勢及競爭調(diào)研分析報告
- 質(zhì)控競聘課件
- 2024年房地產(chǎn)開發(fā)商與承建商之間的工程承包合同
- 2024-2025學(xué)年高二上學(xué)期期中家長會-家校同頻共話成長 課件
- 語文-句子成分劃分名師公開課獲獎?wù)n件百校聯(lián)賽一等獎?wù)n件
- 班組安全爭先創(chuàng)優(yōu)競賽活動考核細(xì)則表
- 2024-2030年中國眼視光行業(yè)現(xiàn)狀態(tài)勢與未來前景預(yù)測報告
- 北京市西城區(qū)2022-2023學(xué)年高三上學(xué)期期末生物試題 附解析
- 《中文歌曲在對外漢語文化教學(xué)中的應(yīng)用研究》
- 小學(xué)三年級上冊數(shù)學(xué)豎式計算題大全
- 2023-2024學(xué)年全國小學(xué)四年級上英語人教版期末考試試卷(含答案解析)
- GB/T 28569-2024電動汽車交流充電樁電能計量
評論
0/150
提交評論