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

        ?

        大規(guī)模WebBIM場景輕量級在線互動編輯關鍵技術

        2019-03-15 13:31:28金承澤
        電腦知識與技術 2019年2期
        關鍵詞:建筑信息模型碰撞檢測

        金承澤

        摘要:近年來,以建筑信息模型為核心的BIM(Building Information Modeling)技術的發(fā)展與應用,在建筑行業(yè)已蔚然成風。BIM系統(tǒng)的核心功能是提供工程模型的三維可視化。使用Web瀏覽器作為載體無插件地直接渲染BIM模型方便用戶隨時隨地瀏覽模型,極大地提高了溝通效率。但基于Web的平臺的BIM應用功能和場景承載力較弱。本文針對BIM模型的特點提出LOD的優(yōu)化策略,提高了平臺的承載力。基于著色器實現(xiàn)了大規(guī)模WebBIM場景的在線剖切功能,并對場景進行了體素化預處理。運用體素化索引和構件的逆索引實現(xiàn)了高效的在線碰撞檢測功能,提高了平臺的實用性。

        關鍵詞:建筑信息模型(BIM) ;多分辨率網(wǎng)格(LOD); 碰撞檢測;剖切

        中圖分類號:TP311? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2019)02-0234-03

        1 引言

        BIM系統(tǒng)的核心功能是提供工程模型的三維可視化。但行業(yè)軟件面向設計且體量龐大,雙方要進行交流首先要部署行業(yè)軟件,這樣不方便在用戶間進行交互。本文基于WebGL使用three.js渲染引擎通過無插件的網(wǎng)頁直接向用戶提供模型的瀏覽與編輯服務。

        出于安全角度考慮,瀏覽器能占用的系統(tǒng)資源較少。必須對動輒幾百M的設計文件進行輕量化處理才能在瀏覽器中用WebGL技術直接渲染。本文對輕量級大規(guī)模WebBIM場景在線編輯的關鍵技術進行研究,力圖解決目前WebBIM平臺承載力低且實用性不足的痛點問題。

        2 多分辨率網(wǎng)格關鍵技術

        LOD(Level Of Detail)技術是根據(jù)不同的策略,當視點滿足策略規(guī)定的條件時,渲染不同精度的LOD模型。LOD技術的核心是只渲染比較重要的模型。一個模型是不是重要的,可以根據(jù)這個模型在屏幕上的投影(包圍盒)尺寸來確定。距離觀察視點近、看得清就認為相對比較重要。一般會綜合考慮構件的包圍盒尺寸和距離來決定構件的渲染精度。通??梢杂媒M成構件的三角面片數(shù)除以包圍盒尺寸作為尺寸依據(jù),并用尺寸依據(jù)和包圍盒與視點的歐式距離的比值來定義模型的渲染精度。

        大規(guī)模場景的特殊性在于構件數(shù)量多且網(wǎng)格拓撲復雜。如果做處理一個構件就會帶來一次GPU drawcall。這會顯著地降低設備的漫游幀率。對于性能較差的移動端會暴露得更加明顯。對于大規(guī)模場景,一般會將同材質的網(wǎng)格合并,當作一張網(wǎng)格交給GPU處理。但單純地合并不能解決場景中三角面片過多的問題。WebBIM應用占用的內存與場景同時渲染的三角面片總數(shù)正相關。如果內存占用超過瀏覽器的限制,瀏覽器將直接殺掉渲染進程使WebBIM應用崩潰。這是使用多分辨率網(wǎng)格來降低場景同時渲染面片總數(shù)的主要原因。因此,最關鍵的矛盾暴露了:要通過網(wǎng)格合并來保證幀率,又要使用多分辨率網(wǎng)格隨著用戶的漫游及時地更改場景中的網(wǎng)格。只要更改一個構件的網(wǎng)格,就要把合并后的網(wǎng)格打散重組一次。頻繁地更改構件精度同樣會引起幀率的明顯降低或內存的急劇抖動導致崩潰。

        經(jīng)過對BIM構件的分析,本文認為現(xiàn)在主流框架結構建筑的支承部分主要由柱、梁、板以及剪力墻等構成。這幾類構件作為建筑物的骨架,數(shù)量多且體積較大、容易被注意。但是這類構件的網(wǎng)格拓撲卻比較簡單,三角面片數(shù)量較少。但對于通風、供暖、電水管以及建筑設備之類的構件,通常體積不大卻占用了較多的三角面片。

        經(jīng)過上面的分析,本文不對所有的構件適用多分辨率網(wǎng)格,在場景中合并總量較多但面片簡單的柱梁墻板類結構支承構件的網(wǎng)格后直接渲染。對前文提到的尺寸依據(jù)較大的,例如根據(jù)場景的構件總量設定參考值,設為15%。只對尺寸依據(jù)排在前15%的構件適用多分辨率網(wǎng)格。此外,在筆者進行模型處理的過程中發(fā)現(xiàn)了一類比較特別的板件,在IFC(Industry Foundation Classes)標準中將其歸類為IfcPlate,這類板件外形類似長方體,但內部網(wǎng)格拓撲比較復雜,該類別一般表示室內隔熱空心板件或幕墻。對于這類構件,使用OBB方向包圍盒來替代Hoppe[1]的基于邊折疊的一般網(wǎng)格簡化法能夠最大限度地保持構件的外形并減少表達構件的三角面片數(shù)。本文在場景預處理生成多分辨率網(wǎng)格時會專門處理這類構件。

        最后,在設計網(wǎng)格調度策略時本文著重考慮了用戶的漫游行為。如果用戶漫游速度比較慢,且持續(xù)性比較差,一般不持續(xù)漫游超過2秒。本文認為此時用戶對視點周邊構件特別感興趣。這時提高視點周邊構件網(wǎng)格精度的更新頻率。如果用戶持續(xù)漫游超過2秒,則認為用戶對周邊構件不感興趣,暫停更新視點周邊的構件網(wǎng)格。

        3 輕量化網(wǎng)格碰撞檢測關鍵技術

        為提高大規(guī)模WebBIM平臺的實用性,本文的WebBIM平臺提供構件之間的干涉碰撞檢測功能。WebBIM主要檢查模型的現(xiàn)有狀態(tài),找出當前場景中所有發(fā)生碰撞的構件對并其進行索引,提供便捷的導航功能使得用戶能夠快速定位到場景中發(fā)生碰撞的構件。在Web端實現(xiàn)的碰撞檢測功能能夠方便設計單位、業(yè)主方、施工單位和監(jiān)理單位的溝通。

        WebBIM是模型的消費者,平臺渲染的模型的總體架構已經(jīng)完成。平臺僅承擔很少或不承擔BIM模型修改工作,這意味著盡管需要處理的構件組數(shù)很多,場景中主要構件的位置是確定的。既然大多數(shù)構件位置基本確定,就可以在渲染前對場景進行體素化[3]并創(chuàng)建大規(guī)模WebBIM場景的體素化索引以及構件的逆索引。

        體素化就是把場景的包圍盒按照選定的尺度均勻剖分成立方體,每個立方體稱為體素。本文希望多數(shù)體素中含有的構件數(shù)目不超過3個。我們就可以通過構件頂點的位置確定某個體素有哪些構件,并進一步確認一個構件占用了哪些體素。運用這個關系,可以直接確定一個構件的周圍有哪些構件。對場景體素化的過程已經(jīng)在渲染前的預處理階段完成,因此在WebBIM場景中真正執(zhí)行碰撞檢測的時候可直接篩選出既定構件的鄰接構件。從而高效地進行查找。

        對場景進行體素化的難點在于難以選取一個合適的體素尺寸。本文受建筑設計的模數(shù)理念啟發(fā)來迭代確定體素的尺寸。模數(shù)是建筑設計中常用的基本單位。如100mm,大多數(shù)建筑構件的尺寸是100mm的整數(shù)倍。設項目中獨立構件數(shù)目為N,則場景包圍盒的初始最長邊應當劃分U個體素。

        確定了最長邊體素總量之后,體素的尺寸就用最長邊長除以U確定。這時把構件按照頂點坐標填入體素得到表達一個體素中有哪些構件的體素化索引,接著把不包含構件的體素從索引表中剔除。然后對體素尺寸進行初次校驗。本文升序排列每個體素中的構件數(shù)量,取0.9倍數(shù)組長度減1的構件數(shù)目進行校驗。如果其值為1,則通過校驗。這說明有百分之九十的體素中只包含一個構件。如果沒有通過,則檢查0.8倍數(shù)組長度減1,如果為2則通過校驗。否則認為校驗不通過,將最長邊劃分體素數(shù)加10重新進行校驗。如果不是第一次校驗,除了檢查體素中的構件分布外還要檢查總記錄條數(shù)。本文規(guī)定獨立構件數(shù)為N的場景體素索引長度不能超過。如果不滿足該條件,迭代結束,取上次迭代結果作為體素化的尺度。

        方才介紹的方法能夠取得較好的體素尺寸。本文還要解決一個體素化引起問題:同一體素中會有構件尺寸差異過大的情況。單體素中可能會包含一根柱子和三個消防噴頭。消防噴頭的面片十分復雜但包圍盒體積僅為柱子的幾十分之一。在精確地檢測兩個構件是否干涉前,本文采用AABB包圍盒先行測試,直接剔除同一體素中明顯不相交的構件對,顯著地提升了場景構件的檢測效率。

        WebBIM是基于WebGL渲染的場景。場景中的構件均由三角形組成。精確的碰撞檢測結果是根據(jù)構件對的最近三角面片是否碰撞確定的。但JavaScript目前未有成熟的計算幾何庫,我們需要自行實現(xiàn)三角面片之間的距離算法。筆者通過擴展了平面Voronoi域的概念來找出兩個三角形之間的最近點對。此方法涉及較多的空間向量叉積運算。本文在計算性能較差的前端使用拉格朗日恒等式用向量內積簡化了叉積計算,提高了計算效率。

        4 輕量化場景剖切關鍵技術

        用戶希望通過WebBIM平臺實現(xiàn)移除視線遮擋物的功能。即希望查看位于部分構件之后的構件。例如,希望拆掉屋頂,看到房屋的平面布置?;蚴窍M吹綁γ婧蟮姆块g布置圖。總之,用戶希望將精力集中在感興趣的部分空間。這個需求的本質是在場景中去除不感興趣的構件。在建筑設計表達中,有剖面圖的概念。對于比較復雜的設計,例如室內樓梯的布置,采用傳統(tǒng)的平面圖、立面圖不足以足夠明確地表達設計人員的意圖,需要在相應的樓梯間位置增加一個剖視圖來把設計表達清楚。在我們的場景中也可以類似地運用這樣的概念,為用戶提供一個靈活操控的平面,我們將隱藏全部平面上側的構件。

        在第二節(jié)中本文已經(jīng)述及,在輕量化WebBIM場景中不宜頻繁更改網(wǎng)格中的構件。因此實現(xiàn)剖切功能不宜在WebBIM場景中真正對網(wǎng)格進行剖分。如果對網(wǎng)格進行在線剖分,不僅要進行繁重的網(wǎng)格重構計算還難以將剖切功能關閉后還原網(wǎng)格的初始形態(tài)。

        本文利用可編程著色器找到每個復合幾何體位于剖面上方的點對應的像素,直接丟棄全部該像素的后續(xù)操作。如此我們在場景中就不會看到處在剖切面之上的像素,呈現(xiàn)出來的就自然是剖面后原本被遮擋的構件。

        如圖1所示,在渲染管線中光柵化形成的片元會逐一傳入片元著色器中。著色器將決定每個片元的顏色后將結果送入顏色緩沖區(qū),也就是即將渲染的部分。我們可以通過GLSL來對片元著色器進行編程遴選出我們需要渲染的像素進一步處理,否則將其丟棄。

        計算時只需要把確定平面的四個參數(shù)組成的向量p=(a,b,c,d)與片元著色器中表示片元所對應場景空間位置的分量vPosVec4=(x,y,z,w)做一個內積。如果則說明片元在平面上側,應該discard該圖元,這就實現(xiàn)了根據(jù)平面實現(xiàn)輕量化剖切的目的。

        5 實驗驗證

        本實驗采用首鋼智慧城市項目提供的Revit模型來進行。該Revit模型文件達1.41GB,三角面片數(shù)量達2000萬余,構件總數(shù)達3萬5千余。Web端是通過一臺配置為Intel(R) Core(TM) i5-2400 CPU @3.10GHz處理器、8.0GB內存、NVIDIA GeForce GTX1060顯卡的PC上訪問。在沒有使用本文敘述的多分辨率網(wǎng)格時,加載該模型時WebBIM平臺直接崩潰。筆者部署了本文敘述的大規(guī)模場景輕量級在線互動編輯技術后,成功渲染了該模型,并且漫游時的平均幀率大于24。開啟輕量化在線剖切后在其中漫游,幀率沒有受到顯著影響。可見在大規(guī)模WebBIM場景中應用可編程著色器實現(xiàn)剖切功能的優(yōu)越性能。通過應用本文提出的WebBIM輕量級在線互動編輯技術確實提高了平臺的承載力并對平臺進行了實用功能擴充。

        6 結論

        本文介紹了在WebBIM平臺渲染大規(guī)模場景會面臨的技術瓶頸——瀏覽器的資源限制,以及通過多分辨率網(wǎng)格技術來降低場景同時渲染的三角面片總數(shù)來提高場景承載力的優(yōu)化方案,還介紹了在Web平臺實現(xiàn)兩個BIM系統(tǒng)的實用功能,剖切與碰撞檢測的關鍵技術。縱觀全文,有如下一些關鍵技術優(yōu)化點:

        (1)為了保證平臺的渲染幀率,需要對建筑構件進行分類,只對少部分構件復雜的構件應用多分辨率網(wǎng)格。

        (2)對于特殊的板類構件,如中的藍色幕墻,使用OBB包圍盒更好的替代邊塌陷等通用網(wǎng)格壓縮法。

        (3)調度不同精度的構件的策略要考慮用戶的漫游習慣,用戶的持續(xù)漫游時間是較好的參考指標。

        (4)在線碰撞檢測宜做好在線預處理,使用場景體素化索引和構件的逆索引可以快速確定一個構件周圍的構件。

        (5)對于建筑構件大小差異過大的問題,宜結合使用體素化與AABB包圍盒。

        (6)通過可編程著色器運用GPU的高性能圖形處理能力來控制像素的顯示來實現(xiàn)剖切,而不是實際對網(wǎng)格進行剖分。

        使用上述關鍵技術能夠顯著地提高WebBIM平臺的模型承載力并提高平臺的實用性。

        參考文獻:

        [1] Hugues Hoppe, Tony DeRose, Tom Duchamp, John McDonald, Werner Stuetzle: "Mesh Optimization". SIGGRAPH '93, the 20th annual conference on Computer graphics and interactive techniques,19-26.

        [2] 張東培,謝寧,劉小軍, 等. 網(wǎng)上大規(guī)模地下空間的輕量級實時繪制系統(tǒng)[J].計算機科學與探索,2015(9):1034-1043,2015.

        [3] 劉小軍,張東培,謝寧, 等.大規(guī)模地下空間在線展示關鍵技術[J].光學精密工程,2015,23(3).

        猜你喜歡
        建筑信息模型碰撞檢測
        全新預測碰撞檢測系統(tǒng)
        基于BIM的鐵路信號室外設備布置與碰撞檢測方法
        Unity3D中碰撞檢測問題的研究
        電子測試(2018年1期)2018-04-18 11:53:00
        BIM在設計企業(yè)的應用經(jīng)驗
        特高壓換流站工程建設利用信息化提升管控能力研究
        BIM技術在工程造價咨詢行業(yè)的應用研究
        信息技術在工程造價計算與管理中的應用
        商(2016年27期)2016-10-17 06:39:53
        BIM技術下的某辦公樓項目管線碰撞檢測
        一性一交一口添一摸视频| 美女性色av一区二区三区| 日本一区二区免费高清| 久久婷婷五月综合色欧美| 又色又污又爽又黄的网站| 精品国产一区二区三区香蕉| 中文字幕视频一区二区| 久久亚洲av成人无码国产最大| 18女下面流水不遮图| 中文字幕无码人妻丝袜| 日本大片在线一区二区三区 | 久久亚洲日本免费高清一区| 亚洲国产综合一区二区| 国产高清亚洲精品视频| 国产婷婷成人久久av免费| 欧美成人猛交69| yeyecao亚洲性夜夜综合久久| 国产免费视频一区二区| 国产精品国产三级国产专播下| 午夜色大片在线观看| 91精品国产91久久久无码95| 97激情在线视频五月天视频| 久久久99精品成人片| 亚洲午夜福利在线观看| 欧美手机在线视频| 国产天堂av在线播放资源| 中文无码一区二区三区在线观看| 国产不卡一区二区三区免费视| 久久迷青品着产亚洲av网站| 老熟女老女人国产老太| 亚洲成a v人片在线观看| 一区二区三区不卡在线| 精品国产女主播一区在线观看 | 91情侣视频| 亚洲综合中文日韩字幕| 色综合av综合无码综合网站| 久久免费视频国产| 18禁成人免费av大片一区| 欧美男生射精高潮视频网站| 无码人妻精品一区二区三区免费| 亚洲粉嫩av一区二区黑人|