• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于OpenGL 技術(shù)的煤場3D 動態(tài)展示

      2020-03-05 02:46:46張?zhí)m慶楊柏依
      山東電力技術(shù) 2020年1期
      關(guān)鍵詞:煤場鏈表面片

      張?zhí)m慶,柯 波,楊柏依,董 鵬,夏 陽

      (1.華能萊蕪發(fā)電有限公司,山東 濟南 271102;2.北京能為科技股份有限公司,北京 100071)

      0 引言

      對于煤炭料場行業(yè)來說,大型散料場需要智能化無人運行,實現(xiàn)數(shù)據(jù)可視化是必須實現(xiàn)的功能。數(shù)據(jù)可視化可根據(jù)數(shù)據(jù)的特征、性質(zhì)等屬性,通過圖形圖像等合適的方式,將數(shù)據(jù)直觀地、有概念性地展示出來,幫助大家更好地、更清晰地理解數(shù)據(jù),掌握數(shù)據(jù)中的有用信息。使用基于OpenGL 技術(shù)實現(xiàn)了煤場的3D 展示與煤場的數(shù)字化展示。通過激光掃描儀將煤場進(jìn)行掃描形成點云數(shù)據(jù),然后建立三維模型,再使用OpenGL 技術(shù)與Unity3D 技術(shù)實現(xiàn)三維可視。由于點云數(shù)據(jù)量巨大,提出優(yōu)化建模方式極大提高了建模的效率,并且優(yōu)化了三維展示效果。

      1 煤場三維數(shù)據(jù)

      1.1 激光掃描儀料場掃描

      三維掃描是三維成像過程中最重要的一步。堆料臂前端安裝一臺高精度激光掃描儀,取料臂前端兩側(cè)分別安裝一臺高精度激光掃描儀,可以實現(xiàn)堆料取料時對當(dāng)前工作料堆的實時清晰扇形掃描。煤堆的點云數(shù)據(jù)就是通過安裝在堆取料機[1]上的激光掃描設(shè)備掃描采集的,采集后的數(shù)據(jù)通過以太網(wǎng)通信錄入后臺數(shù)據(jù)庫。主要硬件為SICK LD-LRS3611型號的激光掃描儀,安裝位置與掃描原理如圖1所示。

      圖1 激光掃描儀掃描煤場過程

      1.2 料場掃描原理

      掃描儀發(fā)射幾束激光進(jìn)行掃描,射線碰撞的地方會寫入數(shù)據(jù),然后通過掃描儀在空間的移動和旋轉(zhuǎn)掃描整個料場的輪廓。激光掃描儀掃描完料堆輪廓后,需要快速、準(zhǔn)確地采集和整理工作料堆的掃描數(shù)據(jù)。激光掃描儀通過以太網(wǎng)將收集到的堆數(shù)據(jù)發(fā)送到集中控制服務(wù)器。激光掃描儀掃描出點工作原理如圖2 所示。

      圖2 激光掃描儀掃描出點

      2 模型建立與優(yōu)化

      2.1 建模算法

      先定義三維點結(jié)構(gòu),以點結(jié)構(gòu)為基礎(chǔ),由每3 個點構(gòu)造一個三角面片結(jié)構(gòu),然后再定義一個三角面片鏈表結(jié)構(gòu)用于存儲一系列的三角面片,并在此鏈表中存儲三角面片的公共屬性,如顏色、透明度等,這樣一個有數(shù)據(jù)的三角面片鏈表結(jié)構(gòu)就表示了一個三維模型,鏈表中存儲的三角面片公共屬性也就是模型的屬性。三維模型構(gòu)建過程為:三維點→三角面片→三維模型[2],如圖3 所示。

      圖3 三維模型構(gòu)建過程

      圖4 所示流程僅為為幾個點面的程序流程,獲取到以A 點為基礎(chǔ),以X 軸與Z 軸方向最大擴展距離的三維點鏈表。三維煤場的點面數(shù)據(jù)上千個,大規(guī)模的點云數(shù)據(jù)在處理時會涉及多重循環(huán),會導(dǎo)致頻繁迭代處理,嚴(yán)重影響服務(wù)器的性能。再者,由于激光掃描測量收集的數(shù)據(jù)密度特別高,并且這些點由于堆取料機的抖動和距離變化而分布不規(guī)則,并且所有這些離散點都被用于構(gòu)建三維模型,進(jìn)一步增加了系統(tǒng)的復(fù)雜性,這將占用更多的計算資源,并且不利于后續(xù)的實時計算處理。為此,引入了模型優(yōu)化算法。

      圖4 煤場點云數(shù)據(jù)點處理流程

      2.2 模型優(yōu)化

      首先是對內(nèi)存優(yōu)化[3]。設(shè)置OpenGL 系統(tǒng)上的專屬內(nèi)存區(qū)域,將局部內(nèi)存區(qū)域映射到全局內(nèi)存的區(qū)段,這個內(nèi)存區(qū)域是一個工作項私有的區(qū)域。工作項私有內(nèi)存中定義的變量對其他工作項不可見。工作項在處理單元上運行,有其自己的私有內(nèi)存。工作項在一個計算單元上運行,與該組中的工作項共享一個局部內(nèi)存區(qū)域。由此來減少對計算機硬件性能的消耗。

      其次是通過高斯濾波算法對煤堆顯示效果進(jìn)行優(yōu)化,實現(xiàn)三維圖像處理與成像軟件的自動糾錯、降噪處理功能,對明顯的噪聲數(shù)據(jù)、錯誤數(shù)據(jù)能夠自動過濾,形成直觀、平滑、完整的模型數(shù)據(jù),進(jìn)而生成更加美觀與直觀的模型效果。

      再次,通過高斯濾波對圖像進(jìn)行平滑以消除噪聲,然后計算二階導(dǎo)數(shù),并通過二階導(dǎo)數(shù)的過零來確定邊緣。在計算中,將復(fù)雜的卷積轉(zhuǎn)換為乘積運算,降低運算量和計算復(fù)雜度。

      3 模型動態(tài)顯示

      通過對數(shù)據(jù)點云的采集到對數(shù)據(jù)建模處理以及優(yōu)化效果所得到模型進(jìn)行實時渲染,共有兩種渲染方式。

      3.1 OpenGL 渲染

      首先,對點云數(shù)據(jù)中的點線面順序值的節(jié)點和點線面狀態(tài)屬性的節(jié)點分別進(jìn)行樹形結(jié)構(gòu)的建立。

      然后,兩個樹形結(jié)構(gòu)建立完成后,首先對節(jié)點樹形結(jié)構(gòu)的葉子節(jié)點進(jìn)行排序工作,由根節(jié)點開始遍歷,依次渲染實體節(jié)點;然后再根據(jù)狀態(tài)樹的樹形結(jié)構(gòu),應(yīng)用該渲染葉子節(jié)點對應(yīng)的OpenGL 狀態(tài)屬性,達(dá)到某種OpenGL 狀態(tài)之后,進(jìn)行渲染葉子節(jié)點網(wǎng)格數(shù)據(jù)的提交渲染[4]。

      圖5 OpenGL 渲染樹結(jié)構(gòu)

      3.2 Unity3D 渲染

      Unity3D 渲染模型是直接導(dǎo)入渲染,但在使用的過程中不能實時渲染,因此導(dǎo)入渲染是不可行的。于是使用了動態(tài)加載,使用能動態(tài)生成U3D 支持的渲染模式,并設(shè)計了動態(tài)繪制Mesh 函數(shù),通過讀取與解析已生成點源模型信息的方式獲取模型信息,動態(tài)為Mesh 的點線面賦值。實時生成可視化3 維模型的效果[5],實現(xiàn)技術(shù)流程如圖6 所示,某電廠的實時效果如圖7 所示。

      圖6 Unity3D 渲染流程

      圖7 Unity3D 渲染效果

      4 結(jié)語

      系統(tǒng)已經(jīng)在某電廠進(jìn)行了實施,并獲得了不錯的成效。實現(xiàn)了煤場的三維展示,并且實現(xiàn)了動態(tài)刷新數(shù)據(jù),煤場的分區(qū)數(shù)據(jù)可在三維展示圖上進(jìn)行展示,在堆取料機無人值守過程中將數(shù)據(jù)直觀地展示出來,幫助大家更好地清晰理解煤場現(xiàn)有存量數(shù)據(jù),并掌握煤場數(shù)據(jù)中的有用信息。

      猜你喜歡
      煤場鏈表面片
      初次來壓期間不同頂板對工作面片幫影響研究
      基于二進(jìn)制鏈表的粗糙集屬性約簡
      跟麥咭學(xué)編程
      基于鏈表多分支路徑樹的云存儲數(shù)據(jù)完整性驗證機制
      煤場卸船機直流傳動裝置的升級和改造
      電站輔機(2017年3期)2018-01-31 01:46:44
      煤場歷險記
      煤場封閉方案的論證
      電站輔機(2016年4期)2016-05-17 03:52:42
      甜面片里的人生
      幸福家庭(2016年3期)2016-04-05 03:47:08
      某沿海電廠全封閉條形煤場和圓形煤場的技術(shù)和經(jīng)濟性比較
      青海尕面片
      罗江县| 衡山县| 锡林郭勒盟| 泸西县| 乐平市| 溧水县| 安西县| 修文县| 张北县| 太康县| 西宁市| 兴和县| 筠连县| 北辰区| 灵璧县| 金堂县| 栾城县| 林州市| 乐至县| 山东| 新河县| 招远市| 平果县| 巧家县| 华池县| 河西区| 东辽县| 安义县| 富宁县| 巫山县| 历史| 喀喇| 称多县| 云龙县| 康定县| 新蔡县| 边坝县| 巴东县| 徐州市| 东乌| 文昌市|