亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Web的隧道場景建模與實(shí)時繪制

        2021-11-22 08:53:48陳國軍滕一諾宋華婷隋曉燕
        關(guān)鍵詞:可視化數(shù)據(jù)庫模型

        陳國軍,滕一諾,宋華婷,姜 朕,隋曉燕

        ( 中國石油大學(xué)(華東) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 青島 266580)

        0 引 言

        傳統(tǒng)上基于客戶端的可視化應(yīng)用存在著諸多限制,越來越難以滿足用戶的需求,各行各業(yè)開始著力研究Web3D的可視化應(yīng)用[1],隧道工程涉及專業(yè)多,對其施工管理的Web可視化提出了新的挑戰(zhàn)和思路。文獻(xiàn)[2-3]將隧道BIM模型通過簡化及復(fù)用等輕量化技術(shù)進(jìn)行處理,結(jié)合WebGL渲染引擎開發(fā)隧道運(yùn)營管理系統(tǒng),實(shí)現(xiàn)模型快速加載及流暢漫游等功能。文獻(xiàn)[4-5]研究了隧道參數(shù)化快速建模的方法,采用Revit進(jìn)行IFC標(biāo)準(zhǔn)的隧道族構(gòu)件庫的建立,實(shí)現(xiàn)了隧道BIM模型在Web端顯示與部分信息集成。文獻(xiàn)[6-7]在實(shí)現(xiàn)隧道模型在Web端可視化的基礎(chǔ)之上,通過獲取隧道內(nèi)全景貼圖,將隧道病害展示圖轉(zhuǎn)換為三維空間紋理,建立了基于Web的隧道養(yǎng)護(hù)管理階段的可視化應(yīng)用。由于隧道模型復(fù)雜,數(shù)據(jù)量大,以上研究對隧道Web端可視化應(yīng)用主要停留在模型3D展示的階段。

        為實(shí)現(xiàn)隧道施工過程4D可視化,從兩個方面進(jìn)行研究:(1)通過對隧道場景參數(shù)化建模研究,建立隧道BIM基礎(chǔ)數(shù)據(jù)模型,并基于Shader的布爾運(yùn)算完成隧道合成場景的碰撞處理,結(jié)合施工數(shù)據(jù)實(shí)現(xiàn)隧道施工過程可視化;(2)通過對本地緩存機(jī)制的研究,實(shí)現(xiàn)本地緩存數(shù)據(jù)庫和服務(wù)器端數(shù)據(jù)庫的協(xié)同存儲以及場景動態(tài)調(diào)度策略,提高繪制效率,達(dá)到實(shí)時繪制的效果。

        1 隧道場景建模

        隧道參數(shù)化模型的建立是實(shí)現(xiàn)隧道可視化的基礎(chǔ)和關(guān)鍵[8]?;贐IM建模及應(yīng)用的要求,根據(jù)隧道洞身結(jié)構(gòu)特點(diǎn)提出基于橫斷面序列的參數(shù)化建模的方法,將施工數(shù)據(jù)集成到參數(shù)模型上可生成隧道施工進(jìn)度模型,在可視化階段模擬隧道施工過程。

        1.1 隧道橫斷面參數(shù)模型

        根據(jù)隧道三心圓斷面結(jié)構(gòu)進(jìn)行初始橫斷面參數(shù)化定義,如圖1所示。令隧道中心線O點(diǎn)為三維坐標(biāo)原點(diǎn),橫斷面圖形在xoy平面上,根據(jù)斷面設(shè)計(jì)參數(shù),輪廓線上每一點(diǎn)位置都可用坐標(biāo)來表示。以拱頂段為例,已知此段圓弧的圓心坐標(biāo)為(0,d,0),半徑為R1,弧上坐標(biāo)計(jì)算公式如式(1)。其中α根據(jù)圓弧離散化程度和對應(yīng)圓心角確定。

        (1)

        圖1 隧道內(nèi)輪廓設(shè)計(jì)圖

        沿隧道中心線的方向,將初始斷面移動到每個隧道中心樁號對應(yīng)的位置,每移動一次得到下一個斷面,最終形成斷面序列。初始斷面移動的過程就是將斷面進(jìn)行相應(yīng)的平移、旋轉(zhuǎn)等幾何變換。隧道的斷面垂直于相鄰中心樁號坐標(biāo)之間的連線,變換過程可分解為先繞y軸旋轉(zhuǎn)再平移到對應(yīng)中心樁號位置處。

        假設(shè)橫斷面上某一點(diǎn)坐標(biāo)為s(sx,sy,sz),變換后坐標(biāo)為t(tx,ty,tz),旋轉(zhuǎn)矩陣為Ry,平移矩陣為T,中心樁坐標(biāo)為v(vx,vy,vz),將初始面坐標(biāo)s轉(zhuǎn)變成齊次坐標(biāo)s1,變換后坐標(biāo)t轉(zhuǎn)變成齊次坐標(biāo)t1,可根據(jù)公式(2)計(jì)算變換后坐標(biāo)。

        t1=T×Ry×S1

        (2)

        由于初始橫斷面在xoy平面上定義,因此中心樁坐標(biāo)即為對應(yīng)偏移量,其中平移矩陣T定義為公式(3)。設(shè)繞y軸旋轉(zhuǎn)角度為θ,可得旋轉(zhuǎn)矩陣如式(4),其中θ值由式(5)計(jì)算得到。

        (3)

        (4)

        (5)

        在橫斷面序列實(shí)例化之后,連接相鄰橫斷面上坐標(biāo)生成隧道竣工模型。相鄰兩個斷面之間按端點(diǎn)的順序依次連接,統(tǒng)一成三角形表示,如圖2所示。

        圖2 隧道三角網(wǎng)線框圖

        1.2 施工進(jìn)度模型

        在隧道的竣工模型基礎(chǔ)上構(gòu)造隧道施工模型。根據(jù)隧道施工工序,將施工進(jìn)度分為掘進(jìn)、初襯、二襯支護(hù)、二襯完成等施工階段[9]。根據(jù)施工數(shù)據(jù)將隧道按施工進(jìn)度分段,對于每段隧道確定起止樁號位置,如果起止點(diǎn)位于兩橫斷面之間則需要進(jìn)行插值獲得該橫斷面位置,再將起止位置之間的橫斷面數(shù)據(jù)順序連接得到洞身進(jìn)度模型。施工進(jìn)程通過隧道內(nèi)壁紋理變化來展現(xiàn),繪制時根據(jù)進(jìn)度情況綁定相關(guān)參數(shù)啟用對應(yīng)紋理貼圖,展示符合隧道真實(shí)施工場景的隧道模型。

        1.3 基于Shader的地形三角網(wǎng)布爾運(yùn)算

        隧道地形場景多為山地,采用不規(guī)則三角形格網(wǎng)(triangulated irregular net,TIN)進(jìn)行地形建模。TIN用互不重疊的三角形上的各頂點(diǎn)作為數(shù)據(jù)點(diǎn),用大量三角形表示地形表面[10]。根據(jù)公路設(shè)計(jì)樁號對地形進(jìn)行分段處理,場景碰撞處理時可以快速定位到對應(yīng)的地形三角面片,繪制時也可以實(shí)現(xiàn)基于視點(diǎn)的動態(tài)調(diào)度。

        在隧道場景中,地形和隧道模型分離建模,然后將建立好的隧道模型集成到地形場景中,在合成過程中會遇到模型之間交叉碰撞的問題。隧道屬于隱蔽的地下工程,在地形表面之下繪制,因此處理隧道場景碰撞問題的關(guān)鍵是隧道洞口處與地形坡面的融合[11]。以往的地形地物融合算法在前期需要復(fù)雜的幾何布爾運(yùn)算過程[12-13],因計(jì)算存在誤差,影響算法穩(wěn)定性。文中采用基于Shader的布爾運(yùn)算解決隧道與地形間的碰撞問題,降低了計(jì)算復(fù)雜度,并且應(yīng)用GPU并行運(yùn)算[14],在時間上具有更好的性能。該方法有兩個步驟:

        (1)地形裁剪。將洞口模型空間輪廓投影到地形平面后得到洞口邊界多邊形,其與地形網(wǎng)格的關(guān)系如圖3所示,陰影部分即為待裁剪多邊形。采用Shader進(jìn)行多邊形裁剪,需要在地形繪制時利用Fragment Shader判斷像素點(diǎn)與邊界多邊形位置關(guān)系。

        圖3 地形裁剪示意圖

        根據(jù)點(diǎn)與多邊形位置判斷的方法,假設(shè)判定點(diǎn)為V,多邊形四個頂點(diǎn)順時針為A、B、D、C,得到有向向量AV、BV、DV、CV、AB、BD、DC、CA,根據(jù)公式(6)計(jì)算向量積。若a、b、d、c同號,判定該點(diǎn)在多邊形內(nèi)部,繪制時舍棄;反之不作處理,將該點(diǎn)輸出。

        (6)

        (2)裂縫修補(bǔ)。裁剪掉隧道上方的地形會造成地形和出入口模型之間有一個高度差,因此還需對裁剪形成的模型與地形之間的裂縫進(jìn)行修補(bǔ),如圖4所示。

        圖4 洞口裂縫示意圖

        具體實(shí)現(xiàn)過程如下:

        首先確定邊界多邊形頂點(diǎn)對應(yīng)地面坐標(biāo)。洞口邊界多邊形的某個頂點(diǎn)在xoy平面上坐標(biāo)為pi(xi,yi),假設(shè)三角形頂點(diǎn)是P1、P2、P3,任意三角形內(nèi)部的點(diǎn)P可以用公式(7)表示。

        (7)

        其中,c1和c2滿足:0≤c1≤1,0≤c2≤1,0≤(c1+c2)≤1。

        將頂點(diǎn)pi代入公式(7)得到c1和c2,遍歷此段地形三角網(wǎng),若符合所屬范圍,則頂點(diǎn)位于該地形三角形投影內(nèi)部。將該點(diǎn)映射回地形三角形計(jì)算真實(shí)高程,得到對應(yīng)三維坐標(biāo)。然后通過地形三角形和洞口邊界多邊形坐標(biāo)數(shù)據(jù),計(jì)算兩者在二維平面上的交點(diǎn)。多邊形某邊的兩端點(diǎn)與地形三角形某邊的兩端點(diǎn)分別用參數(shù)方程表示,聯(lián)立求得多邊形與地形三角形的交點(diǎn)。將交點(diǎn)還原到洞口邊界和地形三角形邊界上插值求得對應(yīng)的三維坐標(biāo)。

        最后對地形修正,將同一投影點(diǎn)對應(yīng)邊界多邊形與地形三角形三維坐標(biāo)按參數(shù)大小順序生成三角形作為修補(bǔ)地形三角形,繪制時與地形結(jié)合實(shí)現(xiàn)裂縫修補(bǔ)。隧道洞口碰撞處理前后效果如圖5所示。圖5(a)表示融合前洞口與地形存在重疊遮擋,圖5(b)表示地形裁剪后與洞口之間存在裂縫,修補(bǔ)后洞口與地形無融合,如圖5(c)所示。

        圖5 隧道洞口融合效果圖

        2 客戶端緩沖機(jī)制

        隧道場景繪制所需數(shù)據(jù)量大,每次都從服務(wù)器端讀取數(shù)據(jù)必然造成時間和資源浪費(fèi),影響繪制速度。通過本地緩存數(shù)據(jù)庫與服務(wù)器數(shù)據(jù)庫的協(xié)同存儲并結(jié)合基于視點(diǎn)的動態(tài)調(diào)度策略,實(shí)現(xiàn)快速、高質(zhì)量的交互。本地存儲的空間大,會被瀏覽器原生支持,不用依賴任何第三方插件,其中Indexed DB索引數(shù)據(jù)庫技術(shù)既可以用于持久化的本地緩存又能夠?qū)崿F(xiàn)大量的結(jié)構(gòu)化數(shù)據(jù)存儲,并且使用索引高效率搜索數(shù)據(jù)[15]。

        2.1 本地緩存機(jī)制

        本地緩存的工作流程如圖6所示,初始化繪制頁面后,獲取當(dāng)前視點(diǎn)位置,并計(jì)算視點(diǎn)對應(yīng)樁號,確定視點(diǎn)參數(shù)。向數(shù)據(jù)庫發(fā)行打開請求。如果數(shù)據(jù)庫存在,打開該數(shù)據(jù)庫,直接執(zhí)行數(shù)據(jù)訪問,取數(shù)據(jù)并進(jìn)行繪制。如果數(shù)據(jù)庫不存在,自動新建數(shù)據(jù)庫進(jìn)行更新操作,此時需要訪問服務(wù)器取出設(shè)計(jì)參數(shù)和施工數(shù)據(jù),根據(jù)參數(shù)化建模方法計(jì)算出隧道和地形模型數(shù)據(jù),與施工數(shù)據(jù)一并存入IndexedDB數(shù)據(jù)庫中,繪制時從緩存中加載,并根據(jù)視點(diǎn)坐標(biāo)將當(dāng)前視點(diǎn)覆蓋范圍內(nèi)場景模型進(jìn)行繪制。通過本地?cái)?shù)據(jù)庫與服務(wù)器數(shù)據(jù)庫的協(xié)同工作,減少頁面加載時間,提高訪問效率和繪制速度,實(shí)現(xiàn)場景模型的實(shí)時繪制。

        圖6 本地緩存工作流程

        2.2 本地緩存數(shù)據(jù)庫設(shè)計(jì)

        首次繪制時新建四個對象倉庫,分別存儲隧道數(shù)據(jù)、地形坐標(biāo)數(shù)據(jù)及施工數(shù)據(jù)。

        隧道數(shù)據(jù)由屬性和模型數(shù)據(jù)組成。隧道集合由若干個隧道實(shí)體組成,每一個隧道離散化為連續(xù)的橫斷面序列,斷面上坐標(biāo)按逆時針順序排列。按此層次結(jié)構(gòu)得出模型數(shù)據(jù)的設(shè)計(jì)如表1所示。Tunnelid是區(qū)分隧道實(shí)體的標(biāo)志。每個隧道由左右線兩個模型組成,其中0代表右線,1代表左線。Section為自定義對象,存儲橫斷面位置及坐標(biāo)數(shù)據(jù)。屬性數(shù)據(jù)設(shè)計(jì)如表2,由隧道名、id、起止樁號組成。

        表1 隧道模型數(shù)據(jù)設(shè)計(jì)

        表2 隧道屬性數(shù)據(jù)設(shè)計(jì)

        地形數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)如表3所示,通過分段的方式組織數(shù)據(jù),包括段號、地形三角形個數(shù)、起止樁號以及地形坐標(biāo)。施工數(shù)據(jù)設(shè)計(jì)如表4,包含日期、隧道id、施工進(jìn)度、施工長度。

        表3 地形模型數(shù)據(jù)設(shè)計(jì)

        表4 施工數(shù)據(jù)設(shè)計(jì)

        2.3 基于視點(diǎn)的動態(tài)調(diào)度

        隨著隧道場景規(guī)模的不斷擴(kuò)大,逐漸形成大規(guī)模數(shù)據(jù)時,計(jì)算和繪制的負(fù)荷也越來越大,必然影響到場景的繪制速度,無法滿足實(shí)時要求。通過減少系統(tǒng)一次性處理的數(shù)據(jù)量,最大可能地利用系統(tǒng)資源,提高繪制效率[16]。采取基于視點(diǎn)的場景動態(tài)調(diào)度策略,流程見圖7。

        圖7 動態(tài)調(diào)度流程

        數(shù)據(jù)動態(tài)調(diào)度的效率和數(shù)據(jù)可視化的繪制效果都與數(shù)據(jù)組織有著密切的關(guān)系。預(yù)處理階段主要對數(shù)據(jù)組織進(jìn)行處理,在參數(shù)化建模和緩存數(shù)據(jù)庫設(shè)計(jì)時依據(jù)分塊思想對數(shù)據(jù)進(jìn)行組織和存儲,沿地形延伸方向按樁號將其分割為一系列間隔為200米的連續(xù)地形段。在視點(diǎn)移動時,視點(diǎn)位置以及視線方向決定了場景顯示區(qū)域,場景跟隨運(yùn)動視點(diǎn)發(fā)生改變。在實(shí)時繪制過程中,根據(jù)場景中視點(diǎn)投影位置坐標(biāo)計(jì)算對應(yīng)樁號,并確定地形及隧道的視點(diǎn)調(diào)度參數(shù),將緩存數(shù)據(jù)庫中數(shù)據(jù)加載到網(wǎng)頁,并遍歷每段地形及隧道起止樁號確定繪制場景模型范圍,返回隧道ID和地形索引。根據(jù)頁面返回的施工日期到本地?cái)?shù)據(jù)庫中查詢當(dāng)前隧道施工數(shù)據(jù)讀取到頁面。將施工數(shù)據(jù)與隧道模型數(shù)據(jù)相結(jié)合計(jì)算出當(dāng)前視點(diǎn)范圍隧道的進(jìn)度模型數(shù)據(jù),包括坐標(biāo)數(shù)據(jù)、法向量及紋理坐標(biāo),同時將相應(yīng)地形塊的坐標(biāo)數(shù)據(jù)一起存儲到緩沖區(qū),實(shí)現(xiàn)隧道場景基于視點(diǎn)的實(shí)時繪制。

        3 實(shí)驗(yàn)結(jié)果與分析

        采用客戶端設(shè)備的實(shí)驗(yàn)平臺為Intel(R) Xeon(R) CPU E5-162,主頻3.70 GHz,系統(tǒng)內(nèi)存16 GB,顯卡為NVIDIA Quadro K2000,顯卡內(nèi)存為2 GB,操作系統(tǒng)為Windows 10,系統(tǒng)開發(fā)平臺采用的開發(fā)工具為HBuilderX,瀏覽器版本為Chrome 49.0 x64。本地局域網(wǎng)測試服務(wù)器為一臺PC設(shè)備,同時在阿里云服務(wù)器上搭建了服務(wù),用來測試遠(yuǎn)程服務(wù)器的加載速度。

        系統(tǒng)使用Three.js渲染引擎進(jìn)行開發(fā)。Three.js是利用JavaScript編寫的WebGL框架,用簡單直觀的方式封裝了WebGL常用方法,可以很好實(shí)現(xiàn)Web3D的繪制、渲染及動畫[17]。

        實(shí)驗(yàn)數(shù)據(jù)來源于山西省祁縣到離石高速公路第四合同段施工數(shù)據(jù),起止樁號為K24320-K28608,全長4.28公里。包含北峪口隧道、西域口1號隧道和西域口2號隧道,長度分別為0.3公里,0.48公里,1.34公里,地形數(shù)據(jù)量為2.55 M,約8萬個三角形坐標(biāo)數(shù)據(jù),分段間隔為200米。無人機(jī)航拍圖像27.6 M,用作地表紋理。

        在系統(tǒng)性能方面,針對實(shí)時渲染的幀率,借助stat.js監(jiān)控施工模擬過程的FPS信息,除剛開始時的系統(tǒng)讀取服務(wù)器上文件數(shù)據(jù)并進(jìn)行計(jì)算的初始化時間外,整個仿真過程中,畫面每秒傳輸幀數(shù)均大于30,保證了仿真系統(tǒng)的穩(wěn)定性和流暢性。

        針對系統(tǒng)響應(yīng)時間,使用Chrome瀏覽器開發(fā)者工具Network分別對在遠(yuǎn)程服務(wù)器、本地服務(wù)器端數(shù)據(jù)庫以及本地緩存IndexedDB數(shù)據(jù)庫的情況下的系統(tǒng)響應(yīng)時間進(jìn)行測試,結(jié)果如表5所示。從IndexedDB數(shù)據(jù)庫讀取數(shù)據(jù)進(jìn)行繪制大大減少了等待服務(wù)器響應(yīng)和資源下載的時間,從而提高了繪制響應(yīng)效率,達(dá)到了實(shí)時繪制效果。

        表5 響應(yīng)時間測試對比

        系統(tǒng)根據(jù)施工數(shù)據(jù)模擬當(dāng)前隧道的施工進(jìn)程,最終施工階段可視化渲染效果如圖8所示。其中圖8(a)表示隧道初襯階段施工完畢,圖8(b)表示隧道二襯鋪設(shè)防水板,圖8(c)表示隧道二襯架立鋼筋網(wǎng),圖8(d)表示隧道二襯復(fù)噴混凝土。

        圖8 隧道施工過程效果圖

        4 結(jié)束語

        通過對實(shí)現(xiàn)基于Web的施工可視化關(guān)鍵技術(shù)進(jìn)行研究,建立了基于橫斷面序列的隧道參數(shù)化模型,該模型可進(jìn)一步結(jié)合施工數(shù)據(jù),生成隧道進(jìn)度模型。提出了基于Shader的三角網(wǎng)布爾運(yùn)算實(shí)現(xiàn)隧道場景的碰撞處理,算法利用GPU多核進(jìn)行并行處理,提高了計(jì)算效率。采用客戶端緩存機(jī)制實(shí)現(xiàn)本地?cái)?shù)據(jù)緩存和基于視點(diǎn)的動態(tài)調(diào)度,有效提高了系統(tǒng)的響應(yīng)效率,實(shí)現(xiàn)實(shí)時繪制。系統(tǒng)運(yùn)行流暢,效果良好,支持用戶的便捷訪問,對于隧道施工三維場景在瀏覽器端的模擬實(shí)現(xiàn),具有一定的實(shí)際應(yīng)用價值。

        猜你喜歡
        可視化數(shù)據(jù)庫模型
        一半模型
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        重要模型『一線三等角』
        基于CGAL和OpenGL的海底地形三維可視化
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        “融評”:黨媒評論的可視化創(chuàng)新
        傳媒評論(2019年4期)2019-07-13 05:49:14
        數(shù)據(jù)庫
        3D打印中的模型分割與打包
        數(shù)據(jù)庫
        亚洲精品视频一区二区三区四区| 男女边吃奶边做边爱视频 | 四虎精品国产一区二区三区| 美女一区二区三区在线观看视频| 精品国产亚洲第一区二区三区| 免费人成年激情视频在线观看 | 久久久久国产一级毛片高清版A| 中文字幕人妻一区色偷久久 | 亚洲不卡中文字幕无码| 日韩在线视频不卡一区二区三区| 一卡二卡国产av熟女| 欧洲熟妇色xxxx欧美老妇性| 大地资源在线播放观看mv| 国产在线精品福利大全| 国产一区二区三区成人av| 国产精品免费无遮挡无码永久视频 | 中文字幕v亚洲日本| 免费毛片性天堂| 亚洲天堂av在线一区| 人妻少妇-嫩草影院| 亚洲综合精品成人| 成年人免费黄色h网| 国产一区二区三区啊啊| 伊人久久大香线蕉综合影院首页| 日本不卡视频免费的| 日韩精品一区二区三区含羞含羞草| 性色视频加勒比在线观看| 少妇性荡欲视频| 香蕉国产人午夜视频在线观看 | 一本加勒比hezyo无码视频| 美女视频黄a视频全免费网站色| 久久久久久久久毛片精品| 四月婷婷丁香七月色综合高清国产裸聊在线 | 五月停停开心中文字幕| 日韩亚洲精品中文字幕在线观看| 男女性高爱潮免费网站| 2020亚洲国产| 91九色播放在线观看| 久久久久免费看成人影片| 美女啪啪国产| 中文字幕乱码在线婷婷|