專利名稱:一種電磁場強度實時可視化方法
技術領域:
本發明涉及一種電磁場強度實時可視化方法。
技術背景電磁場可視化技術研究是以現有三維立體空間的電磁場點數據為基礎,借 助可視化技術,全面表現地面空間的電磁信號的類型、屬性、分布等情況,,以 期對受電磁場影響的物體比如飛機的制導和控制提供依據。可視化是對科學計 算中所產生的大量的、抽象的或不可見的計算結果及數據進行深入分析,借助計 算機圖形學和圖像處理等技術,把計算機中所涉及的和所產生的數字信息轉變 為直觀的、以圖像或圖形信息表示的、隨時間和空間變化的物理現象或物理量, 從而使專業人員能夠觀察到計算和模擬過程,并提供與計算和模擬的視覺交互 的手段。《計算機與數字工程》2005年10期公開了《空間電磁場三維可視化技術 研究》,該文研究并實現了兩種典型的線狀和點狀強電磁輻射源設施高壓輸電 線路和電視發射塔的電磁場,通過三個流程來實現三維電磁場的實時可視化。 該技術首先實現三維電磁場數據生成,對不同的影響因素分別進行了理論分析 并進行建模計算,得到空間電磁場規則離散點的三維坐標和電磁場強度數據; 第二步實現三維電磁場可視化映射,決定通過重構等值曲面圖來表現電磁場強 度的分布情況。以現有數據為基礎,借助三維數據場構造等值面的經典算法 MarchingCubes算法,計算得到電磁場等值面三角面片的三維坐標和法向向量, 用三角片網格擬合電磁場等值面。最后,以0penGL為工具,通過三維圖形的 建模、變換、消隱、顏色和光照,實現了三維電磁場等值面的繪制和顯示,以 及實時互動。但該技術僅僅實現了對靜態電磁場和電磁標量數據的三維可視化,沒有 考慮動態可變電磁場和電磁矢量數據的可視化問題,可視化方案單一;而且該 技術以層為單位掃描數據,相對比較獨立,電磁場三維重構中的數據量大;在 三維數據場可視化的過程中運用了大量的算法,包括離散點數據的讀取,調用 和存儲,數據的掃描和搜索,等值面的重構,等值面三角面片的三維坐標的插 值運算和法向向量的計算,等值面三角面片的渲染和繪制等等,運行速度較慢; 該技術是通過幾何單元拼接擬合物體表面來描述物體三維結構的,即用表面繪 制方法來實現三維等值面可視化的,由于考慮了對稱的緣故,系統并沒有實現 三維電磁場數據的隨意切割,不能顯示任意截面的等值面情況。另外,由于表 面繪制方法不能保留數據的完整性,其物體僅顯示為一個空殼,表面里面沒有 東西。由于電磁輻射源的多樣性、連續性、變化性等特點,采用單一的可視化方 式很難表現出電磁場的各種分布變化等規律。存儲數據量大,系統運行需要依 賴高性能的硬件, 一般只能在圖形工作站上面實現,限制了其的普及應用,且 大量的算法應用造成運行速度慢,也影響了實時效果。 發明內容本發明的目的是提供一種可以在普通PC平臺上使用的、具有可視化方式 多樣性、變化性和動態性的電磁場強度實時可視化方法。 本發明的目的是通過實施下述技術方案來實現的 一種電磁場強度實時可視化方法,其特征在于包括如下步驟 步驟h電磁場強度數據重構;步驟l丄電磁場強度數據采集由傳感器實時采集得到離散點形式的空間電磁場強度數據;采集的主 要數據集中在電磁場發射源附近;電磁場數據由電磁場檢測器實時傳輸; 步驟1.2:數據存儲;采用原始線性表形式存儲電磁場強度數據;每個存儲單元的形式為 P(x, y, z, r, E);其中,x, y, z表示采集的電磁場數據點的中心空間坐標,r 為該電磁場強度代表區域的空間半徑;E表示該點的電磁數據強度; 步驟2:可視化映射; 步驟2.1:數據管理從原始的線性表中依次讀取每個存儲單元的數據;對電磁場強度數據進行空間分塊;采用八叉樹形式存儲;每個非葉子節點存儲指向自身子空間節點的8個指針;每個葉子節點按電磁場存儲單元形式P(x, y, z, E)存儲該空間的電磁場強度;每個葉子節點的影響范圍可由^4實時計算,i 為根結點的影響范圍半徑,Z為該葉子節點所在的層數;對于沒有采集到數據的葉子節點,用以下公式計算該節點的電磁場強度"為與該區域相鄰己計算出電磁場的葉子節點數目,和A分別為這些 節點的電磁場強度和與需要計算的葉子節點的中心距離; 步驟2,2:可視化區域選擇根據可視化區域的大小和步驟2.1的計算結果,確定每個八叉樹的葉子 是否在可視化區域內,裁剪掉不在該區域內的葉子節點;對在可視化區域內 的八叉樹節點進行統一精度細分,確保每個空間單元有中心電磁場強度;對 于沒有計算的電磁場強度的葉子節點繼續采用公式2.1進行計算; 步驟2.3:數據類型處理選擇步驟2.3.1:將電磁場強度數據看作標量數據;步驟2.3.2: 根據步驟2.3.1的電磁場強度標量數據,采用計算空間中 計算勢能場的步驟計算出電磁場矢量數據,步驟如下步驟2.3.2.1對空間中的每一個電磁場繪制單元計算與其相鄰的單元的電磁場標量強度差 < 和距離矢量差VjD ;步驟2.3.2.2利用如下公式計算該處電磁場的矢量方向E。二丄^X.VjD (2.2)步驟2.3.23將ED單位化,并乘以該點的電磁場強度£,得到該單元 的電磁場矢量強度E:E二五.A^ (2.3)ED|步驟2.3.2.4判斷是否已經將空間中的每個電磁場可視化單元計算完 畢,否則對未計算的單元按以上步驟2.3.2.1~步驟2.3.2.3進行; 步驟2.4:可視化方案選擇選擇靜態的圖形圖像或者動畫方式可視電磁場。步驟2.4.1:靜態圖形圖像方式采用線框球或等值面或圖示符或流線或粒子軌 跡形式;步驟2.4.2:動畫方式采用粒子系統生成動畫方式表現電磁場的發射、傳播過 程,生成粒子系統某瞬間畫面的步驟如下步驟2.4.2.1:生成新的粒子并將加入系統中;步驟2.4.2.2:賦予每一新粒子一組屬性,所述屬性包括位置、速度、顏 色和生命周期;步驟2.4.2.3:根據粒子的動態屬性對粒子進行移動和變換;步驟2.4.2.4:刪除已經超過其生命周期的粒子; 步驟2.4.2.5:繪制并顯示由有生命的粒子組成的圖形。 步驟3:電磁場繪制顯示步驟3.1:渲染方式采用OpenGL作為3D程序接口來實現圖形的繪制和渲染;步驟3.2:觀察角度方式選擇用戶對指定的可視化區域通過調整三維空間中的虛擬相機的位置、朝向、遠近平面,選擇不同的角度進行觀察;步驟3.3:采用統一的消息格式確定所需渲染到圖形處理單元的命令和數據; 步驟4:由圖形處理單元渲染至顯示屏步驟4.1 根據各個區域中的電磁場強弱采用不同的顯示方式,完成對電 磁場數據渲染;并確定是否重新更新采集數據以實現下一幀的渲染;步驟4,2:數據更新設置計時器激活傳感器實時更新采集數據;當每一幀數據渲染完成后,計時器可根據用戶指令發送采集數據消息,立 即激活傳感器獲取下一幀數據,并執行以上步驟1一步驟4;如果計時器超過時 限,計時器向傳感器發送采集數據消息,提示傳感器更新并重新采集數據,并 執行步驟1 —步驟4。最終達到動態地實時電磁場可視化的效果。所述步驟3.1的渲染方式也可以采用DirectX作為3D程序接口 。 所述步驟3.3采用多細節層次技術算法確定所需渲染到圖形處理單元的命 令和數據如下步驟3.3.1確定多細節層次模型中要求的細節層次標準y;.,設層次分別為j, j=l, 2,…N;步驟3.3丄1首先根據視域體將不可見的八叉樹單元剔除; 步驟3.3丄2判斷離視點最近的有電磁數據的八叉樹單元,計算其單元中 心到視點的距離,表示為化^;步驟3.3丄3依次計算視域體中每個有電磁數據的八叉樹單元中心到視 點的距離,記為A,計算巧步驟3.3丄4計算視域體中離視點最遠的有電磁數據的八叉樹單元投影到 屏幕上的面積,記為&"步驟3.3丄5依次計算視域體中每個有電磁數據的八叉樹單元投影到屏幕 上的面積,記為S,,計算《.-s,/S^ ;步驟3.3丄6最后計算每個有電磁數據的八叉樹單元層次細節標準,計算/,如果越大表示物體離視點越遠,則使用越模糊的豐莫型表示;力越小則使用越 清晰的模型表示;當/;=1,表示使用標準模型表示物體;步驟3.3.2:對于不同的層次y;.,計算網格簡化算法的終止條件步驟3.3.3:對于每一個所需的層次/,,進行網格簡化,所生成的場景模型 保存到多細節層次模型庫中。采用以上的電磁場強度實時可視化方法,在處理電磁數據的存儲管理時, 利用八叉樹存儲結構,可以實時對不同密度的電磁數據進行不同密度層次的劃 分。從而提高大規模電磁數據的壓縮、存儲、傳輸等的效率。由電磁場強度標量數據得出電磁場矢量數據,在存儲電磁場強度標量數據 時,同時存儲電磁數據的矢量特性。因而能夠同時在可視化過程中,根據實際 需要選擇進行標量可視化或者矢量可視化或同時進行電磁場強度標量可視化和 電磁矢量可視化,靈活滿足不同的可視化需求。采用粒子系統(particle system)通過空間扭曲控制粒子的行為,結合空間 扭曲能對粒子流造成引力、阻擋、風力等仿真影響,通過指定發射源在發射粒 子流的同時創建各種動畫效果,以動畫方式模擬表現電磁場的發射、傳播等過 程,具有其它傳統的渲染技術難以實現的真實感。粒子系統方法的基本思想是 將許多簡單形狀的粒子作為基本元素聚集起來,形成一個不規則的模糊物體,從 而構成一個封閉的系統…粒子系統。粒子系統并不是一個簡單的靜態系統,隨 著時間的推移,系統中已有的粒子不僅不斷改變形狀,不斷運動,而且不斷有 新粒子加入,并有舊的粒子消亡。為了模擬粒子生長和死亡的過程,每個粒子 均有一定的生命周期,使其經歷出生、生長、衰老和死亡的過程。所以控制粒 子系統運行的關鍵是確定粒子的初始屬性、粒子的變化規律和繪制因素。粒子 系統中的每個粒子都有一組屬性,如位置、速度、顏色和生命期等。 一個粒子 的屬性,主要取決于具體的應用。與粒子系統有關的每個屬性參數均將受到一 個隨機過程的控制。作為本發明的進一步改進,在電磁場繪制顯示時,借用計算機圖形學中的 多細節層次(LOD)思想,根據不同的應用精度需求,提供不同的數據量,如 在發送或接收電磁輻射源周圍釆用高精度的計算模型,在其它地方采用低精度 的計算模型,從而使得數據處理量大為減少,處理效率提升。
圖l是本發明實施例的流程圖。
具體實施方式
下面結合附圖對本發明作進一步詳細的描述圖l是本發明的的流程圖電磁場強度實時可視化方法采用如下步驟實現步驟l、由傳感器實時采集得到離散點形式的空間電磁場強度數據;采集的 主要數據集中在電磁場發射源附近;電磁場數據由電磁場檢測器實時傳輸;步驟2、用一維表的形式存儲電磁場強度原始數據;每個存儲單元的形式為 P(x,y,z,r,E);其中,x, y, z表示采集的電磁場數據點的中心空間坐標,r為該 電磁場強度代表區域的空間半徑;E表示該點的電磁數據強度;步驟3、從一維表中依次讀取每個存儲單元的數據;對電磁場強度數據進行 空間分塊;采用八叉樹形式存儲;每個非葉子節點存儲指向自身子空間節點的8 個指針;每個葉子節點按電磁場存儲單元形式P(x, y, z, E)存儲該空間的電磁場 強度;每個葉子節點的影響范圍可由%,.實時計算,及為根結點的影響范圍半徑,Z為該葉子節點所在的層數;對于沒有采集到數據的葉子節點,用以下公式計算該節點的電磁場強度(2.1)n為與該區域相鄰已計算出電磁場的葉子節點數目,£,和A分別為這些節點的電磁場強度和與需要計算的葉子節點的中心距離;步驟4、可視區域選擇,根據可視化區域的大小和步驟3的計算結果,確定 每個八叉樹的葉子是否在可視化區域內,裁剪掉不在該區域內的葉子節點;對 在可視化區域內的八叉樹節點進行統一精度細分,確保每個空間單元有中心電 磁場強度;對于沒有計算的電磁場強度的葉子節點繼續采用公式2.1進行計算;步驟5、選擇得到N個可視化區域;步驟6、將電磁場強度數據按照標量和矢量數據處理;步驟7、將電磁場強度數據看作標量數據,直接進行標量可視化。標量可視 化采用基于斷層重構、面繪制和直接體繪制等可視化技術,并結合光照、顏色 等輔助手段。例如采用等值面,線框球體形式表示電磁場強度的分布規律。步驟8、再將步驟7所獲得的可視化單元轉化成矢量數據,即采用計算空間 中計算勢能場的步驟計算出電磁場矢量數據,對空間中的每一個電磁場可視化 單元計算與其相鄰的單元的電磁場標量強度差^和距離矢量差ViD,利用如下公 式計算該處電磁場的矢量方向<formula>formula see original document page 11</formula>將ED單位化,并乘以該點的電磁場強度£,得到該單元的電磁場矢量 強度E: d<formula>formula see original document page 11</formula>空間中的每個電磁場可視化單元按步驟8所述方法計算得到矢量數據; 步驟9、可視化方案選擇選擇靜態的圖形圖像或動畫方式可視電磁場。 步驟10、靜態圖形圖像方式采用線框球或等值面或圖示符或流線或粒子軌跡 形式;步驟11、動態圖形圖像采用粒子系統生成動畫方式表現電磁場的發射、傳播 等過程,生成粒子系統某瞬間畫面的基本步驟如下-生成新的粒子并將其加入系統中;賦予每一新粒子一組屬性,所述屬性包 括位置、速度、顏色和生命周期;根據粒子的動態屬性對粒子進行移動和變換; 刪除已經超過其生命周期的粒子;繪制并顯示由有生命的粒子組成的圖形. 步驟3:電磁場繪制顯示步驟12、渲染方式選擇步驟13、選擇采用OpenGL作為3D程序接口來實現圖形的繪制和渲染; 步驟14、選擇采用DirectX作為3D程序接口來實現圖形的繪制和渲染; 步驟15、觀察角度選擇步驟16、用戶對指定的可視化區域通過調整三維空間中的虛擬相機的位置、 朝向、遠近平面,選擇不同的角度進行觀察;步驟17、判斷是否采用多細節層次技術算法(L0D),采用L0D技術可提升 GPU渲染速度,但是會影響遠處電磁場的精度。如需要提高渲染速度,則選擇步 驟18,否則選擇步驟19步驟18、釆用多細節層次技術算法確定所需渲染到圖形處理單元的命令和 數據,其步驟如下首先確定多細節層次模型中要求的細節層次標準y;,設層次分別為j, j二l,2,…,N。根據視域體將不可見的八叉樹單元剔除;判斷離視點最近的有電磁數 據的八叉樹單元,計算其單元中心到視點的距離,表示為化。。r;依次計算視域體 中每個有電磁數據的八叉樹單元中心到視點的距離,記為化,計算巧. 計算視域體中離視點最遠的有電磁數據的八叉樹單元投影到屏幕上的面積,記 為&;依次計算視域體中每個有電磁數據的八叉樹單元投影到屏幕上的面積, 記為&,計算S.-^/S^ ;最后計算每個有電磁數據的八叉樹單元層次細節標準, 計算/,Pj/Fj.,入向上取整數,,如果越大表示物體離視點越遠,則使用越模糊的模型表示;y;.越小則使用越清晰的模型表示;當/,=1,表示使用標準模型表示物體。對于不同的層次/,,計算網格簡化算法的終止條件。對于每一個所需的層次/"進行網格簡化,所生成的場景模型保存到多細 節層次模型庫中。步驟19、采用統一的消息格式確定所需渲染到圖形處理單元的命令和數據;步驟20、將圖形處理單元渲染至顯示屏,根據各個區域中的電磁場強弱采 用不同的顯示方式,完成對電磁場數據渲染;并確定是否重新更新采集數據以 實現下一幀的渲染;步驟21、數據更新設置計時器激活傳感器實時更新采集數據;當每一幀 數據渲染完成后,計時器可根據用戶指令發送采集數據消息,立即激活傳感器 獲取下一幀數據,并執行步驟1一20;如果計時器超過時限,計時器向傳感器發 送采集數據消息,提示傳感器更新并重新采集數據,并執行步驟1—20;最終達 到動態地實時電磁場可視化的效果。采用多細節層次技術算法確定所需渲染到圖形處理單元的命令和數據的優 選方式如下按照從虛擬相機近平面至遠平面的距離D,以1:1:2的比例劃分為三個層次; 從虛擬相機近平面至0.25中的電磁場繪制單元用直接計算和渲染落技術, 嚴格保證其精度;從距虛擬相機近平面0.25D至0.5D中的電磁場繪制單元用Imposter技術進 行渲染;從當前相機視點出發,將一個該區域中的電磁場繪制單元繪制到一張 圖像上,作為texture貼到一個多邊形上,類似于billboard;從距虛擬相機近平面0.5D至遠平面中的電磁場繪制單元用Full-screen billboarding;即對這部分電磁場繪制單元采用覆蓋整個屏幕的布告板;執行這部 分渲染時可以考慮關閉z-buffer;同時與stencir buffer相結合,做出漸隱視頻效果。采用本發明方法,利用電磁大規模數據的存儲優化、數據實時更新和計算、 三維實時圖形渲染等技術能夠有效地實時實現電磁場強度可視化。充分提高了 電磁場強度實時可視化的處理效率和滿足了電磁場可視化方式的多樣性的要求。當前電磁數據場的可視化一般在圖形工作站上面實現,而本系統在普通PC機上即可以實現,降低了系統對高性能硬件的依賴性,同時也拓寬了電磁可視 化應用的普遍性。
權利要求
1、一種電磁場強度實時可視化方法,其特征在于包括如下步驟步驟1電磁場強度數據重構;步驟1.1電磁場強度數據采集由傳感器實時采集得到離散點形式的空間電磁場強度數據;采集的主要數據集中在電磁場發射源附近;電磁場數據由電磁場檢測器實時傳輸;步驟1.2數據存儲;采用原始線性表形式存儲電磁場強度數據;每個存儲單元的形式為P(x,y,z,r,E);其中,x,y,z表示采集的電磁場數據點的中心空間坐標,r為該電磁場強度代表區域的空間半徑;E表示該點的電磁數據強度;步驟2可視化映射;步驟2.1數據管理從原始的線性表中依次讀取每個存儲單元的數據;對電磁場強度數據進行空間分塊;采用八叉樹形式存儲;每個非葉子節點存儲指向自身子空間節點的8個指針;每個葉子節點按電磁場存儲單元形式P(x,y,z,E)存儲該空間的電磁場強度;每個葉子節點的影響范圍可由R/2L實時計算,R為根結點的影響范圍半徑,L為該葉子節點所在的層數;對于沒有采集到數據的葉子節點,用以下公式計算該節點的電磁場強度
2、 一種如權利要求1所述的電磁場強度實時可視化方法,其特征在于所述 步驟3. l的渲染方式釆用DirectX作為3D程序接口。
3、 一種如權利要求1或2所述的電磁場強度實時可視化方法,其特征在于 所述步驟3.3采用多細節層次技術算法確定所需渲染到圖形處理單元的命令 和數據步驟3.3.1確定多細節層次模型中要求的細節層次標準/,,設層次分別為j,j=l, 2,…N;步驟3.3丄1首先根據視域體將不可見的八叉樹單元剔除; 步驟3.3丄2判斷離視點最近的有電磁數據的八叉樹單元,計算其單元中 心到視點的距離,表示為"_;步驟3.3丄3依次計算視域體中每個有電磁數據的八叉樹單元中心到視 點的距離,記為A,計算巧=化_/^;步驟3.3丄4計算視域體中離視點最遠的有電磁數據的八叉樹單元投影到 屏幕上的面積,記為^。;步驟3.3丄5依次計算視域體中每個有電磁數據的八叉樹單元投影到屏幕 上的面積,記為&,計算P,^/S^;步驟3.3丄6最后計算每個有電磁數據的八叉樹單元層次細節標準,計算 y;=「S/F」,,如果越大表示物體離視點越遠,則使用越模糊的模型表 示;力越小則使用越清晰的模型表示;當/,=1,表示使用標準模型表示物體; 步驟3.3.2:對于不同的層次《,計算網格簡化算法的終止條件 步驟3.3.3:對于每一個所需的層次力,進行網格簡化,所生成的場景模型 保存到多細節層次模型庫中。
全文摘要
本發明涉及一種電磁場強度實時可視化方法,采集的電磁場強度數據利用八叉樹存儲結構進行存儲管理,根據需要選擇進行標量可視化或者矢量可視化,選擇靜態的圖形圖像或動畫方式可視電磁場,采用OpenGL或DirectX作為3D程序接口來實現圖形的繪制和渲染;按細節層次讀取數據或采用統一的數據格式確定所需渲染到圖形處理單元的命令和數據并渲染至顯示屏;通過更新渲染數據,最終達到動態地實時電磁場可視化的效果。采用本發明方法,提高了電磁場強度實時可視化的處理效率和滿足了電磁場可視化方式的多樣性的要求。本系統在普通PC機上即可以實現,降低了系統對高性能硬件的依賴性,同時也拓寬了電磁可視化應用的普遍性。
文檔編號G01R29/08GK101241603SQ200810044919
公開日2008年8月13日 申請日期2008年3月10日 優先權日2008年3月10日
發明者何明耘, 崔金鐘, 白忠建, 蔡洪斌, 陳雷霆 申請人:電子科技大學