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

基于分形技術的竹生長模擬研究

2013-04-16 10:44:58
電子世界 2013年5期
關鍵詞:生長

自然景物在外部形態上呈現出千姿百態,其生長都具有一定的盲目性,但是分枝模式總有規律可循,對這些結構進行具體的放大會發現不規則程度是一樣的,即他們的自相似性。分形以其獨特的手段來解決不規則形態物體的仿真問題,利用空間結構的對稱性和自相似性,可以將自然界中絕大多數的非規則圖形真實地在計算機上再現。自然界中大多數樹木和草的分叉結構都具有分形的性質,為計算機分形模擬提供了基礎。據此如何真實地描述竹子的生長變化過程,本文在算法及實現上做了一些研究。

1.主要的相關技術

1.1 分形模擬方法

分形作為一種方法,在圖形學領域主要是利用迭代、遞歸等技術來實現某一具體的分形構造。它的主要任務是以分形幾何學為數學基礎,構造非規則的幾何圖素,從而實現分形體的可視化,以及對自然景物的逼真模擬。

植物的分形模擬就是基于分形理論的植物形態模擬,其原理是利用植物自身結構的分形性質(結構的自相似性)生成植物圖形或圖像的方法。當前,分形植物模擬的方法主要有L-系統、迭代函數系統(Iterated Function System,IFS)、受限擴散凝聚(Diffusion Limited Aggregation,DLA)模型和粒子系統。這四種方法的算法原理互不相同,模擬對象也是各有側重。

1.2 IFS(迭代函數系統)

迭代函數系統是從一個坐標系到另一個坐標系的映射系統,其算法分為確定性算法和隨機性算法。

確定性算法是指用以迭代的規則是確定性的,它們由一組仿射變換(如R1,R2,R3等)構成。隨機性的算法,又被人們稱為混沌游戲,指迭代過程是不確定的,每一次迭代采用哪一個規則,即Ri(i=1∽N)中具體哪一個,不是預先定好的,而是類似靠擲骰子的辦法來決定。也既是說,隨機地從Ri(i=1∽N)中選一個迭代規則迭代一次,再從Ri(i=1∽N)中選一個迭代一次,依此類推,那么最終的生成圖形是Ri(i=1∽N)中各個迭代規則的并集。令最終生成的圖形為M,它要滿足如下集合關系:M=R1∪R2∪…∪RN。

數學上的仿射變換是一種由旋轉、平移、映射構成的變換,仿射變換可以由一個函數來表示,這也正是命名“迭代函數系統”的原因。簡單地說,迭代函數系統就是指把仿射變換函數系統經過多次迭代形成的分形。

2.竹子的分形生成研究及算法

2.1 分枝模式

雖然植物在外部形態上呈現出千姿百態,但是植物的分枝模式總是有規律可循的,外部形態是其內部某種形態控制機制的反映,而外部形態是可以用植物的分枝模式來描述的。植物的分枝模式分2種,單軸分枝模式和合軸分枝模式。

單軸分枝模式。頂芽不斷向上生長,形成主干。同時側芽也發展成為側枝,側枝又以同樣方式形成次級側枝,但側枝不及主干粗、長。這種分枝模式有明顯的主軸,稱為單軸分枝模式,單軸分枝的主干上能產生各級分枝,主干的伸長和粗細比側枝強得多。因此這種分枝模式主干特征顯著,如竹子、松樹、云杉、楊樹等。

合軸分枝模式。頂芽發育一定時期后死亡或生長緩慢,而位于頂芽下面的側枝就取而代之,繼續發育,形成強壯的側枝,連接在原來的主軸上。之后,這種側枝上的頂芽又停止發育,再由它下面的側芽來代替,便形成了彎曲的主軸。以這種方式分枝植物的地上部分呈開放狀態,典型的如柳樹、榆樹等等。

2.2 竹干的分形算法

前文提到竹子的生長變化屬于單軸分枝模式。本文采用的分形算法為:以一個竹干作為單位來向上依次遞歸形成竹子,如圖1所示。假設最接近地面的那一段竹干AB長為L,并且與地面夾角為a,兩側枝CD、BE與主干的夾角皆為b,側枝與主干的長度比例為s2。其中主干起點A(x,y),主干終止和右側枝起點B(x2,y2),右側枝終點E(x2R,y2R),左側枝起點C(x1,y1)以及左側枝終點D(x1L,y1L)。

主要步驟如下:

(1)繪制主干AB,即用畫筆描繪曲線(x2,y2)-(x,y);

主干終止B點坐標

x2=x+L*cos(a*Pi),

y2=y+L*sin(a*Pi);

右側枝終止E點坐標

x2R=x2+L/s2*cos((a+b)*Pi),

y2R=y2+L/s2*sin((a+b)*Pi);

圖1 竹干生成的坐標數據

圖2 左側枝中間葉子生成

左側枝開始C點坐標

x1=x+L/s2*cos(a*Pi),

y1=y+L/s2*sin(a*Pi);

左側枝終止D點坐標

x1L=x1+L/s2*cos((a-b)*Pi),

y1L=y1+L/s2*sin((a-b)*Pi);

(2)用畫筆畫出第一節竹干以及兩邊側枝的模型,然后將B點坐標作為A點重新計算出第二節竹節的各個側枝起點以及終點坐標,再用畫筆繪圖函數完成第二節竹干的繪制,算是一次遞歸過程。竹干的生成用到了Graphics類庫里面的畫筆描繪:

●竹干畫筆寬度以及繪制竹干

gg.setStroke(new BasicStroke(6));

ig.drawLine((int)x,(int)y,(int)x2,(int)y2);

●側枝畫筆寬度以及繪制側枝

gg.setStroke(new BasicStroke(2));

ig.drawLine((int)x2,(int)y2,(int)x2R,(int)y2R);

ig.drawLine((int)x1,(int)y1,(int)x1L,(int)y1L);

2.3 竹葉的生成算法

位于側枝上的葉子也采用了類似的算法,以左側枝中間的葉子為例,其他的側枝葉子可以由此遞歸、迭代產生:

以一個多邊形來描繪一片葉子,如圖2所示。

假設左側枝終點作為該葉子的起點,葉子的終點設為(xLLeafEnd,yLLeafEnd),葉子的長度與主干的長度比值0.4,葉子中間突起兩點坐標分別為(xLLeafLCenter,yLLeafLCenter)和(xLLeafRCenter,yLLeafRCenter)。

左邊葉子的終點坐標

xLLeafEnd=x1+(L/s2+L*0.4)*cos((ab)*Pi);

yLLeafEnd=y1+(L/s2+L*0.4)*sin((ab)*Pi);

左邊葉子的中間突起的兩點坐標

xLLeafLCenter=x1L+L*0.2*cos((ab)*Pi)/2;

yLLeafLCenter=y1L;

xLLeafRCenter=x1L;

yLLeafRCenter=y1L+L*0.2*sin((ab)*Pi)/2;

算出竹葉的4個點之后就通過繪制、填充多邊形來達到竹葉的繪制效果。

葉子的填充用到了Graphics中的多邊形繪制以及色彩填充,具體代碼如下:

Polygon pointleft=new Polygon();

pointleft.addPoint((int)x1L,(int)y1L);

pointleft.addPoint((int)xLLeafRCenter,(int)yLLeafRCenter);

pointleft.addPoint((int)xLLeafE-nd,(int)yLLeafEnd);

pointleft.addPoint((int)xLLeafLC-enter,(int)yLLeafLCenter);

這樣就可以完成第一個竹干以及葉子的繪制,上層的竹干可以由第一節竹干遞歸、迭代生成。

3.結論

根據竹子的分枝模式,可以采用迭代函數系統中確定性算法與隨機性算法相結合的方法動態模擬竹林生長的各種形態,如竹節生長、葉子生長直至樹葉枯黃掉落。實驗利用Java語言的GUI圖形用戶界面設計與AWT畫圖雙緩沖,輕松地的完成繪制主干及分支、樹葉以及根據生長周期設置樹葉顏色變化直至枯黃掉落。此外利用畫筆直接描繪出竹干,以及設計一個生長速率變量來控制程序的遞歸、迭代速度,從而控制竹子的生長速度。在模擬過程中,引入了雙緩沖技術對生長動畫的描繪,可以讓整個生長過程沒有出現閃爍,圖像更流暢。

實驗的難點在于分形圖形算法的構造即如何將竹林的生長模式轉化成算法來編寫程序實現,本文采用分形算法中的L-系統,并且在具體應用中加以適當改進,實驗表明技術是可行的,實現方法的效果也是良好的。

本文的生長模式固定,即每一次生長的圖形一樣,下一步將進一步研究自然性,即分支產生的隨機分支偏轉角度的隨機性。

[1]陳曉,彭國華,楊康.基于分形L系統生成三維景物的算法研究[J].計算機仿真,2009,07.

[2]劉振興.基于功能-結構和L-系統的植物仿真建模[D].天津:天津工業大學學報,2008.

[3]羅燕,吳中福,郭選昌,吳剛.分形算法的仿真“竹”的實現[J].重慶:重慶大學學報,2010,33(12).

[4]孫博文.分形算法與程序設計——Java實現[M].北京:科學出版社,2004,11.

[5]Lindenmayer,A Mathematical models for cellular interaction in development,Journal of Theoretical Biology,1996:280-315.

[6]孫永香,劉彤,鄭永果等.虛擬植物的建模方法[J].系統仿真學報,2006,18(6):0263-04.

猜你喜歡
生長
野蠻生長
碗蓮生長記
小讀者(2021年2期)2021-03-29 05:03:48
生長的樹
少兒美術(2020年3期)2020-12-06 07:32:54
自由生長的家
現代裝飾(2020年11期)2020-11-27 01:47:48
美是不斷生長的
快速生長劑
共享出行不再“野蠻生長”
生長在哪里的啟示
華人時刊(2019年13期)2019-11-17 14:59:54
野蠻生長
NBA特刊(2018年21期)2018-11-24 02:48:04
生長
文苑(2018年22期)2018-11-19 02:54:14
主站蜘蛛池模板: 一区二区理伦视频| 国内精品伊人久久久久7777人| 波多野结衣在线se| 久久久噜噜噜久久中文字幕色伊伊| 成年女人a毛片免费视频| 精品久久国产综合精麻豆| 一区二区欧美日韩高清免费| 91精品啪在线观看国产91九色| 国产成人精品在线| 伊人激情综合| 久久香蕉国产线看观看精品蕉| 97免费在线观看视频| 色135综合网| av无码久久精品| 成人永久免费A∨一级在线播放| 日本黄色不卡视频| 91系列在线观看| 国产v精品成人免费视频71pao| 亚洲免费播放| 免费观看三级毛片| 91麻豆精品国产91久久久久| 国产99热| 成人va亚洲va欧美天堂| 亚洲欧美人成电影在线观看| 毛片最新网址| 亚洲一区免费看| 日本不卡在线| www.99在线观看| 久久国产精品嫖妓| 国产成人高清在线精品| 国产性猛交XXXX免费看| 国产91精品调教在线播放| 成人午夜网址| 亚洲欧美日韩另类| 欧美一级色视频| 久久精品国产精品一区二区| 国产噜噜噜| 久久77777| 久青草免费视频| 人人艹人人爽| 国产sm重味一区二区三区| 国产精品无码在线看| 91综合色区亚洲熟妇p| 午夜福利免费视频| 国产成人免费手机在线观看视频 | 亚洲久悠悠色悠在线播放| 中文字幕1区2区| 国产精品视频系列专区| 玖玖精品视频在线观看| 免费人成又黄又爽的视频网站| 久久99国产乱子伦精品免| 欧美日韩精品在线播放| 亚洲开心婷婷中文字幕| 亚洲日产2021三区在线| 免费国产不卡午夜福在线观看| 色综合激情网| 精品精品国产高清A毛片| 手机看片1024久久精品你懂的| 亚洲综合婷婷激情| 狠狠亚洲婷婷综合色香| 国产精品欧美在线观看| 高清久久精品亚洲日韩Av| 五月天久久婷婷| 国产精品一区二区国产主播| 97人人模人人爽人人喊小说| 国产毛片基地| 夜夜拍夜夜爽| 一级一毛片a级毛片| 麻豆国产精品一二三在线观看| 久久亚洲欧美综合| 国产亚洲成AⅤ人片在线观看| 国产精品.com| 亚洲精品在线影院| 免费高清a毛片| 啪啪啪亚洲无码| 精品一区二区三区水蜜桃| www.狠狠| 91精品国产一区自在线拍| 朝桐光一区二区| 国产精品偷伦在线观看| 无码电影在线观看| 国产欧美日韩va|