王學良
(江南機電設計研究所,貴州貴陽,550000)
一種基于OpenGL的重合航跡處理方法
王學良
(江南機電設計研究所,貴州貴陽,550000)
本文通過對模擬航跡仿真,表明該方法能夠正確顯示重疊航跡、臨近航跡信息,相比傳統(tǒng)顯示處理方法,航跡信息辨識度及航跡信息的顯示效率均有明顯提高。本文方法思路簡單、清晰,易于編程實現(xiàn),具有較高的工程應用價值。
重合點跡;OpenGL;中間處理層
OpenGL的全稱為Open Graphics Library,中文名稱為開放式圖形庫,它為程序的圖形顯示提供了一個圖形硬件接口,是一個功能強大、調用方便的底層圖形函數(shù)庫。并具有兼容各類主流操作系統(tǒng)、適用于不同計算機環(huán)境、體積小、使用簡單等特點。這些特點使其在C3I系統(tǒng)顯控軟件的開發(fā)中得到了廣泛的應用。
本文主要根據(jù)OpenGL的顯示原理,提出一種對顯示區(qū)域內有效像素進行多目標航跡重合判定的處理方法,提高C3I系統(tǒng)對目標航跡顯示的辨識效果,降低顯示系統(tǒng)對于大批次、全航跡目標顯示處理的資源消耗。
1.1 多信息源目標位置坐標系轉換處理
在C3I系統(tǒng)中,目標的航跡信息可能來源于處于不同測量位置的多種探測與跟蹤設備。這些設備所提供的目標航跡信息,最終需要匯總并在C3I系統(tǒng)中的統(tǒng)一坐標平面內進行顯示。不同信息源產(chǎn)生的目標位置信息通過通信網(wǎng)絡向地面防空C3I系統(tǒng)傳輸時,主要包含目標、導彈位置在大地球坐標系下的斜距、方位角、高低角參數(shù)及測量站經(jīng)度、緯度、海拔高度信息。為了將不同測量點提供的目標信息統(tǒng)一到以本地目標探測傳感器為中心的大地球坐標系下,需要將進行坐標變換。
首先,假設目標所在地的經(jīng)緯度坐標分別為:經(jīng)度cJ、緯度Wc和海拔高度Hc,本地目標探測傳感器所在地的經(jīng)緯度坐標分別為:經(jīng)度zJ、緯度zW和海拔高度zH,目標在外部測量設備中的大地球坐標為:斜距mtiR,方位角mtiβ和高低角mtiε。則該目標在地心直角坐標系下的坐標為計算公式如下:
1.2 目標位置在顯示坐標系的映射
多源目標信息經(jīng)過1.1條處理后,已經(jīng)裝換為以C3I系統(tǒng)所在地為中心的目標航跡極坐標信息。但是,這些以信息并不能直接在OpenGL繪圖區(qū)域顯示。為了在顯示器上顯示場景中的二維航跡信息,需要把航跡信息投影到二維觀察平面上。
顯示器上顯示的信息內容以像素為基本單位,每一個目標的位置、航跡信息都需要與屏幕上的像素點一一映射才能完成繪制。因此,需要獲得屏幕上顯示區(qū)域所包含的像素點個數(shù)。假設空情態(tài)勢顯示圓形區(qū)域,顯示坐標系定義為正北方向為Y軸正方向、正東為X軸正方向。符號P表示顯示圓盤半徑表示范圍用,符號n表示圓盤半徑長度對應的像素點個數(shù),則目標在顯示坐標系下的參數(shù)按公式(8)、公式(9)得到:
若顯示圓盤半徑表示范圍為P=600km,對應像素點個數(shù)為n=600,則兩個像素對應的目標數(shù)值范圍為1km,如圖2所示。常規(guī)飛行器的飛行速度在150m/s~720m/s之間,以1s為周期的刷新頻率下,通過逐點繪制的目標航跡不會出現(xiàn)跨多個像素點的不連續(xù)現(xiàn)象,能夠保證航跡信息的連續(xù)、平滑顯示。
2.1 顯示區(qū)域像素點復合處理方法
根據(jù)OpenGL顯示原理,無論空情態(tài)勢顯示區(qū)域內顯示的目標數(shù)量有多少,構成航跡的點的數(shù)量有多大,最終投影在有效顯示區(qū)域內的像素點的個數(shù)恒定不變。
假設空情顯示區(qū)域半徑P=600km,對應像素點個數(shù)為n=600,則顯示矩形區(qū)域內共有像素點360000個。但是,在實際使用中,目標的飛行軌跡相對集中,目標間保持著一定的安全距離,大量像素點無實際的顯示內容。為了提高軟件運行效率,設置顯示區(qū)域像素點復合處理數(shù)據(jù)集為動態(tài)數(shù)據(jù)集,其大小可以根據(jù)有效(需要進行顯示)像素點個數(shù)進行調整。將新增有效像素點增加到動態(tài)數(shù)據(jù)集中;檢測丟失目標航跡對應的像素點是否有其他目標航跡復用,如果沒有則將該像素點從動態(tài)數(shù)據(jù)集中刪除。最后,根據(jù)顯示區(qū)域像素點復合處理數(shù)據(jù)集中的像素點的屬性進行顏色設備并輸出,經(jīng)過復合處理后,就能夠快捷的分辨出兩條航跡的起始位置與重合情況。
2.2 應用舉例
在空情顯示軟件中,設置初始航跡一致,飛行途中分別轉向不同方向的兩個目標,在禁用軟件顯示區(qū)域像素點復合處理功能進行顯示時,兩個不同目標間的重合部分對操作人員而言是難以分辨的。在相同飛行航跡條件下,啟用顯示區(qū)域像素點復合處理功能進行顯示時,操作人員可清晰的分辨出兩個目標的航跡重合部分,顯示處理結果與預期目標一致。
本文提出的基于OpenGL的重合航跡處理方法,從C3I系統(tǒng)對航跡信息顯示的實際需求出發(fā),對多源航跡信息進行顯示區(qū)域像素點復合處理,通過建立顯示區(qū)顯示點復合處理數(shù)據(jù)集,將航跡信息與顯示像素點形成映射關系,檢測每條航跡對像素點的復用情況,對復用的像素點采用標示重疊航跡的顏色進行表示。
[1] 李軍,徐波.OpenGL編程指南[M].北京:機械工業(yè)出版社.2010.
[2]楊柏林,陳根浪,徐靜.OpenGL編程精粹[M].北京:機械工業(yè)出版社.2010.
An OpenGL parallel track approach
Wang Xueliang
(Jiangnan mechanical and electrical design institute,Guiyang Guizhou,550000)
This article through to simulate the track simulation, it shows that the method can correctly display overlap track, near the track information, compared with the traditional display processing method, tracking information identification and tracking information display efficiency are improved obviously. The method is simple, clear, easy to program and has high engineering application value.
overlap points;OpenGL;intermediate processing layer