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

基于L系統的三維分形樹仿真

2021-07-24 10:00:34蔣杏麗張巖
電子測試 2021年13期
關鍵詞:定義規則生長

蔣杏麗,張巖

(沈陽師范大學數學與系統科學學院,遼寧沈陽,110034)

0 引言

分形,通常被定義為“一個粗糙或零碎的幾何形狀,可以分成數個部分,且每一部分都是整體縮小后的形狀”,即具有自相似的性質[1,2]。分形技術通常用來在計算機上模擬出自然界中具有非規則生長特性的植物。分形幾何的概念 是美籍法國數學家曼德布羅[3]首先提出的,最初分形圖的計算機繪制也只是停留在二維平面,后來,一個分形體愛好者丹尼爾·懷特提出一個大膽的方法,創造出令人稱奇的3D分形影像[4],并將它們命名為芒德球。本文在Matlab平臺上利用L系統算法實現了三維虛擬場景的樹木仿真,有效的展示了樹木的生長和拓撲結構。

1 L系統算法

1.1 L系統的原理

L系統是由生物學家Aristid Lindenmayer[5]于1968年引進的一種字符串迭代重寫機制[6],是分形理論的一個重要分支,被認為是植物生長的數學理論。一個L系統可以用一個三元組(V,w,p)[7]來表示,其中V表示字母表;w是V中的一個非空字符串,代表初始形狀;p是一個有限集合,代表重寫規則。L系統的核心是字符串重寫[8,9,10],即使用一個重寫規則或產生式的集合,對一開始定義好的初始字符串進行有限次數的迭代,再用龜形幾何解釋得到的新圖形去改寫替換原始的字符串[11],最后獲取分形圖形完成三維仿真。

1.2 龜形解釋

由于L系統的產生式、初始元以及重寫后得到的元素都是以字符串的形式存在,所以為了讓這些字符串能夠具體的表示出某種圖形,將其與植物模擬聯系起來,我們引入了龜形這個概念。

龜形的當前狀態由一個三元組(x,y,a)[12,13]來定義,其中笛卡兒坐標(x,y)表示海龜的位置,角度a為海龜的前進方向,可以解釋為海龜面對的方向。給出步長d和角度的增量sita,海龜根據不同符號所代表的命令做出反應。

上面講述的龜形解釋是二維的,它可方便地擴展到三維空間,要對字符串進行三維龜圖解釋,關鍵是用三個向量H,L和U來表示空間龜的當前方位[14,15,16]。H、L、U分別為龜頭的指向、左方、上方,這些向量具有單位長度且方向正交,即滿足方程H X L=U。龜的旋轉可表示為方程: (H,L,U) =(H,L,U) R[17],其中R是3X3的旋轉矩陣。以下分別是繞矢量U、L和H旋轉α的旋轉矩陣R[18]:

龜形位置初始化為笛卡爾坐標系統的原點,頭矢量H指向y軸的正方向,左矢量L指向x軸負方向,向上的矢量U指向z軸的正方向。龜形根據參數的解釋決定前進的方向和狀態變化,如果有多個參數,第一個參數值決定龜的狀態。本文中L系統用到的主要圖形符號、其幾何意義及具體實現代碼如下表1。

表1 圖形符號解釋

2 三維分形樹的可視化

本研究利用Matlab進行模擬仿真。在模擬仿真三維生成樹的時候,會產生大量的數據,造成存儲和計算的能力[19]。MATLAB提供面向大數據處理的性能,可以方便、高效地格式化無法進入內存的文件數據,從而獲得實際意義的實時處理效率[20]。

首先定義好樹的初始字符串和產生式規則,設置樹的生長深度來控制樹的規模。再利用重寫函數repmat()根據定義好的重寫規則對字符串進行迭代重寫,最后使用strrep()函數進行生長樹替換,將初始字符串替換成重寫之后的字符串。

實現代碼:

nV=15; %縱向會有nV個節點的分支

nH=8; %橫向會有nH個節點的分支

SET=’X’; %初始字符串

np=10; %主干上分枝數量

pathp=’’; %主干上空字符串

for i=1:np

pathpi=[‘[+’,repmat(‘-’,1,i),’Y]’]; % 字符串重寫

pathp=[pathp,pathpi]; %連接每次重寫后的字符串

end

pT=[‘T’,pathp,’X’]; %根據重寫規則X對T中起始元是pathp字符串進行重寫

ns=5; %主枝上分支數量

paths=’’; %主枝上空字符串

for i=1:ns

pathsi=[‘[’,repmat(‘/’,1,i),’S]’]; % 字符串重寫

paths=[paths,pathsi]; %連接每次重寫后的字符串

end

pS=[‘P’,paths,’Y’]; %根據重寫規則Y對P中起始元是paths字符串進行重寫

for k=2:nV;

SET=strrep(SET,’X’,pT); %生長樹替換,縱向替換成pT字符串

end

for k=2:nH;

SET=strrep(SET,’Y’,pS); %生長樹替換,橫向替換成pS字符串

end

生長樹替換完成后建立三維坐標以便在三維虛擬空間呈現出分形樹的結構。首先求得生長控制參數諸如樹干長度、樹干延伸次數、樹干收縮系數、樹枝相對偏移角度以便在后續龜形圖的實現中直接使用。其次設置龜形起點,初始方向,旋轉角度,利用龜形解釋依次去讀取字符串的每個字符并解釋為幾何語言繪制出對應的圖形。

運行程序后,在二維分形樹圖形界面上點擊三維旋轉按鈕,拖動圖形即可出現三維分形樹圖像,如圖1和圖2所示。

圖1 二維分形樹

圖2 三維立體分形樹

3 結論

本文在已有的二維分形樹研究的基礎上進行了空間維度的擴展,在Matlab平臺上利用L系統對樹木結構進行解析,再根據定義的重寫規則對樹木初始字符串不斷的迭代重寫,完成樹木的分形,最后使用龜形解釋對分形得到的字符串用幾何語言描繪成圖像,實現了在三維空間的樹木建模。但該模型仍然存在不足之處,今后可以有一個改進點,即更加生動形象的模擬出樹枝搖曳的情形。

猜你喜歡
定義規則生長
撐竿跳規則的制定
數獨的規則和演變
碗蓮生長記
小讀者(2021年2期)2021-03-29 05:03:48
生長在哪里的啟示
華人時刊(2019年13期)2019-11-17 14:59:54
生長
文苑(2018年22期)2018-11-19 02:54:14
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
TPP反腐敗規則對我國的啟示
《生長在春天》
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 无码 在线 在线| 精品伊人久久久大香线蕉欧美 | 免费看av在线网站网址| 国产精品播放| 91欧美亚洲国产五月天| 老司机久久99久久精品播放| 久久精品欧美一区二区| 免费黄色国产视频| 高清久久精品亚洲日韩Av| 亚洲性网站| 久久免费视频播放| 久久久久夜色精品波多野结衣| 99热这里只有精品在线播放| 欧美亚洲第一页| 欧美日韩91| 国产精品视频3p| 成年午夜精品久久精品| h视频在线观看网站| 久青草国产高清在线视频| 中国一级特黄视频| 国产不卡在线看| 成人国产精品一级毛片天堂| 99精品欧美一区| 国产精品无码一二三视频| 久久夜夜视频| 在线看片免费人成视久网下载| 国产女人18毛片水真多1| 国产精品久久国产精麻豆99网站| 国产簧片免费在线播放| 免费 国产 无码久久久| 青草国产在线视频| 国产精品自在在线午夜| 国产美女精品一区二区| 99久久无色码中文字幕| 91视频首页| 亚洲综合亚洲国产尤物| 美女高潮全身流白浆福利区| 国产主播一区二区三区| 亚洲精品福利视频| YW尤物AV无码国产在线观看| 在线国产毛片手机小视频| 激情午夜婷婷| 日韩人妻少妇一区二区| 亚洲日本中文综合在线| 国产人碰人摸人爱免费视频| 久久永久精品免费视频| 国产精品区视频中文字幕| 日本手机在线视频| 丁香综合在线| 久久亚洲高清国产| 国产无码精品在线| 一级毛片视频免费| 欧美yw精品日本国产精品| 成人免费午间影院在线观看| 青青国产视频| 久热中文字幕在线| 狠狠色婷婷丁香综合久久韩国| 亚洲毛片一级带毛片基地| 色综合热无码热国产| 婷婷色丁香综合激情| 99在线国产| 午夜电影在线观看国产1区| 久久窝窝国产精品午夜看片| 无码中文AⅤ在线观看| 国产人成午夜免费看| 91网在线| 亚洲国产精品无码久久一线| 亚洲综合久久成人AV| 国产又粗又猛又爽视频| 无码视频国产精品一区二区| 伊人91视频| 中文字幕亚洲综久久2021| 日本三级欧美三级| 美女一级免费毛片| 国产97公开成人免费视频| 久久国语对白| 露脸一二三区国语对白| 天天干天天色综合网| 亚洲成人一区二区| 亚洲国产欧美目韩成人综合| 久久永久免费人妻精品| 国产精品无码久久久久久|