本發(fā)明屬于虛擬仿真顆粒生成,具體涉及一種基于噪聲算法的三維仿真顆粒生成方法。
背景技術(shù):
1、離散元法是一種常用的數(shù)值模擬方法,常在巖土工程領域中用于模擬顆粒土的力學行為。但是,天然土顆粒形態(tài)各異,且土顆粒形態(tài)在很大程度上會影響顆粒土的工程特性。因此,越來越多的學者開始在研究中使用離散元法模擬具有逼真形態(tài)的顆粒。
2、如何準確模擬真實的顆粒形態(tài)是離散元法模擬中的一大挑戰(zhàn),一些研究者采用簡單球體或者不規(guī)則的集合形狀代替顆粒進行模擬,幾乎忽略了真實顆粒的形態(tài)特征影響。也有部分研究者在模擬中采用球團來表示真實的顆粒形態(tài),但是過多的球體單元也帶來了顯著的計算負載。還有部分研究者采用ct掃描來對土體中的部分土顆粒進行模擬,但這樣做也只能獲取土體的部分顆粒形態(tài)特征,并不能充分代表土體行為,而若是對土體中所有土顆粒進行掃描則工作量過大成本較高。為了應對上述問題,學者開始研究如何生成具有真實顆粒形態(tài)特征的仿真顆粒。
3、目前的虛擬仿真顆粒生成技術(shù)主要是基于球諧函數(shù)重建顆粒的真實形態(tài)特征,對球諧函數(shù)的階數(shù)要求很高,需要較大的計算量且難以實現(xiàn)簡單快速的生產(chǎn)大量形態(tài)變化范圍廣的虛擬仿真顆粒。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種計算量更小、成本更低的基于噪聲算法的三維仿真顆粒生成方法,實現(xiàn)了人為控制三維仿真顆粒與真實顆粒的形態(tài)差別大小。
2、本發(fā)明提供一種基于噪聲算法的三維仿真顆粒生成方法,包括以下步驟:
3、s1.獲取基本幾何體;
4、s2.定義噪聲空間;
5、s3.將步驟s1得到的基本幾何體置于步驟s2得到的噪聲空間中,施加噪聲,得到仿真顆粒的基本形狀;
6、s4.基于噪聲疊加原理,在步驟s3得到的仿真顆粒的基本形狀上疊加若干層高頻噪聲影響,得到具有真實表面特征的仿真顆粒,完成三維仿真顆粒生成。
7、步驟s1具體為:隨機挑選若干個自然界真實存在的土顆粒,獲取土顆粒三維形態(tài)信息,建立土顆粒模型;或使用三維圖像處理軟件建立若干個簡單幾何體網(wǎng)格模型;將得到的土顆粒模型或簡單幾何體網(wǎng)格模型作為基本幾何體。
8、步驟s2具體為:定義一處立方體噪聲空間;所述立方體噪聲空間中沿長寬高方向分布有間隔均勻的像素點,由任一噪聲算法為每個像素點分配一個單獨的噪聲值;所述噪聲算法包括value噪聲算法、perlin噪聲算法和worley噪聲算法。
9、步驟s3包括以下步驟:
10、s3.1將步驟s1得到的基本幾何體置于步驟s2得到的噪聲空間中,具體為:讀取步驟s1得到的基本幾何體的模型網(wǎng)格點坐標數(shù)據(jù),并將其空間位置及尺寸大小歸一化至步驟s2得到的噪聲空間中;所述空間位置及尺寸大小歸一化具體為將基本幾何體的模型網(wǎng)格坐標數(shù)據(jù)通過數(shù)據(jù)處理的方式調(diào)整至噪聲空間坐標范圍內(nèi);數(shù)據(jù)處理的方式包括等比例放大、縮小及平移;
11、s3.2對步驟s3.1中得到的置于噪聲空間中的基本幾何體施加噪聲,噪聲空間中的基本幾何體因受到噪聲值的影響而發(fā)生形態(tài)變化,得到仿真顆粒的基本形狀;
12、所述噪聲空間中的基本幾何體因受到噪聲值的影響發(fā)生形態(tài)變化,使用以下算式實現(xiàn):
13、
14、其中,ρ為基本幾何體模型上任意一網(wǎng)格點到基本幾何體中心的距離;ρmax為基本幾何體模型上所有網(wǎng)格點到基本幾何體中心距離的最大值;ρ′為在噪聲值影響下ρ對應的網(wǎng)格點到基本幾何體中心的新距離;noise(f)為頻率為f時ρ所對應網(wǎng)格點的噪聲值;網(wǎng)格點的噪聲值是通過對該點相鄰像素點噪聲值使用三線性插值法計算得到的,使用如下算式進行計算:
15、
16、其中,a、b、c、d、e、f、g、h為能將該模型網(wǎng)格點包裹在內(nèi)的由像素點所圍成的最小方格的頂點的像素點,其命名規(guī)則為:對于z軸方向上在網(wǎng)格點下方的4個像素點,在x和y軸方向坐標值都最小的像素點為a,其余點按逆時針方向命名為b、c、d;同理對于z軸方向上在網(wǎng)格點上方的4個像素點,在x和y軸方向坐標值都最小的像素點為e,其余點按逆時針方向命名為f、g、h。noise(·)為噪聲算法分配給像素點的噪聲值;noise0為網(wǎng)格點在z軸方向上方格的下表面投影點的噪聲值;noise1為網(wǎng)格點在z軸方向上方格的上表面投影點的噪聲值;網(wǎng)格點(x,y,z)在局部坐標系中局部坐標(x,y,z)的計算方法如下:
17、
18、其中,(x0,y0,z0)為在空間直角坐標系中像素點a的坐標;(x1,y0,z0)為在空間直角坐標系中像素點b的坐標;(x0,y1,z0)為在空間直角坐標系中像素點d的坐標;(x0,y0,z1)為在空間直角坐標系中像素點e的坐標;(x1,y0,z1)為在空間直角坐標系中像素點f的坐標;(x0,y1,z1)為在空間直角坐標系中像素點h的坐標。
19、步驟s4所述噪聲疊加原理為fractal噪聲原理;所述疊加若干層高頻噪聲影響通過以下公式實現(xiàn):
20、
21、其中,fi為第i層噪聲的頻率;f0為所述若干層高頻噪聲中最低頻率噪聲的頻率,f0為預設的設定值;noise(fi)為頻率為fi時ρ所對應網(wǎng)格點的噪聲值;n為所述疊加若干層高頻噪聲操作中的噪聲數(shù)量;fractal?noise為步驟s3中施加的噪聲與步驟s4中疊加的n個頻率遞增且振幅依次減半的若干層高頻噪聲之和。
22、本發(fā)明公開了一種基于噪聲算法的三維仿真顆粒生成方法,利用噪聲算法具有的獨特噪聲表現(xiàn)效果,通過在噪聲空間中對基本幾何體施加噪聲影響以及后續(xù)噪聲疊加,大量生成具有噪聲特征的仿真顆粒,解決了目前現(xiàn)有技術(shù)難以實現(xiàn)的簡單快速生成大量形態(tài)變化范圍廣的顆粒的問題。本發(fā)明可以在掃描的真實顆粒模型上施加噪聲影響,生成保留真實顆粒形態(tài)特征的不同形狀仿真顆粒,通過人為控制噪音的影響程度,實現(xiàn)對仿真顆粒與原真實顆粒的形態(tài)差別大小的控制。本發(fā)明方法原理簡單,計算高效,顆粒生成速度快,能減低顆粒掃描的工作量,降低了仿真顆粒生成的成本。
1.一種基于噪聲算法的三維仿真顆粒生成方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的基于噪聲算法的三維仿真顆粒生成方法,其特征在于,步驟s1具體為:隨機挑選若干個自然界真實存在的土顆粒,獲取土顆粒三維形態(tài)信息,建立土顆粒模型;或使用三維圖像處理軟件建立若干個簡單幾何體網(wǎng)格模型;將得到的土顆粒模型或簡單幾何體網(wǎng)格模型作為基本幾何體。
3.根據(jù)權(quán)利要求2所述的基于噪聲算法的三維仿真顆粒生成方法,其特征在于,步驟s2具體為:定義一處立方體噪聲空間;所述立方體噪聲空間中沿長寬高方向分布有間隔均勻的像素點,由任一噪聲算法為每個像素點分配一個單獨的噪聲值;所述噪聲算法包括value噪聲算法、perlin噪聲算法和worley噪聲算法。
4.根據(jù)權(quán)利要求3所述的基于噪聲算法的三維仿真顆粒生成方法,其特征在于,步驟s3包括以下步驟:
5.根據(jù)權(quán)利要求4所述的基于噪聲算法的三維仿真顆粒生成方法,其特征在于,所述噪聲空間中的基本幾何體因受到噪聲值的影響發(fā)生形態(tài)變化,使用以下算式實現(xiàn):
6.根據(jù)權(quán)利要求5所述的基于噪聲算法的三維仿真顆粒生成方法,其特征在于,步驟s4所述噪聲疊加原理為fractal噪聲原理;所述疊加若干層高頻噪聲影響通過以下公式實現(xiàn):