圖撲 Web 可視化引擎在仿真分析領域的應用

前言

在數字孿生和仿真研究過程中,會產生大量和三維空間相關的數值信息,比如設備外觀的掃描數據、地形掃描數據、生產設備溫度場/壓力場、流體的速度場、流體擴散,以及各種仿真數據:速度,壓力,應力,溫度等。

這些數據的特點是數量大,使用二維圖表呈現不直觀,無法直觀呈現數據的三維分佈和數據隨時間的變化。

 

圖撲軟件是基於 WebGL 的三維可視化引擎,在 WebGL 基礎上封裝了基本的三維模型創建、呈現的 API。同時還封裝了豐富的數學運算庫,涵蓋多維變換,幾何計算等。

圖撲 SDK 開放靈活的架構也使得用戶開發擴展功能非常方便,比如熱力圖(體)插件,流場粒子展示插件,體繪製插件等。強大靈活的 3D 引擎可以讓用戶輕鬆實現三維模型的呈現編輯功能。用戶無需關心繁瑣複雜的 WebGL 操作,可以將精力放到應用的業務層,節省開發費用,加快開發進程,通過三維動態直觀展示方式,挖掘隱藏的信息內容,提升應用價值。

本文針對以下 6 種呈現方式討論使用圖撲 SDK 實現的方法:

  • 模型表面貼圖
  • 模型三維網格
  • 粒子流貼圖
  • 粒子流體
  • 體繪製
  • 點雲

以下介紹的方法中,爲了提高前端的性能和用戶體驗,涉及到大量數據處理的操作都可以放到服務器上實現。前端只負責少量運算和效果展示。

下圖是實現整個系統的架構:

 

模型表面貼圖

對於需要展示表面數據的應用,比如設備表面的溫度,壓力等,輸入數據是模型表面的點座標和數據值的集合,比如 x, y, z, value。實現的方法:根據模型上每一個點 value 值計算出此點貼圖的 UV 值。

實現原理圖如下:

 

有以下兩種情況需要用插值算法重新生成數據:

  • 模型表面貼圖
  • 模型三維網格

 

下圖是實現的原理。主要增加了使用反距離加權法重新生成數據。由於這一步計算量大,需要放到服務器上,作爲數據預處理功能實現。

 

 

模型三維網格

三維網格展示在一個二維面上的屬性在上一節 “模型表面貼圖” 已介紹過。這裏主要介紹三維網格展示三維信息,比如三維速度場,三維溫度場等。

由於是一個三維的體,無法用貼圖的方式給出網格的顏色信息。此時需要用插值算法計算出規則空間網格的場信息。比如在 x,y, z 整數值的點插值採樣。將採樣獲得的空間場信息以材質的方式傳給圖撲 SDK。SDK 在渲染每一個點的時候,根據點周圍的空間 4 個點做插值擬合獲得屬性值,並根據屬性值範圍計算出渲染的顏色。具體流程參照下圖:

 

上方爲基於鑽孔數據的三維地質模型可視化(點擊文字跳轉查看智慧煤礦往期回顧),智慧礦山是一個匯聚了多學科、多主題、多維空間信息的複雜系統,是在礦山地表和地下開採礦產資源的工程活動中所涉及的各種靜、動態信息的全部數字化管理,智能分析,可視化展示,從而達到降本增效,實現企業利益的最大化。

 

 

 

粒子流貼圖

對於需要在一個面上展示的流體場,比如風場,水流場,壓力場等,需要以動態的方式呈現,可以使用圖撲粒子插件實現。

系統基本原理如下圖:二維流體場信息作爲貼圖資源傳給圖撲 SDK。SDK 裏使用貼圖保存粒子的位置信息,利用流體場和粒子位置,計算出下一幀的粒子位置。然後融合上一幀的輸出和當前輸出,實現粒子的移動尾跡效果。

 

圖撲粒子插件可以實現以下參數可調節:

  • 粒子的大小
  • 粒子的形狀
  • 粒子的流速
  • 粒子數量
  • 顯示的閾值
  • 仿真精度等

 

 

粒子流體

對於需要展示三維空間的矢量場,比如風場,速度場等,需要以動態的方式呈現。可以使用圖撲粒子插件實現。插件的主要輸入數據是三維矢量場。它是在服務器端通過對矢量場按照固定間隔採樣擬合獲得。

圖撲三維粒子插件可以實現和二維粒子流相似的參數調節:

  • 粒子的大小
  • 粒子的形狀
  • 粒子的流速
  • 粒子數量
  • 顯示的閾值等

 

體繪製

體繪製是一種將三維空間中的體數據,渲染到二維圖形上的技術。體繪製可以在二維平面上展示出三維空間中的數據,可直觀窺探物體內部細節,因此可應用於各種電、熱、磁場的仿真,水污染擴散仿真、海洋遙感三維可視化、醫學影像(CT) 展示等。

電力行業中,變壓器是一種重要的設備,變壓器繞組的溫度分佈,特別是熱點溫度,是制約變壓器運行安全和使用壽命的重要因素。本案例中通過體繪製的方式展示變壓器繞組溫度場。首先通過有限元仿真,對變壓器內部的熱傳導過程模擬,最終得到變壓器內部的溫度分佈規律。將有限元仿真出的溫度數據,通過插值的方法獲得整個繞組的溫度切片。這裏有多種插值算法,如反距離加權法、克里金法、自然鄰域法、樣條函數法等。這裏採用反距離加權算法。

 

種體繪製的算法有多種:光線投射算法、拋雪球算法、錯切變形算法。三種算法相比較,光線投射算法計算量相對較大,但是繪製的圖像質量較高,有利於保留圖像細節,這裏我們選用光線投射算法。爲了保證渲染速度,我們要對光線投射算法進行了優化,減少不必要計算量。通過優化,可以做到在有非集成顯卡的普通 PC 機上,輕鬆實時渲染數百萬以上點的有限元分析結果。

此外,可以對渲染結果進行裁切,展示繞組任何切面的溫度分佈情況。

以下案例是體繪製在 CT 可視化領域的應用:

 

 

點雲

圖撲引擎內置對點雲的支持。支持的點數量可達千萬。點雲裏每個點的貼圖/形狀可配置。

點雲可以用於展示模型本身或者模型表面的屬性信息,比如壓力和溫度等。

對於激光點雲數據,通常一個點的信息包含三維座標和顏色值,比如 x,y,z,r,g,b 六個字段。將三維座標和顏色信息傳給圖撲點雲可以直接展示模型。對於大場景或高精度的點雲模型,由於點數據量巨大,無法全部顯示。可以採用空間劃分和 LOD 技術,生成不同分辨率的點雲模型,按需加載。需要展示局部高精度模型時,只加載局部高精度模型信息。

對於需要展示變化過程需求,圖撲引擎支持定製插件(shader),通過將多個時間點的顏色信息傳給 shader,shader 根據時間進度信息插值計算出某一時間t的顏色,進行渲染。JavaScript 主程序循環更新運行時間t。這樣的優點是主要的計算量放到顯卡,仿真進度(時間)可以靈活調節,整個展示過程流暢不卡頓。流程參照下圖:

 

更多應用場景

仿真分析技術的應用範圍涵蓋社會的諸多方面,本文我們也對圖撲可視化引擎在數值仿真分析領域的應用做了一些介紹。

仿真分析的意義和作用在於當所研究的系統造價昂貴、實驗的危險性大或需要很長的時間才能瞭解系統參數變化所引起的後果時,仿真是一種特別有效的研究手段。

結合圖撲軟件 Web 可視化引擎爲工程仿真、氣象預報、生命科學、科研教育、電力系統、交通運輸、工業製造等不同領域的發展起到了推動作用,爲不同的行業發展注入了新的動力。

 

圖撲軟件強大靈活的前端可視化引擎自主研發設計,未使用第三方開源庫實現。友好的 API 和靈活的可擴展性,使得圖撲引擎開發的產品具備高性能,高可擴展性,用戶可以靈活輕鬆的實現各種展示效果。

圖撲軟件已廣泛應用於智慧城市、園區、樓宇、工廠、智能製造、水務、能源、光伏、風電、電力、新基建、運維、政務、交通、醫療、金融、科研等行業。累計爲包括三一、寶信、南瑞、華爲、騰訊、西門子、施耐德、霍尼韋爾等衆多國內外企業提供專業的數字化服務,爲企業提供設備的實時監測、運營維護和安全預警、仿真分析等相關需求。

 

更多行業應用實例可以參考圖撲軟件官網案例鏈接:圖撲軟件 - 構建先進 2D 和 3D 可視化所需要的一切

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章