本發(fā)明涉及空間結(jié)構(gòu)網(wǎng)格劃分方法,尤其涉及一種自由曲面網(wǎng)格結(jié)構(gòu)的
網(wǎng)格劃分方法。
背景技術(shù):
建筑網(wǎng)格是建筑設(shè)計中常用的一種方法。建筑網(wǎng)格設(shè)計法以其有條理、有秩序的組織結(jié)構(gòu)和有規(guī)律、有節(jié)奏的韻律變化,深受廣大建筑師的喜愛。近些年來,我國出現(xiàn)了較多的大跨度空間網(wǎng)殼結(jié)構(gòu),均把結(jié)構(gòu)網(wǎng)格外露形成建筑網(wǎng)格,如陽光谷、深圳灣體育中心、辰山植物園等等。如何使得外露的結(jié)構(gòu)網(wǎng)格,在保證網(wǎng)格規(guī)則性、桿件流暢性、桿長一致性等條件下,更好的體現(xiàn)建筑師賦予建筑的靈魂,是當(dāng)今結(jié)構(gòu)師和建筑師不得不面對的一個重要問題。
網(wǎng)格劃分起源于上世紀(jì)60年代,最初應(yīng)用于有限元領(lǐng)域,在這個過程中,波前法、Delaunay法、映射法等網(wǎng)格劃分方法相繼被提出并發(fā)展,但很多時候,現(xiàn)有的網(wǎng)格劃分方法所生成的網(wǎng)格是非結(jié)構(gòu)化網(wǎng)格,并不能滿足建筑美觀的要求,即網(wǎng)格大小均勻、桿件線條流暢等美學(xué)指標(biāo)。近年來,有不少學(xué)者在這一領(lǐng)域進(jìn)行了研究探索,并取得了一定的成果,提出了基于主應(yīng)力軌跡線的波前推進(jìn)法生成曲面網(wǎng)格;基于映射思想提出了自定義單元法來生成網(wǎng)格;采用等參線分割法和改進(jìn)的Delaunay點云網(wǎng)格生成法進(jìn)行曲面網(wǎng)格劃分;基于曲面展開和Delaunay優(yōu)化來生成網(wǎng)格。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種自由曲面網(wǎng)格結(jié)構(gòu)的網(wǎng)格劃分方法。
聯(lián)合映射法和Delaunay法的擬桁架自由曲面網(wǎng)格劃分方法,具體步驟為:首先將NURBS曲面從空間域映射到平面域上,得到相應(yīng)的平面網(wǎng)格劃分區(qū)域A;其次在區(qū)域A的包絡(luò)矩形內(nèi)生成均勻的點陣{P0},求{P0}到區(qū)域A邊界的距離函數(shù)d(x,y),判斷點陣分布的{P0}中各點處在區(qū)域A的內(nèi)部還是外部,剔除在區(qū)域A外的點,得到在區(qū)域A內(nèi)的點陣{Pin},剔除點陣{Pin}中部分點,得到與期望的網(wǎng)格密度基本一致的點陣分布{P};接著將點陣{P}用Delaunay法連成三角形網(wǎng)格T0,剔除區(qū)域A外的三角形,得到網(wǎng)格T;將網(wǎng)格T作為平面桁架結(jié)構(gòu),用調(diào)節(jié)函數(shù)h(x,y)代表點陣{P}中兩點連線的中點(x,y)處的網(wǎng)格桿長,網(wǎng)格T的實際桿長與期望桿長之差,作為平面桁架的不平衡力,在不平衡力作用下移動各節(jié)點;進(jìn)行循環(huán)迭代求解桁架結(jié)構(gòu)的平衡位置,直到各點受到的最大不平衡力不大于收斂控制值;最后將平面網(wǎng)格映射回空間曲面,生成自由曲面網(wǎng)格。
上述方法中,各步驟可采用如下方式實現(xiàn):
通過調(diào)節(jié)函數(shù)h(x,y),控制不同位置的網(wǎng)格疏密,調(diào)節(jié)函數(shù)設(shè)為:
h(x,y)=(1-1/k)/(g×h0)×|d(x,y)|+1/k
其中|d(x,y)|表示點(x,y)到邊界線的最小距離,h0為期望網(wǎng)格桿長,k為期望網(wǎng)格桿長控制加密系數(shù),k=1表示不加密;g為期望網(wǎng)格桿長控制大小的過渡區(qū)間。
另外,可通過旋轉(zhuǎn)初始點陣{P0},控制網(wǎng)格的整體走向;旋轉(zhuǎn)前后的點分別為p(x,y)、p(x’,y’),以點(x0,y0)為圓心旋轉(zhuǎn)α度,按下列公式得到p(x’,y’):
x’=(x-x0)×cos(a)-(y-y0)×sin(a)+x0
y’=(x-x0)×sin(a)+(y-y0)×cos(a)+y0
通過距離函數(shù)d(x,y)的正負(fù)性,判斷點陣{P0}處在區(qū)域A的內(nèi)部還是外部點的方法為:先將曲面的邊界線離散為小線段;再將邊界線映射到平面后,得到由一個或多個多邊形表示的區(qū)域A;然后采用射線法判斷點在單個多邊形的內(nèi)外,即位于區(qū)域A內(nèi)時,d(x,y)小于零,位于區(qū)域A外時,d(x,y)大于零。
對區(qū)域A內(nèi)的點陣{Pin}進(jìn)行調(diào)整的方法為:先求出{Pin}中各點的調(diào)節(jié)函數(shù)h(x,y),再根據(jù)概率論中的蒙特·卡羅原則,按正比于1/h(x,y)2的概率,隨機(jī)刪除部分點,得到與期望網(wǎng)格密度基本一致的點陣分布{P}。
所述的區(qū)域A外的三角形為重心處于區(qū)域A外的三角形。
本發(fā)明與背景技術(shù)相比具有的有益效果是:
1)本發(fā)明能適應(yīng)一般的自由曲面,生成的網(wǎng)格大小、網(wǎng)格走向可控、線條流暢,克服了目前網(wǎng)格劃分方法的不足,既滿足了建筑美學(xué)的審美要求,又達(dá)到了傳力連續(xù)的效果。
2)本發(fā)明能夠?qū)崿F(xiàn)程序化,可快速實現(xiàn)網(wǎng)格的自動生成,大大提高了網(wǎng)格劃分的質(zhì)量和速度。
附圖說明
圖1是聯(lián)合映射法和Delaunay法的擬桁架自由曲面網(wǎng)格劃分過程示意圖;
其中:
a)是待劃分NURBS曲面;
b)是NURBS曲面在參數(shù)域上的邊界線;
c)是參數(shù)域上的初始布點;
d)是參數(shù)域上的剔除邊界之外的點;
e)是參數(shù)域上的篩選后的點
f)是用Delaunay法在參數(shù)域上生成三角形初始網(wǎng)格;
g)是在參數(shù)域上擬桁架法迭代41次時的網(wǎng)格;
h)映射回NURBS曲面的網(wǎng)格;
圖2是α=0°,h0=4.0,k=1,g=0時的曲面網(wǎng)格劃分結(jié)果;
圖3是α=30°,h0=4.0,k=1,g=0時的曲面網(wǎng)格劃分結(jié)果;
圖4是α=0°,h0=2.0,k=2,g=10時的曲面網(wǎng)格劃分結(jié)果;
圖5是α=0°,h0=2.0,k=3,g=10時的曲面網(wǎng)格劃分結(jié)果。
具體實施方式
下面結(jié)合附圖和一個具體曲面作為實例對本發(fā)明做進(jìn)一步闡述。
某NURBS曲面如圖1.a)所示,利用聯(lián)合映射法和Delaunay法的擬桁架自由曲面網(wǎng)格劃分方法對其進(jìn)行網(wǎng)格劃分。首先將該NURBS曲面從空間域映射到平面域上,得到相應(yīng)的平面網(wǎng)格劃分區(qū)域A,如圖1.b)所示;其次在區(qū)域A的包絡(luò)矩形內(nèi)生成均勻等間距分布的點陣{P0},如圖1.c)所示。求{P0}到區(qū)域A邊界的距離函數(shù)d(x,y),判斷點陣分布于{P0}中各點處在區(qū)域A的內(nèi)部還是外部。此處的判斷是通過通過距離函數(shù)d(x,y)的正負(fù)性判斷來實現(xiàn)的,具體方法為:先將曲面的邊界線離散為小線段;再將邊界線映射到平面后,得到由一個或多個多邊形表示的區(qū)域A;然后采用射線法判斷點在單個多邊形的內(nèi)外,即位于區(qū)域A內(nèi)時,d(x,y)小于零,位于區(qū)域A外時,d(x,y)大于零。
對每個點經(jīng)過上述判斷后,剔除在區(qū)域A外的點,得到在區(qū)域A內(nèi)的點陣{Pin},如圖1.d)所示。剔除點陣{Pin}中部分點,得到與期望的網(wǎng)格密度基本一致的點陣分布{P}。對區(qū)域A內(nèi)的點陣{Pin}進(jìn)行調(diào)整的一種具體方法為:先求出{Pin}中各點的調(diào)節(jié)函數(shù)h(x,y),再根據(jù)概率論中的蒙特·卡羅原則,按正比于1/h(x,y)2的概率,隨機(jī)刪除部分點,得到與期望網(wǎng)格密度基本一致的點陣分布{P},如圖1.e)所示。此處,h(x,y)越大,表示相應(yīng)位置的期望網(wǎng)格密度越小,所需的節(jié)點越少。
接著將點陣{P}用Delaunay法連成三角形網(wǎng)格T0,如圖1.f)所示。剔除區(qū)域A外的三角形(區(qū)域A外的三角形為重心處于區(qū)域A外的三角形),得到網(wǎng)格T;將網(wǎng)格T視為平面桁架結(jié)構(gòu),用調(diào)節(jié)函數(shù)h(x,y)代表點陣{P}中兩點連線的中點(x,y)處的網(wǎng)格桿長,網(wǎng)格T的實際桿長與期望桿長之差,作為平面桁架的不平衡力,在不平衡力作用下移動各節(jié)點。調(diào)節(jié)函數(shù)h(x,y)代表了某一網(wǎng)絡(luò)桿長,可用于控制不同位置的網(wǎng)格疏密,調(diào)節(jié)函數(shù)設(shè)為:
h(x,y)=(1-1/k)/(g×h0)×|d(x,y)|+1/k
其中|d(x,y)|表示點(x,y)到邊界線的最小距離,h0為期望網(wǎng)格桿長,k為期望網(wǎng)格桿長控制加密系數(shù),k=1表示不加密;g為期望網(wǎng)格桿長控制大小的過渡區(qū)間(在劃分網(wǎng)格之前,預(yù)先對各區(qū)域三角形的網(wǎng)格桿長設(shè)定一個期望值,過渡區(qū)間就是指兩個具有不同期望值的三角網(wǎng)格的重心間的曲面距離)。
對上述過程進(jìn)行循環(huán)迭代,求解桁架結(jié)構(gòu)的平衡位置,即直到各點受到的最大不平衡力均不大于預(yù)先設(shè)置的收斂控制值。例如,本實例中通過循環(huán)迭代41次后達(dá)到桁架結(jié)構(gòu)的平衡位置,其結(jié)果如圖1.g)所示。最后將平面網(wǎng)格映射回空間曲面,生成自由曲面網(wǎng)格。最終映射回NURBS曲面的網(wǎng)格如圖1.h)所示。
另外,針對不同的自由曲面,可根據(jù)其曲面的特征,通過旋轉(zhuǎn)初始點陣{P0},控制網(wǎng)格的整體走向;旋轉(zhuǎn)前后的點分別為p(x,y)、p(x’,y’),以點(x0,y0)為圓心逆時針旋轉(zhuǎn)α度,按下列公式得到p(x’,y’):
x’=(x-x0)×cos(a)-(y-y0)×sin(a)+x0
y’=(x-x0)×sin(a)+(y-y0)×cos(a)+y0
下面將上述方法應(yīng)用到兩個具體算例中,以便更好地展示本發(fā)明的效果。兩個算例中,由于中間過程的實施步驟與上一實例基本相同,因此不再展示中間過程的各附圖。兩個算例中具體參數(shù)和結(jié)果如下:
算例1,某NURBS曲面,高約15.6(均采用無量綱,下同),在參數(shù)平面內(nèi)的包絡(luò)矩形的左下角為(-11.0,-11.7),右上角為(68.5,64.6),設(shè)定不同的角度α=0°及α=30°,其余參數(shù)均為:h0=4,k=1,g=0,點陣的旋轉(zhuǎn)中心取包絡(luò)矩形的中心,最大不平衡力的收斂控制值取f=0.1kh0,進(jìn)行網(wǎng)格劃分。在α=0°及α=30°的旋轉(zhuǎn)角度下,得到如圖2、圖3的網(wǎng)格劃分結(jié)果。兩者的網(wǎng)格呈現(xiàn)明顯不同的整體走向,說明通過本方法通過調(diào)整旋轉(zhuǎn)角度,可調(diào)控整體網(wǎng)格走向,以符合不同的曲面特征。
算例2,某NURBS曲面,由算例1中的曲面經(jīng)裁剪后得到,選取內(nèi)邊界線作為加密線,最大不平衡力的收斂控制值也取f=0.1kh0,分別采用α=0°,h0=2.0,k=2,g=10及α=0°,h0=2.0,k=3,g=10的設(shè)定參數(shù),進(jìn)行網(wǎng)格劃分。k=2和k=3的參數(shù)下,得到如圖4、圖5的網(wǎng)格劃分結(jié)果。兩者的網(wǎng)格尺寸呈現(xiàn)明顯的差異,說明本方法可控制不同區(qū)域網(wǎng)格尺寸。