下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
linux下基于q的雷達信息顯示技術(shù)
0linux下開發(fā)圖形用戶界面的常用工具雷達信息顯示接口是雷達系統(tǒng)操作員的接口。鑒于Windows下圖形用戶界面(GUI)開發(fā)的便利性,目前雷達信息顯示基本上都是在Windows操作系統(tǒng)下基于C++而開發(fā)的。但由于微軟公司對Windows源代碼的保留、軍品對保密的需求以及外貿(mào)對知識產(chǎn)權(quán)的要求,目前,開放源代碼的、免費的、具有自主版權(quán)的Linux操作系統(tǒng)越來越受到用戶的歡迎。因此在Linux下進行雷達信息顯示界面開發(fā)不僅是一種時尚,更是一種技術(shù)發(fā)展的需求。Linux下開發(fā)圖形用戶界面的主流工具主要有:GTK+,Kdevelop,Kylix以及Qt等。Qt由于自身的優(yōu)勢和特點,特別是Nokia對于Qt新版本的支持,使得Qt成為Linux下開發(fā)圖形用戶界面的常用工具。Qt是Trolltech公司的標志性產(chǎn)品,是Linux操作系統(tǒng)流行的KDE桌面環(huán)境的基礎,具有如下特點:Qt是面向?qū)ο蟮腃++開發(fā)包;具有signal-slot連接的事件驅(qū)動機制;Qt是一種源代碼級跨平臺的開發(fā)工具,一次編寫,隨處編譯;Qt便于程序開發(fā),提供QtDesigner工具開發(fā)界面。雷達信息顯示一般包括點跡、航跡、雷達視頻、矢量圖形、背景地圖、操作界面等信息。對于雷達視頻顯示,一般不采用軟件方式繪制,而借助于硬件手段實現(xiàn)。若確需采用軟件方式繪制,要達到實時顯示的效果,則對硬件平臺的性能有一定的要求,通常采用幀緩沖(FrameBuffer)的方法將視頻直接寫入顯示內(nèi)存。在本文中不考慮雷達視頻顯示。對于點跡、航跡等實時更新的信息顯示,采用Qt圖形化視圖框架中GraphicsView/Item機制進行處理并將其繪制在圖元層,而對于矢量圖形、背景地圖等無需頻繁更新的信息,可以將其繪制在背景層或前景層。對于操作界面,可以利用QtDesigner進行設計并借助于stylesheet對其美化。1qt顯示基本原則1.1圖形化顯示平臺圖形化視圖框架包含視圖、場景和圖元三個組成部分。視圖為用戶定制的二維圖元進行管理與交互提供一個平臺,同時為圖元的可視化提供視圖窗口。場景為圖元提供顯示平臺。圖元是圖形顯示的單元,可以將基本圖形如線、矩形、圓周等作為一個圖元,也可以將多個基本圖形組合成一個復雜圖形作為一個圖元。圖形化視圖框架采用事件傳遞機制從而可以與場景中的圖元進行雙浮點精度的交互。圖形化視圖采用二元空間分割(BSP)樹方式提供圖元快速搜索,因此可以使包含高達上百萬個圖元的大場景能夠?qū)崟r可視化。圖形化視圖提供一種基于圖元的方式進行模型/視圖編程。在設計中可以采用多個視圖對同一個場景進行不同角度的觀測。1.1.1不變形渲染功能場景類QGraphicsScene提供圖形化視圖框架的場景。場景具備如下功能:提供管理大量圖元的快速接口;傳遞事件到每個圖元;管理圖元狀態(tài),包括選擇狀態(tài)和焦點狀態(tài);提供不變形渲染功能。場景充當QGraphicsItem對象的容器,可以通過調(diào)用QGraphicsScene::addItem()函數(shù)將圖元添加至場景中。QGraphicsScene::items()和其重載函數(shù)可以獲取鼠標選擇范圍內(nèi)的圖元。QGraphicsScene的事件傳遞機制編排場景事件傳遞到相應圖元,并管理圖元之間的事件傳遞。若在場景某位置捕獲到鼠標按下事件,場景將該事件傳遞給該位置的圖元。1.1.2多視角顯示視圖類QGraphicsView為場景中內(nèi)容的可視化提供窗口,可以將多個視圖關(guān)聯(lián)到同一個場景,從而為同一個數(shù)據(jù)集提供多視角顯示。視圖為一個可滾動區(qū)域,在大場景導航時提供滾動條。為獲取OpenGL支持,可以通過調(diào)用QGraphicsView::setViewport()將QGLWidget作為場景視圖。視圖捕獲鍵盤輸入、鼠標事件并在該事件發(fā)送到場景前將其轉(zhuǎn)換為場景事件。1.1.3qg5.1qg改圖元類QGraphicsItem是場景中所有圖元類的基類。圖形化視圖框架提供幾類基本形狀的標準圖元類,如矩形圖元類(QGraphicsRectItem),橢圓圖元類(QGraphicsEllipseItem)和文本圖元類(QGraphicsTextItem)。若需有效利用QGraphicsItem圖元類的特點,則用戶需要定制圖元以實現(xiàn)其功能特點。QGraphicsItem具有如下特征:支持鼠標按下、移動、釋放、雙擊事件以及鼠標滑動、滾動和上下文菜單事件;支持鍵盤輸入焦點和按鍵事件;支持拖放事件;支持組合功能,包括圖元父子關(guān)系或采用QGraphicsItemGroup類;支持碰撞檢測。1.2前景層qghashcs場景層分為圖元層、前景層和背景層。圖元層顯示場景中所有圖元,QGraphicsScene通過調(diào)用drawItems()函數(shù)將所有圖元繪制于該層,該層在前景層之前背景層之后繪制。前景層顯示場景中前景,QGraphicsScene通過調(diào)用drawForeground()函數(shù)將場景的前景繪制于該層,該層在所有圖層中最后繪制。背景層顯示場景背景信息,QGraphicsScene通過調(diào)用drawBackground()函數(shù)將場景的背景繪制于該層,該層在所有圖層中最先繪制。在實際設計中,為節(jié)約系統(tǒng)資源,將頻繁變化并需要實時更新的信息與固定或者不經(jīng)常改變的信息分層顯示。如將頻繁變化并需要實時更新的信息作為圖元處理并繪制于圖元層,而將固定或者不經(jīng)常改變的信息繪制于前景層或背景層。1.3生成環(huán)境文件QtDesigner是Trolltech公司為構(gòu)建圖形用戶界面(GUI)而提供的一個工具。它允許用戶在屏幕表格上設計并構(gòu)造窗口和對話框。由QtDesigner設計的對話框可以使用Qt的signal-slot機制并提供預覽功能。用QtDesigner設計的界面通常保存為擴展名.ui的文件。若需要在C++程序中使用*.ui文件,則需要通過調(diào)用uic(userinterfacecompiler)將*.ui文件轉(zhuǎn)換為C++程序可用的頭文件。若采用qmake命令編譯程序工程文件,則自動調(diào)用uic生成頭文件。在使用QtDesigner設計GUI時,可以使用樣式表定制窗口或控件的外觀。2圖元層和背景層雷達信息顯示主要考慮點跡、航跡、矢量圖形、背景地圖以及操作界面等信息顯示。對于點跡、航跡,由于其信息實時更新,因此作為圖元繪制在圖元層;而對于矢量圖形和背景地圖等不經(jīng)常改變的信息,繪制于前景層或背景層。同時為節(jié)約系統(tǒng)資源,一般需將視圖類QGraphicsView的成員變量ViewportUpdateMode設置為SmartViewportUpdate,即只更新視圖需要重繪的區(qū)域。2.1定制點跡操作對于點跡顯示,從基類QGraphicsItem中派生一個用戶定制的圖元類QGraphicsPlotItem表示雷達點跡對象。用QGraphicsPlotItem成員變量表征點跡屬性,用QGraphicsPlotItem成員函數(shù)定制點跡操作。每個點跡用一個QGraphicsPlotItem對象來表示,然后建立一個點跡鏈QPlotLink保存所有點跡信息。當收到一個新點跡時,在點跡鏈QPlotLink前插入一個QGraphicsPlotItem對象表示該點跡,并調(diào)用setPos()函數(shù)設置其場景位置,然后調(diào)用addItem()函數(shù)將QGraphicsPlotItem對象添加到場景中并在視圖顯示。若點跡小時,此時需要將QPlotLink鏈表中最后一個單元刪除,并調(diào)用QGraphicsScene的函數(shù)removeItem()將該對象從場景中移除。2.2航跡歷史點與航跡指引線航跡顯示包括航跡當前點、歷史點、標牌和指引線的顯示。對于航跡當前點,從基類QGraphicsItem中派生一個用戶定制的圖元類QGraphicsTrackItem表示。用QGraphicsPlotItem成員變量表征航跡參數(shù),設計QGraphicsTrackItem成員函數(shù)定制對航跡的操作。同時從QGraphicsItem中派生一個用戶定制的圖元類QGraphicsHtTrackItem來表示航跡歷史點,從QGraphicsTextItem中派生一個用戶定制的圖元類QGraphicsLabelItem表示航跡標牌,從QGraphicsLineItem中派生一個用戶定制的圖元類QGraphicsDirLineItem來表示航跡指引線。由航跡歷史點組成的航跡歷史點鏈QHtTrackLink,以及航跡標牌QGraphicsLabelItem,航跡指引線QGraphicsDirLineItem均作為QGraphicsTrackItem的成員變量。場景中每個航跡用一個QGraphicsTrackItem圖元對象來表示,然后建立一個航跡鏈QTrackLink保存所有航跡信息。當產(chǎn)生一個新航跡時,在航跡鏈QTrackLink前插入一個QGraphicsTrackItem對象來表示該航跡,并調(diào)用addItem()函數(shù)將QGraphicsTrackItem對象添加到場景中并在視圖顯示。若為已有航跡,則只需更新QTrackLink中相應圖元對象的參數(shù)。若航跡消失,則需將QTrackLink中相應單元刪除,同時調(diào)用QGraphicsScene的removeItem()函數(shù)將該對象從場景中移除。在航跡顯示時需要注意航跡參數(shù)更新時航跡當前點與歷史點參數(shù)的交換。2.3基于背景信息的信息2.3.1繪制復雜圖形在雷達信息顯示中,常需繪制刻度線輔助目標測量,如距離刻度線、方位刻度線,有時也需繪制具有特定功能的區(qū)域,如航跡起始區(qū)、上報區(qū)、干擾區(qū)等。Qt提供底層的繪圖類QPainter,該類既可以繪制簡單的直線,也可以繪制復雜的圖形。如提供drawLine()函數(shù)繪制直線,drawPie()繪制扇形,drawText()繪制文本,drawPath()繪制復雜圖形。對于距離刻度線,通過調(diào)用drawLine()即可實現(xiàn),對于方位刻度線,在P顯時可以調(diào)用drawEllipse()函數(shù)繪制圓形。對于航跡起始區(qū)、干擾區(qū)等用戶繪制圖形,簡單規(guī)則圖形可以調(diào)用QPainter標準繪制函數(shù),復雜圖形先構(gòu)造QPainterPath對象后調(diào)用drawPath()函數(shù)實現(xiàn)。矢量圖形既可以繪制在前景層,也可以繪制在背景層。2.3.2ggad/ogr及g背景地圖顯示關(guān)鍵在于地圖數(shù)據(jù)的解譯。如果掌握一個地圖數(shù)據(jù)文件的格式,可以通過將地圖數(shù)據(jù)轉(zhuǎn)換成為由直線、折線、地標、文本等基本元素組成的鏈表,然后采用動態(tài)加載、分層顯示的方式,通過如2.3.1節(jié)所 述的繪制方式繪制并顯示背景地圖。GDAL/OGR庫是開源GIS領(lǐng)域最為著名的代碼庫之一,以強大的數(shù)據(jù)格式支持和處理能力著稱,并對于其所支持的各類數(shù)據(jù)格式提供一個統(tǒng)一的數(shù)據(jù)抽象模型作為編程接口。OGR提供對矢量數(shù)據(jù)格式的讀寫支持,所支持文件格式包括ESRIShapefiles,S-57,Mapinfomid/mif以及MapinfoTAB等。文獻研究了采用GDAL/OGR庫進行雷達終端顯示系統(tǒng)圖形開發(fā)的方法。2.4息
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)園區(qū)的綠化美化實踐探索
- 辦公新境界宋城辦公環(huán)境規(guī)劃與設計思路
- 創(chuàng)新設計打造安全舒適的學生餐廳環(huán)境
- 辦公新紀元打造高效辦公環(huán)境-辦公環(huán)境與設備綜合改善計劃書
- 辦公自動化系統(tǒng)中的數(shù)學算法優(yōu)化
- 辦公用品客戶需求調(diào)研與高效采購方法
- 全球醫(yī)療旅游經(jīng)濟的現(xiàn)狀與未來趨勢
- 中國美容健身用品行業(yè)運行態(tài)勢及市場發(fā)展?jié)摿︻A測報告
- 2025深圳市寶安區(qū)勞動合同范本
- 2025電梯設備訂貨合同
- 海洋學智慧樹知到期末考試答案章節(jié)答案2024年海南熱帶海洋學院
- 2024年中考語文之文言文對比閱讀-狼(解析版)
- 園林綠化一二三級養(yǎng)護標準及收費方案
- 吉林省松原市寧江區(qū)2023-2024學年八年級下學期期中考試數(shù)學試題
- 新媒體視頻剪輯智慧樹知到期末考試答案章節(jié)答案2024年臨沂職業(yè)學院
- HYT 081-2005 紅樹林生態(tài)監(jiān)測技術(shù)規(guī)程
- 西游記車遲國斗法
- 酒店前臺-客人入住登記表
- 單位檔案安全檢查記錄表
- 中國式教育現(xiàn)代化教師心得1000字文章10篇
- 2024年NOC-創(chuàng)意實驗室試題及答案
評論
0/150
提交評論