管廊復雜網格參數化算法及其大數據在線渲染

發布時間:2020-03-20 14:47:28 作者:臻圖信息 閱讀量:1751

      近年來,網絡技術的發展突飛猛進,人類正向高度信息化的社會邁進。3DGIS+BIM在國內建筑業形成一股熱潮,盡管擁有了政府和社會的大力支持,Web端的BIM大規模場景應用開發仍然面臨許多巨大的挑戰:

一、網頁存儲瓶頸問題:

隨著BIM場景規模的增加,建筑內部空間結構復雜度不斷提升,管廊結構的模型體量不斷增加,BIM數據未來可能達城市級別(100 TB以上),通常來說,PC端的瀏覽器能夠使用的內存僅為1.52 GB,稍大的BIM模型就可能會導致瀏覽器的崩潰。

二、計算渲染瓶頸問題:

傳統加載方式中,IFC構件被逐一添加在場景中,管廊模型擁有的三角化面片數量多,導致整個初始加載速度慢,且場景FPS較低,瀏覽建筑模型容易出現明顯卡頓情況。

      在以上問題的基礎上,尤其是管廊管線這類構件往往在城市建筑模型中占有了一定的比重,例如水管,通風管道等,且建筑物內部管廊模型排列往往具有一定的復雜性,優化這部分管廊模型的參數,能夠有效減少場景中的三角面片數量,幫助提升模型加載速率,對改善上述的兩個瓶頸問題起到了積極的作用。

      因此針對上述問題,本文提出了一套管廊復雜網格參數化算法,首先通過語義分析和幾何分析,提取大規模IFC場景中的管廊網格模型構件類。然后針對一般圓柱體形管廊網格模型,彎管管廊模型以及中空管廊模型三種不同的特征,對其在服務端分類進行參數化處理,并將參數結果返回給網頁端進行渲染。為了降低網頁端的渲染負載,實例化管廊模型的同時輔助以基于LOD多細節層次技術的漸進式自適應渲染方法,有效降低場景中管廊模型部分的總數據量及其三角面片數量,加快場景初始加載時間以及提升場景總體加載的幀速率,為輕量化WebBIM大規模管廊模型場景的在線可視化提供了支持。

1 相關研究

1.1管廊的參數化原理

      原始的BIM建筑模型經過IFC參數化解析之后,分成了多種不同的類,每一類中都有成百上千個小的網格模型信息。這些頂點信息與三角網格在網頁端經過渲染,組成了瀏覽器端的建筑模型。但是這種通過模型解析生成的管廊網格模型通常是呈現不規則,且較為繁雜的情況。如果能將這些不規則的三角網格信息抽取出來,經過參數化處理轉換為大家熟知的管廊管線特征信息,那么就可以通過管廊網格的頂點信息,半徑信息,主方向特征參數化重繪出一個圓柱體形管廊網格模型,并且呈現規范的三角網格渲染方式。

      通常的直線管廊網格模型的構造圖如圖所示,具體渲染方法為:將直線管廊網格模型抽象為正圓柱體,管線中心抽象為正圓柱體的中軸線,管線中心線起止點為正圓柱體上下底面圓圓心,圓柱體半徑為管徑。

 

      提取到了以上的管廊模型參數信息后,在瀏覽器端渲染時可以利用Three. j s提供的THREE.Cylinder Geometry對象對管廊進行批量建模。利用THREE.Cylinder Geometry對象進行圓柱體建模時可接收多個參數,而在實際建模過程中主要用到三個參數,分別是:頂面半徑、底面半徑以及圓柱體的高度,分別對應三位管線的半徑以及管線長度。生成管線模型的幾何對象之后,還需利用THREE.Material為其貼上合適的紋理,通THREE.Mesh(geometry,material)生成完整的管線段模型。

1.2管廊多細節層次技術(LOD)

      LOD技術即Levels of Detail的簡稱,意為多細節層次。LOD技術指根據物體模型的節點在顯示環境中所處的位置和重要度,決定物體渲染的資源分配,降低非重要物體的面數和細節度,從而獲得高效率的渲染運算。一個典型的蓄冰機房BIM模型內部的管線模型示意圖如圖所示,a為蓄冰機房BIM模型結構,b為局部細節放大示意圖,針對b中的管廊模型,調整其精細化程度對用戶視角的影響較小,但對提升場景加載流暢度具有較大意義。

 

a)蓄冰機房內部管廊模型;(b)細節模型

      LOD的主要想法是降低復雜性,當視點遠離3D模型對象時,根據人的視覺系統,遠處對象變小或者變得模糊不清,這時我們可以使用該對象的簡化版本。對象簡化版本的實現多種多樣,通常是通過較少三角形的數據或者替代幾何模型的何特征和紋理來實現。不管簡化版本的實現方法如何,其策略的最終結果是將一個相比原模型壓力較小的對象交給GPU去處理,降低渲染復雜度,提高場景加載的速率。

      針對管廊網格模型,多細節層次技術主要調整的是參數化后的管廊網格切割塊數,當攝像機視角靠近的時候,切割塊數增多,管廊模型越精細,而當攝像機視角原理時,可以減少模型的切割塊數,管廊模型呈現較粗糙。

1.3大規模WebBIM在線渲染

      “互聯網+”時代的到來為BIM信息的傳遞和共享提供了更為廣闊的舞臺,互聯網+BIM”的融合、發展也是勢不可擋。網頁瀏覽器是移動互聯網上最為廣泛通用的信息共享平臺,直接在網頁瀏覽器上將BIM場景可視化地再現出來就變得更有吸引力。用戶們只需要點擊瀏覽網頁就可以訪問大規模BIM場景與之交互。尤其是正在流行的HTMLS/WebGL提供了一種無插件安裝的Web3D開發平臺,這大大便捷了互聯網BIM的可視化共享瀏覽,所以WebBIM在線可視化將成為互聯網+BIM可視化的主流發展趨勢。

       但是由于大規模的BIM場景存在實時響應速度慢、渲染能力弱、數據傳輸緩慢等問題,WebBIM在線可視化將會受到因網頁瀏覽器緩存受限而導致的存取不暢、尤其是管廊模型較多的大規模BIM建筑,數據量較大可能導致瀏覽器的癱瘓。因互聯網帶寬受限而導致的傳輸緩滯、因網頁瀏覽器渲染能力受限而導致的漫游延遲的影響,這些影響將會嚴重阻礙WebBIM大規模場景的在線實時可視化共享。因此,本文所研究的管廊復雜網格模型的參數化方法及其在線可視化技術能夠針對網頁的在線渲染問題做出改善,具有重要的實踐意義。

      綜上所述,本文的創新點主要體現在針對大規模WebBIM模型的加載和渲染瓶頸提出了一種基于管廊網格模型的參數化算法,能夠根據管廊網格模型不同的分類進行參數化處理,在瀏覽器端采用一種基于LOD的漸進式加載方式,緩解了瀏覽器端的數據壓力,提升了模型的渲染效率,為擁有大規模管廊網格的WebBIM建筑模型的模型解析與在線渲染提供了新的優化方向。

2技術路線

      本文所采用的技術路線如圖所示。在服務器端,需要完成工作包括從語義分析以及幾何分析角度進行管廊模型構件的提取,以及基于圓柱體形管廊網格構件的參數化算法研究,進一步拓展彎管管廊模型的參數化算法以及基于布爾運算的中空復雜管廊模型的參數化算法。

       Web端完成的工作,包括使用基于LOD的輕量化WebBIM漸進式加載技術,提升輕量化在線渲染的加載速率,以及提供在線可視化應用支持。

 

3關鍵技術

  3.1管廊模型構件的提取

       IFC是一套專門為建筑行業訂制的開放數據標準格式,為了解析IFC格式的BIM模型,本文使用的了輕量級BIM大數據在線可視化系統,在上傳IFC格式的建筑模型后,該模型逐層解析,從一個項目實例出發,將建筑模型拆解為包含所有的墻、門和梁等多個類型的建筑構件。根據模型分類的語義信息可以將內部構件進行一個初步的分類,在場景中我們可以看到多種不同的構建類呈現,如圖所示,IFCCovering類表示對管廊模型的外罩,存在較多圓柱體形管廊網格模型,因此本文從語義角度選擇其中的IFCCovering類構件作為可能的目標管廊模型處理對象,對其進行進一步的幾何分析。

      整個管廊模型對象的抽取過程如圖中所示,從構件語義分析提取構件是從以上多種不同的IFC構件類型中,提取可能是管廊管片管線等圓柱體型模型的構件的過程。而從語義分析角度,往往可能存在誤差,比如把非圓柱體形的拉伸體模型認為是管廊模型。

      在此基礎上,從幾何角度分析則是從管廊模型的形態上對構件進行分析,判斷構件是否具有圓柱體形構件包圍盒的特征,且根據模型上的頂點信息能夠計算出上下底面與中心軸等參數,進而歸納其類型,最終提取出了一類可以進行管廊網格參數化處理的目標模型。

 

(a)蓄冰機房模型構件分類;(bIfcCovering類模型

3.2管廊網格模型參數化

  3.2.1圓柱體形管廊網格模型參數化

      經過上一個步驟解析的BIM建筑模型產生的原始圓柱體形管廊模型構件為dat格式,包含三部分信息,第一部分是每一個頂點的三維坐標,從序號0開始,第二部分是模型的三角化信息,每三個頂點組成一個三角形,在場景中進行實例化渲染,所有的三角形在場景中重繪出一個圓柱體形管廊模型,第三部分是與第二部分中每個三角化網格信息對應的法向量方向。

      由此可知,對于一個原始的復雜管廊網格模型,其往往有上百個,甚至上千頂點,同時三角網格數量較多。針對大型建筑模型,一旦管廊模型的數據量較大,對模型的初始渲染和加載效率一定會存在較大的影響,因此,本文針對圓柱體形管廊網格模型,提出了參數重繪的方式,使用ThreeJS中的圓柱體進行實例化,能夠有效簡化模型數據量且提升場景渲染速率。