欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法

文檔序號(hào):8298909閱讀:343來源:國(guó)知局
一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)圖形學(xué)與數(shù)學(xué)建模技術(shù)領(lǐng)域相結(jié)合的交叉學(xué)科技術(shù)領(lǐng)域,具體 涉及一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)性能的提高和計(jì)算機(jī)圖形學(xué)的發(fā)展,自然場(chǎng)景建模的研宄已經(jīng)應(yīng)用到 許多領(lǐng)域,如:游戲產(chǎn)業(yè)、影視特效領(lǐng)域等。樹作為自然場(chǎng)景中的重要組成部分,其形態(tài)的逼 真模擬程度能有效增加場(chǎng)景的生動(dòng)性。傳統(tǒng)的粒子系統(tǒng)和紋理映射方法,可以簡(jiǎn)單的模擬 一些風(fēng)、河流、雨、雪等自然現(xiàn)象,但其運(yùn)動(dòng)模擬的真實(shí)性和復(fù)雜性與現(xiàn)實(shí)場(chǎng)景還有很大的 距離。
[0003] 隨著計(jì)算機(jī)仿真技術(shù)的發(fā)展,樹的靜態(tài)模擬已不能滿足現(xiàn)實(shí)應(yīng)用的要求,對(duì)于樹 因自然界外力影響而擺動(dòng)的模擬成為新的研宄熱點(diǎn)。在大氣中的風(fēng)對(duì)樹的運(yùn)動(dòng)起到了至關(guān) 重要的作用,風(fēng)作為無形的流體,其形態(tài)復(fù)雜多變,并不斷影響著周圍的環(huán)境,對(duì)于有葉樹 的搖曳來說更是如此。且樹的動(dòng)態(tài)模擬涉及到大氣動(dòng)力學(xué)、材料力學(xué)和物理學(xué)等多個(gè)學(xué)科, 要想實(shí)現(xiàn)風(fēng)力作用下的有葉樹搖曳的實(shí)時(shí)逼真模擬是計(jì)算機(jī)圖形學(xué)和數(shù)學(xué)建模中一個(gè)難 題。
[0004] 早期的樹動(dòng)態(tài)模擬研宄是基于粒子系統(tǒng)和紋理映射,其實(shí)現(xiàn)方法簡(jiǎn)單但模擬效果 粗糙,人工痕跡十分明顯。近年來,隨著計(jì)算機(jī)圖形學(xué)的不斷發(fā)展,國(guó)內(nèi)外學(xué)者對(duì)樹動(dòng)態(tài)模 擬的研宄工作越來越多,其模擬效果也越來越逼真。Shinya通過構(gòu)造一個(gè)隨機(jī)風(fēng)場(chǎng),利用模 態(tài)分析方法模擬樹在風(fēng)的搖曳。Hiromi利用Perlin噪聲函數(shù)生成所需要的風(fēng)場(chǎng),采用分 形算法遞歸出樹的形狀,并利用彈簧質(zhì)量模型計(jì)算樹枝的形變。Stam模擬了樹的枝條在湍 流風(fēng)場(chǎng)中的運(yùn)動(dòng),模擬出樹的枝條的擺動(dòng)效果。孫建發(fā)等人提出在三維樹的遞歸生成過程 中應(yīng)用矢量合成原理,生成樹在風(fēng)中運(yùn)動(dòng)的動(dòng)畫,該方法可以簡(jiǎn)單的實(shí)現(xiàn)樹運(yùn)動(dòng)模擬,但模 擬效果比較粗糙。胡瀟毅等人提出了一種基于動(dòng)力學(xué)有限元的方法模擬樹在風(fēng)中的搖曳運(yùn) 動(dòng),將圓柱繞流的渦致振動(dòng)理論應(yīng)用到樹枝在風(fēng)中受到的脈動(dòng)升力和阻力的計(jì)算,該方法 考慮了樹與風(fēng)場(chǎng)之間的流固耦合,可以模擬不同風(fēng)力等級(jí)下樹的運(yùn)動(dòng)。
[0005] 然而,目前相關(guān)研宄均是基于樹完全處于風(fēng)影響的狀態(tài)下進(jìn)行模擬的。但現(xiàn)實(shí)情 況中,樹受到風(fēng)影響時(shí)往往是樹的局部受風(fēng)影響,而不僅僅是整個(gè)樹。

【發(fā)明內(nèi)容】

[0006] 本發(fā)明的目的是提供一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法,解決了現(xiàn)有技 術(shù)不能重建出有葉樹的局部與風(fēng)發(fā)生相互作用產(chǎn)生搖曳運(yùn)動(dòng)的問題。
[0007] 本發(fā)明所采用的技術(shù)方案是,一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法,具體 按照以下步驟實(shí)施:
[0008] 步驟1、劃分有葉樹;
[0009] 步驟2、將步驟1中劃分后的每一等份的有葉樹的樹葉進(jìn)行密度聚類,生成多個(gè)葉 簇;
[0010] 步驟3、根據(jù)步驟2中的葉簇接受風(fēng)力作用的先后順序建立葉簇的拓?fù)浣Y(jié)構(gòu);
[0011] 步驟4、計(jì)算步驟3中葉簇拓?fù)浣Y(jié)構(gòu)中的葉簇節(jié)點(diǎn)及其相連的樹枝和樹干受到的 風(fēng)力大小,并結(jié)合懸臂梁模型計(jì)算樹桿件在風(fēng)中的形變,通過相對(duì)位置進(jìn)行整合形成有葉 樹的聯(lián)動(dòng)搖曳模擬。
[0012] 本發(fā)明的特點(diǎn)還在于,
[0013] 步驟1有葉樹的劃分具體為:
[0014] 步驟L1、初始化狀態(tài)位sum= 1,每一等份無葉樹受到的風(fēng)速為speec^i0,并備 份為copyspeec^z0,以區(qū)別不同狀態(tài)下每一等份受到的風(fēng)速;其中,sum為第sum次計(jì)算 風(fēng)速,i為無葉樹劃分的等份數(shù);
[0015] 步驟1. 2、計(jì)算樹干骨架點(diǎn)到風(fēng)源的距離
[0016] 假定風(fēng)與Z軸正向的夾角為zWind,從Z軸正向往下看,風(fēng)與X軸的逆時(shí)針夾角為 xWind,根據(jù)球坐標(biāo)系建立風(fēng)的單位向量:
【主權(quán)項(xiàng)】
1. 一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法,其特征在于,具體按照以下步驟實(shí) 施: 步驟1、劃分有葉樹; 步驟2、將步驟1中劃分后的每一等份的有葉樹的樹葉進(jìn)行密度聚類,生成多個(gè)葉簇; 步驟3、根據(jù)步驟2中的葉簇接受風(fēng)力作用的先后順序建立葉簇的拓?fù)浣Y(jié)構(gòu); 步驟4、計(jì)算步驟3中葉簇拓?fù)浣Y(jié)構(gòu)中的葉簇節(jié)點(diǎn)及其相連的樹枝和樹干受到的風(fēng)力 大小,并結(jié)合懸臂梁模型計(jì)算樹桿件在風(fēng)中的形變,通過相對(duì)位置進(jìn)行整合形成有葉樹的 聯(lián)動(dòng)搖曳模擬。
2. 根據(jù)權(quán)利要求1的一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法,其特征在于,所述 步驟1有葉樹的劃分具體為: 步驟1. 1、初始化狀態(tài)位sum = 1,每一等份無葉樹受到的風(fēng)速為speedii 0,并備份為 copyspeedii 0,以區(qū)別不同狀態(tài)下每一等份受到的風(fēng)速;其中,sum為第sum次計(jì)算風(fēng)速, i為無葉樹劃分的等份數(shù); 步驟1. 2、計(jì)算樹干骨架點(diǎn)到風(fēng)源的距離 假定風(fēng)與Z軸正向的夾角為zWind,從Z軸正向往下看,風(fēng)與X軸的逆時(shí)針夾角為 xWind,根據(jù)球坐標(biāo)系建立風(fēng)的單位向量:
風(fēng)向在X0Y面上的投影向量 樹干骨架點(diǎn)到風(fēng)源的距離為:
取最小值dmin,閾值sheld = dmin/2,狀態(tài)位j = 2,同時(shí)備份風(fēng)速speedj^值到 copyspeedi*,其中j表示無葉樹的第j等份; 步驟1. 3、將所有到風(fēng)源的距離小于sheld的樹干骨架點(diǎn)和樹枝所在圓環(huán)圓心歸為第 一等份,記為unit1;根據(jù)初始風(fēng)速計(jì)算風(fēng)吹過第一等份所花費(fèi)的時(shí)間t sum,并將衰減后的風(fēng) 速存入speech中,sum++ ;如果此時(shí)unit丨受到的風(fēng)速copyspeed丨辛0,表示還需繼續(xù)劃分, 轉(zhuǎn)到步驟1. 4 ;如果copyspeec^i 0,表示劃分結(jié)束,并轉(zhuǎn)到步驟1. 2 ; 步驟1. 4、閾值sheld = sheld+copyspeed^,tj,將所有到風(fēng)源的距離小于sheld的樹 干骨架點(diǎn)和樹枝所在圓環(huán)圓心歸為第j等份,記為unit』;根據(jù)風(fēng)速copyspeed ^計(jì)算風(fēng)吹 過第j等份后的風(fēng)速,并存入speed』中,j++ ;如果此時(shí)unit』受到的風(fēng)速copyspeed』乒0, 表示還需繼續(xù)劃分,重復(fù)步驟1. 4,直到j(luò) > sum ;如果copyspeedj= 0,表示劃分結(jié)束,并轉(zhuǎn) 到步驟1. 2。
3. 根據(jù)權(quán)利要求2的一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法,其特征在于,所述 步驟1. 4中風(fēng)吹過第j等份后的風(fēng)速speed』計(jì)算方法為:
其中,Vte6為第j等份的樹的體積,V為第j等份的總體積。
4. 根據(jù)權(quán)利要求1的一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法,其特征在于,所述 步驟2中有葉樹的樹葉的密度聚類具體包括以下步驟: 步驟2. 1、取每個(gè)樹葉的葉柄的第一個(gè)點(diǎn)代表整個(gè)葉子,將其存入數(shù)組dataSets中,并 設(shè)其訪問狀態(tài)為false,所屬聚類cluster為"0"; 步驟2. 2、查找數(shù)組dataSets中的每一個(gè)訪問狀態(tài)為false的點(diǎn)pQ的近鄰點(diǎn)域中的點(diǎn) Pi,如果點(diǎn)Pc!與點(diǎn)P i的距離不大于設(shè)定的閾值t,則將點(diǎn)p i加入點(diǎn)p ^的鄰域中,并存入鄰 域列表PQ. Fieldld ;如果兩點(diǎn)的距離介于(t,2t)之間,則將點(diǎn)?1插入容器VectPt,并記 錄插入元素個(gè)數(shù)VectNum ; 步驟2. 3、如果點(diǎn)P(l的鄰域中的點(diǎn)個(gè)數(shù)不小于閾值k,則設(shè)置點(diǎn)p ^為核心點(diǎn),置點(diǎn)p ^及 鄰域中的點(diǎn)的訪問狀態(tài)為true,此時(shí)以Pc!為核心點(diǎn)的近鄰點(diǎn)域?yàn)橐粋€(gè)聚類,cluster++ ;如 果點(diǎn)P〇不是核心點(diǎn),貝1」從容器VectPt中刪除VectNum個(gè)元素; 步驟2. 4、依次查找步驟2. 2中所述容器VectPt中的點(diǎn)Pi的近鄰點(diǎn)域中的點(diǎn)q,如果點(diǎn) Pi與點(diǎn)q的距離不大于設(shè)定的閾值t,則將點(diǎn)q加入點(diǎn)p i的領(lǐng)域中;如果點(diǎn)p i的領(lǐng)域中的 點(diǎn)個(gè)數(shù)不小于閾值k,點(diǎn)仏為核心點(diǎn),則置點(diǎn)p ,及點(diǎn)q的訪問狀態(tài)為true,并將點(diǎn)p i及點(diǎn)q 加入到pQ所在的聚類,然后從容器VectPt中刪除點(diǎn)p i;如果點(diǎn)p i不是核心點(diǎn),則直接將點(diǎn) Pi從容器VectPt中刪除; 步驟2. 5、繼續(xù)從步驟2. 2執(zhí)行,直至遍歷完所有點(diǎn); 步驟2. 6、修改步驟2. 2中的閾值t,繼續(xù)從步驟2. 2執(zhí)行,直至所有點(diǎn)均被歸入聚類, 即將有葉樹的樹葉按不同密度聚類,生成多個(gè)葉簇。
5.根據(jù)權(quán)利要求4的一種基于簇聚類的風(fēng)吹有葉樹搖曳模擬方法,其特征在于,所述 步驟3中葉簇的拓?fù)浣Y(jié)構(gòu)的建立方法為: 步驟3. 1、建立葉簇的樹形結(jié)構(gòu)treenode,并初始化:讀取數(shù)組dataSets中的第一個(gè)點(diǎn)Pci (X。,yQ,zQ),記為根節(jié)點(diǎn)root ;將點(diǎn)pQ所在聚類存入treenode. clusterld中,p。的坐標(biāo)值 (X。,yQ, zQ)均存入 treenode. Min 和 treenode. Max 中;令節(jié)點(diǎn)中葉子個(gè)數(shù) treenode. num = 1 ; 步驟 3. 2、令 treenode = root,讀取數(shù)組 dataSets 中的
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
崇信县| 张家界市| 克山县| 高安市| 于都县| 闵行区| 康定县| 安塞县| 德钦县| 青河县| 循化| 和平区| 迁安市| 南溪县| 进贤县| 宁陵县| 东辽县| 和硕县| 赣州市| 通化县| 吉安市| 响水县| 汽车| 鹿邑县| 合肥市| 宁武县| 卢湾区| 黔东| 汉阴县| 宜春市| 晋城| 江安县| 台湾省| 津市市| 辽阳市| 镇赉县| 龙陵县| 三门峡市| 阿尔山市| 南通市| 米易县|