国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

監(jiān)測數(shù)據(jù)網(wǎng)頁端三維可視化展示

2020-08-08 06:47曹樹明
水科學(xué)與工程技術(shù) 2020年3期
關(guān)鍵詞:監(jiān)測數(shù)據(jù)壩體插值

曹樹明

(中交天津航道局有限公司,天津300000)

隨著我國水利工程建設(shè)的發(fā)展, 越來越多的水利工程進(jìn)入運(yùn)行管理階段, 運(yùn)行階段的大壩管理及監(jiān)測資料分析對大壩安全評價(jià)至關(guān)重要。 傳統(tǒng)的監(jiān)測多是基于監(jiān)測儀器采集數(shù)據(jù), 只是在采集數(shù)據(jù)階段實(shí)現(xiàn)自動(dòng)化, 但是在數(shù)據(jù)展示階段缺少網(wǎng)頁端高維度的信息可視化研究。隨著信息技術(shù)的發(fā)展,支持瀏覽器顯示三維模型的WebGL (Web Graphic library)為人們所了解并為許多行業(yè)所應(yīng)用,王晶[1]利用WebGL技術(shù)實(shí)現(xiàn)橋梁監(jiān)測信息可視化并解決了不同人員信息協(xié)同的問題;李志鵬[2]通過WebGL實(shí)現(xiàn)橋梁模型與監(jiān)測數(shù)據(jù)的關(guān)聯(lián), 但模型文件解析和渲染過程較復(fù)雜;高喆[3]將WebGL技術(shù)結(jié)合BIM模型實(shí)現(xiàn)建筑模型展示。 因此本文同樣采用WebGL技術(shù)實(shí)現(xiàn)水利工程監(jiān)測信息三維數(shù)據(jù)模型展示。

1 三維數(shù)據(jù)可視化技術(shù)

Web端渲染模型一般是以WebGL技術(shù)作為繪圖協(xié)議, 因此本文將對WebGL模型渲染原理進(jìn)行學(xué)習(xí)研究以便將三維模型更高質(zhì)量地在Web端繪制出來。首先WebGL是以單個(gè)坐標(biāo)點(diǎn)為基礎(chǔ)渲染單位的,因此需先從模型數(shù)據(jù)文件中獲得三維圖形頂點(diǎn)坐標(biāo),將其暫存到顯存中方便GPU快速讀?。蛔x取完所有的點(diǎn)坐標(biāo)之后, 需由頂點(diǎn)著色器進(jìn)行圖元裝配即將點(diǎn)坐標(biāo)生成三角形,單個(gè)三角形被稱為圖元,數(shù)據(jù)點(diǎn)是圖元的基礎(chǔ),圖元是三維模型的基礎(chǔ),不論多么復(fù)雜的三維模型都是由一個(gè)個(gè)基本的三角形組成;接下來需要光柵化即進(jìn)行模型顏色渲染, 圖元組裝完成后由片元著色器通過對點(diǎn)坐標(biāo)的顏色、 燈光等的計(jì)算,對整個(gè)三角形進(jìn)行插值渲染,完成由點(diǎn)到面到體的模型顏色渲染。

一個(gè)三維模型可視化項(xiàng)目通常包含網(wǎng)頁文件(HTML)、 樣 式 文 件 (CSS)、JavaScript 腳 本 文 件、WebGL著色器(Shader)代碼和數(shù)據(jù)模型文件。 內(nèi)置了WebGL協(xié)議的瀏覽器, 通過JavaScript腳本調(diào)用WebGL代碼接口讀取模型文件并執(zhí)行Shader代碼實(shí)現(xiàn)三維模型繪制及逼真顯示,圖1為詳細(xì)的WebGL渲染模型流程圖。

圖1 WebGL技術(shù)流程

Twgl.js 是一個(gè)微型的WebGL 助手庫, 實(shí)現(xiàn)對WebGL API的封裝,不再需要關(guān)注WebGL底層實(shí)現(xiàn)的原理,專注于本專業(yè)內(nèi)的數(shù)據(jù)處理,使用起來更方便。Twgl.js提供了很多數(shù)據(jù)場顯示的實(shí)例,官方文檔十分詳盡,數(shù)據(jù)接口等相當(dāng)完備,對于初學(xué)者而言十分便捷。 因此本文基于此技術(shù)工具實(shí)現(xiàn)三維可視化。

2 實(shí)際工程概況

本文基于某重力壩工程,本工程為一等大(1)型工程,主要建筑物為1級建筑物,次要建筑物為3級建筑物。 壩高103m,底部高程1211m,庫區(qū)內(nèi)總體庫容4.9億m3,上、下水庫擋水壩,下水庫泄水建筑物,以及電站廠房及其他附屬建筑物的設(shè)計(jì)洪水標(biāo)準(zhǔn)為200年一遇,校核洪水標(biāo)準(zhǔn)為1000年一遇。

電站總裝機(jī)容量1200MW,4臺(tái)機(jī)組, 單機(jī)容量300MW。 電站建成后在系統(tǒng)中將承擔(dān)調(diào)峰、填谷、調(diào)頻、 調(diào)相和事故備用任務(wù)。 樞紐建筑物主要由上水庫、輸水系統(tǒng)、地下廠房系統(tǒng)、下水庫、泄洪建筑物和地面開關(guān)站等組成。

本工程地震基本烈度為Ⅶ度,上、下水庫大壩抗震設(shè)防類別為甲類, 按基準(zhǔn)期100年超越概率2%進(jìn)行設(shè)計(jì),相應(yīng)的基巖峰值加速度為195.4gal;按基準(zhǔn)期100年超越概率1%進(jìn)行校核, 相應(yīng)的基巖峰值加速度為386gal。

3 重力壩段模型數(shù)據(jù)預(yù)處理

由于該實(shí)際工程為一等大(1)工程,運(yùn)行過程中一旦發(fā)生事故后果不堪設(shè)想, 所以大壩的正常運(yùn)行至關(guān)重要。監(jiān)測數(shù)據(jù)是對運(yùn)行狀態(tài)的一種直觀反映,大壩的橫河向位移、順河向位移、縱向位移、滲流等監(jiān)測量是大壩運(yùn)行狀態(tài)監(jiān)測的依據(jù), 但監(jiān)測儀器只能記錄下來某個(gè)高程的監(jiān)測數(shù)據(jù), 但要反應(yīng)到整個(gè)壩體模型上就要對監(jiān)測獲得的數(shù)據(jù)進(jìn)行插值處理,得出整個(gè)壩體數(shù)據(jù), 這樣才能更直觀地反應(yīng)出監(jiān)測數(shù)據(jù)是否異常,大壩的運(yùn)行狀態(tài)是否良好。

3.1 重力壩段網(wǎng)格模型創(chuàng)建

網(wǎng)格模型是監(jiān)測數(shù)據(jù)三維展示的基礎(chǔ), 因此需要預(yù)先創(chuàng)建好三維網(wǎng)格模型。 本文擬定采用單個(gè)典型壩段進(jìn)行三維監(jiān)測數(shù)據(jù)可視化展示, 壩寬30m,上游折坡點(diǎn)高程1241.5m, 壩頂寬度10m, 壩底寬度50m。 采用前處理軟件Hypermesh進(jìn)行三維網(wǎng)格模型的創(chuàng)建, 創(chuàng)建過程中需要注意地是要將網(wǎng)格模型的原點(diǎn)設(shè)置在實(shí)際工程中監(jiān)測儀器布置位置的基點(diǎn),便于直接使用監(jiān)測儀器位置數(shù)據(jù)。 根據(jù)CAD圖紙中工程幾何外形輪廓,從模型的細(xì)部著手通過點(diǎn)、線、面等幾何信息創(chuàng)建三維壩體網(wǎng)格模型。 繪制模型的過程中需要對模型的細(xì)小結(jié)構(gòu)進(jìn)行簡化, 如壩體的廊道等,圖為壩體三維網(wǎng)格模型創(chuàng)建示意圖。

圖2 壩體三維網(wǎng)格模型

3.2 監(jiān)測數(shù)據(jù)插值

監(jiān)測儀器只能記錄下來某個(gè)高程的監(jiān)測數(shù)據(jù),但要反應(yīng)到整個(gè)壩體模型上就要對監(jiān)測獲得的數(shù)據(jù)進(jìn)行插值處理,得出整個(gè)壩體數(shù)據(jù),這樣才能更直觀地反應(yīng)出監(jiān)測數(shù)據(jù)是否異常, 大壩的運(yùn)行狀態(tài)是否良好。

目前, 較常用的插值方法有線性插值、 兩點(diǎn)插值、三次樣條插值等。 本文利用Python編程語言基于支持向量機(jī)算法對三維模型進(jìn)行數(shù)據(jù)插值,圖3為基于支持向量機(jī)算法的三維模型插值流程。

圖3 三維模型插值流程

讀取按監(jiān)測項(xiàng)目分類后的相同監(jiān)測項(xiàng)目的監(jiān)測儀器的三維坐標(biāo)及當(dāng)前監(jiān)測數(shù)據(jù), 并按照’x,y,z,value’(value,單個(gè)監(jiān)測數(shù)據(jù))格式輸入到支持向量機(jī)算法中,支持向量機(jī)算法依據(jù)有數(shù)據(jù)的有限元節(jié)點(diǎn),在算法內(nèi)部生成最接近實(shí)際監(jiān)測數(shù)據(jù)的空間插值函數(shù)如式(1),函數(shù)生成之后算法遍歷沒有數(shù)據(jù)的有限元節(jié)點(diǎn)坐標(biāo)值, 近似插值生成節(jié)點(diǎn)數(shù)據(jù)值從而得出有限元模型所有節(jié)點(diǎn)上的監(jiān)測數(shù)據(jù)。

3.3 數(shù)據(jù)規(guī)范化

插值完成后的壩體模型數(shù)據(jù)為所有單元節(jié)點(diǎn)的數(shù)值, 但WebGL在渲染的時(shí)候是根據(jù)顏色RGB的數(shù)值進(jìn)行渲染的, 直接生成的數(shù)據(jù)不能夠直接被網(wǎng)頁端渲染器所識(shí)別, 因此需要對數(shù)據(jù)進(jìn)行預(yù)先處理。

3.3.1 數(shù)據(jù)場值轉(zhuǎn)化為RGB色彩值

RGB即紅(red),綠(green),藍(lán)(blue)的縮寫,3種顏色按照不同比例混合可產(chǎn)生所有顏色, 顯示器上的所有顏色都由此三者產(chǎn)生。

利用監(jiān)測數(shù)據(jù)通過SVM模型對三維壩體模型進(jìn)行插值,得出結(jié)果是壩體空間上的環(huán)境量數(shù)據(jù)場,如位移數(shù)據(jù)場溫度數(shù)據(jù)場。 但若要將數(shù)據(jù)值以不同顏色區(qū)分顯示到網(wǎng)頁端需要利用Twgl.js技術(shù)進(jìn)行渲染,而渲染器無法識(shí)別顏色數(shù)據(jù)以外的其他數(shù)據(jù)值,這就需要將插值后的數(shù)據(jù)轉(zhuǎn)化成RGB形式的顏色數(shù)據(jù)。圖為監(jiān)測數(shù)值轉(zhuǎn)化為顏色數(shù)值流程,首先定義云圖中顯示最亮和最暗的顏色; 然后讀取文本格式的數(shù)據(jù), 將獲取到的字符串按照格式分割成單個(gè)數(shù)據(jù)后計(jì)算得到所有數(shù)值中的最大值和最小值, 并將最亮顏色綁定到最大值,最暗顏色綁定到最小值;其次遍歷數(shù)據(jù)將所有數(shù)據(jù)在最大值與最小值間進(jìn)行插值得出每個(gè)數(shù)據(jù)對應(yīng)的不同顏色值; 最后將轉(zhuǎn)換完成的顏色值以’R,G,B,R,G,B…’ 格式存儲(chǔ)到.color文本文件。

圖4 數(shù)值轉(zhuǎn)換為顏色流程

3.3.2 點(diǎn)坐標(biāo)與網(wǎng)格單元數(shù)據(jù)規(guī)范化

數(shù)據(jù)讀取渲染的過程中先是對單個(gè)頂點(diǎn)進(jìn)行渲染著色, 然后根據(jù)單元構(gòu)成信息進(jìn)行三角形單元內(nèi)部插值著色,而網(wǎng)格模型是體單元,因此需要將體單元轉(zhuǎn)化為三角形面單元。 利用python將體單元數(shù)據(jù)讀取后進(jìn)行分割并按照特定格式存放到文件中。 此外WebGL是單面渲染即三角形點(diǎn)的標(biāo)記順序是順時(shí)針標(biāo)記和逆時(shí)針標(biāo)記,當(dāng)單元標(biāo)記只有一個(gè)方向的時(shí)候,WebGL默認(rèn)渲染一個(gè)面, 這會(huì)導(dǎo)致模型從不同角度瀏覽會(huì)出現(xiàn)空白即未渲染現(xiàn)象,因此,需將單元順時(shí)針與逆時(shí)針雙向標(biāo)記即0,1,5,0,5,4…0,5,1,0,4,5…并將數(shù)據(jù)存儲(chǔ)到.indices文本文件。

圖5 六面體單元信息示意圖

4 監(jiān)測數(shù)據(jù)三維可視化顯示

大壩工程的安全監(jiān)測意義十分重要, 是我國水利水電事業(yè)高效、穩(wěn)定發(fā)展的重要前提。壩體的安全受多方面因素影響,隨著時(shí)間推移,壩體的安全性逐漸降低,這就要求實(shí)時(shí)地對壩體進(jìn)行監(jiān)測。對壩體的實(shí)時(shí)監(jiān)測能夠第一時(shí)間了解壩體的運(yùn)行狀況, 及時(shí)獲取壩體的健康狀態(tài), 對壩體的異常位移情況進(jìn)行預(yù)警,保證壩體能夠健康高效的運(yùn)行[5],因此需對大壩位移進(jìn)行實(shí)時(shí)監(jiān)測。

通過前面章節(jié)的數(shù)據(jù)處理, 形成規(guī)范化的數(shù)據(jù)格式, 然后編寫核心代碼對數(shù)據(jù)進(jìn)行讀取與渲染處理,生成實(shí)時(shí)位移云圖,圖為壩體上下游位移云圖,核心代碼如下。

圖6 壩段位移場云圖

5 結(jié)語

本文介紹了三維數(shù)據(jù)可視化技術(shù), 通過對典型三維可視化工具的對比分析, 發(fā)現(xiàn)Twgl.js在數(shù)據(jù)模型展示方面兼容性好,開發(fā)便捷迅速;利用支持向量機(jī)回歸器實(shí)現(xiàn)了監(jiān)測數(shù)據(jù)三維空間插值, 利用Twgl.js實(shí)現(xiàn)了監(jiān)測數(shù)據(jù)模型網(wǎng)頁端顯示。雖然實(shí)現(xiàn)了監(jiān)測數(shù)據(jù)模型三維可視化展示, 但是監(jiān)測數(shù)據(jù)在三維模型空間上的插值精度還不是十分精確。因此,需要進(jìn)一步優(yōu)化三維模型空間插值算法。

猜你喜歡
監(jiān)測數(shù)據(jù)壩體插值
滑動(dòng)式Lagrange與Chebyshev插值方法對BDS精密星歷內(nèi)插及其精度分析
壩下深部煤層開采壩體移動(dòng)變形規(guī)律的數(shù)值模擬
土石壩壩體失穩(wěn)破壞降水閾值的確定方法
基于QUAKE/W均質(zhì)土壩地震響應(yīng)靜力學(xué)分析計(jì)算
基于pade逼近的重心有理混合插值新方法
劈裂灌漿在水庫土壩中的防滲加固技術(shù)
混合重疊網(wǎng)格插值方法的改進(jìn)及應(yīng)用
淺談環(huán)境監(jiān)測垂直管理的優(yōu)勢
環(huán)保驗(yàn)收監(jiān)測異常數(shù)據(jù)的分析與處理探討
基于混合并行的Kriging插值算法研究
社会| 苍山县| 凤山市| 孝义市| 图木舒克市| 贵德县| 英德市| 拉孜县| 兴安盟| 黄冈市| 延庆县| 阿拉善左旗| 康马县| 托克托县| 秭归县| 湘乡市| 西华县| 乐昌市| 濮阳市| 上蔡县| 永兴县| 江都市| 阜阳市| 佛学| 灌阳县| 云霄县| 麻阳| 四川省| 乐业县| 杭锦后旗| 惠水县| 常熟市| 屯昌县| 房山区| 界首市| 西林县| 平凉市| 襄垣县| 东港市| 祁门县| 霍州市|