數據繪圖處理軟件設計論文
時間:2022-08-02 03:25:00
導語:數據繪圖處理軟件設計論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
【摘要】介紹了試飛數據繪圖程序功能的實現﹑參數繪圖﹑跳點剔補的介紹﹑數據繪圖圖形輸出等進行闡述。
【關鍵詞】繪圖設計﹑視窗﹑跳點剔補﹑映射模式、坐標轉換、繪圖模式。
1引言
試飛數據繪圖是飛行試驗數據處理的重要組成部分,方便實用的繪圖程序可以加快試飛數據處理、分析的速度,為試飛工程師提供便捷﹑直觀的效果。
一個好的繪圖程序,涉及多種功能的集成實現。隨著計算機軟件的飛速發展、繪圖控件也越來越多,編制繪圖程序也越來越容易。但考慮到我們所處的特殊行業,用戶需求比較特殊,程序功能比較復雜,好多控件是不能滿足我們的繪圖要求,為了方便﹑快捷﹑準確地用圖形描述試飛數據處理結果,并且靈活定制用戶所需的功能,筆者沒選任何現成的繪圖控件,而是完全用代碼從底層編寫。并能對二進制和十進制數據繪圖。
此程序主要繪制時間-歷程圖,參數對參數的工程圖沒作要求。
2軟件主界面描述
程序的初始界面如圖1。此界面在設計時充分考慮實用性、美觀性等各方面設計要點。
界面用“文檔與視圖結構”做成,顯示區按一定比例分成兩個區即顯示區和控制區,可人為的調整兩個區的顯示比例。
顯示區是CScrollView(可卷動的視窗)類的繼承,一個View視窗沒有卷軸,是很糟糕的事,因為通常Document范圍大而觀景窗范圍小。我們不能老讓Document與View視窗一樣大。一個具有卷軸的View視窗更具有「觀景窗」的意義。
控制區是CFormView(表單視窗)類的繼承,表單視窗是一個可以包含控件的視圖,與對話框非常相似,通常可以象創建對話框一樣使用對話資源向表單視窗中加入控件。使用表單視窗的原因是因為它是一種易于使用的視圖,使得程序更加靈活。
使用以上兩個類雖然方便,但VC僅提供了框架,大量的工作還要自己做(此不是本文的重點)。
圖1飛行試驗數據繪圖處理軟件主界面
3程序流程
程序流程如圖2所示,此圖主要講解了試飛數據繪圖程序的軟件流程。
圖2程序操作流程圖
4基本功能
4.1對參數最大值和最小值的手動設定與圖形的手動縮放:
如果不用手動對參數的最大值最小值進行設定,程序可自動計算出參數的最大值、最小值,并在此值間繪制參數曲線圖;亦可人工設定,人為設定參數最大值和最小值可按比例調整參數值大小。如果數據所繪曲線太密集不能確定其曲線走向,該程序還可手動對某參數所繪曲線圖的選定區進行放大和縮小,也可在相應的圖上用鼠標拖動進行相應的放大和縮小。
此處對參數的最大值、最小值的自動計算出是用數據值比較算法,將最大值、最小值正確算出并顯出。
4.2跳點的剔補
跳點有時間跳點和數據跳點,剔除跳點有手動剔除方式和自動剔除方式,手動剔除準確率高但速度較慢,適合所有參數。自動剔除速度極快,僅對極個別參數不能很好的剔除,但可滿足數據處理要求。考慮到特殊課題的需求,該程序保留了手動剔除方式。
數據跳點的判斷是相當復雜的,要根據參數的特性等判斷,自動判斷更是如此,比人工判斷更難。自動判斷要根據此值前后的值的大小和參數等的特性來判斷,如判斷錯了則此參數的正確值剔除所繪圖是不正確的。補點也只能最大限度的使其值接近真實值,補點時根據參數值所繪曲線、參數等的特性和被剔除跳點的前后值計算應補點的值,如補點值差異過大那么補的點也就由成跳點了!
對時間跳點的判斷相對就容易得多了,時在23至0之間;分在59至0之間;秒在59至0之間,再根據前后時間判斷,補時間跳點根據前后時間和所選參數采用的采樣率算出,因此是正確的補時間跳點。
如果繪圖數據的跳點很少(幅值小),則對所繪圖形效果并無大礙,可如果繪圖數據的跳點很多(幅值大),則可能很大成度的影響到繪圖的效果。程序中進行了剔除跳點和最佳補點的處理,并在繪圖界面中設置了“剔補跳點”“停止剔除”的選擇。當選擇了“剔補跳點"后本程序將在繪圖時自動剔除跳點,并在同一位置,補上一個點使繪出的圖不致失真,并將那個參數何處何時出現跳點指示出來,以供參考。
4.3顯示任意曲線坐標
當圖繪出來時,可用鼠標在所繪曲線上點擊某處,程序就將此坐標值顯示出來,這樣可準確地給出參數在該點的值。將參數值按一定的映射模式、坐標轉換、繪圖模式等在顯示器上畫出。顯示任意曲線坐標可按參數值在顯示器上顯示反向做程序就可實現。
4.4參數繪圖
參數繪圖分為特定參數繪圖和全部參數繪圖,可根據任意選擇或將所有參數繪制出來,使得繪圖自由度有所增大。
在軟件實現繪圖時,應注意映射模式、坐標轉換、繪圖模式、設備的相關性等的應用不同直接影響著圖形輸出的效果.
4.5其它功能的實現:
可以默認數據的相關信息(如飛機號、時間等),默認時自動讀取數據中的相關信息(對文本文件不適應),也可做相應調整,如果時間做了改動繪圖時僅繪時間改動間的數據。
5.實現要點及難點
本程序操作簡單,部分功能實現自由度較大。每頁可繪十個參數(最少一個參數),總頁數不限.本程序的技術難點之一是如何使繪出的圖形不失真,這就要求將實際數值與輸出設備象素的位置正確對應,在繪圖或打印時還涉及到設備的相關性,映射模式的不同也直接影響著圖形輸出的效果;其次對跳點的確認和剔補也是一個難點,如對跳點的確認不正確或補的點不合理則繪出的圖也是不正確的。
Windows提供了兩種類型的位圖:DDB和DIB.DDB是一種與設備相關的位圖,DDB是由為位圖存放數據的BITMAP結構定義的.程序僅獲得位圖數據的副本,在不同的機器之間傳輸位圖的意義就不大了.與DDB相比DIB有許多編程方面的優勢.它是一種與設備無關性的位圖,它帶自己的顏色信息,所以,調色板管理就更加容易,DIB還使得在打印時更加易于控制灰度陰影,運行Windows的任何計算機都可以處理DIB,顯示時從存儲BMP的文件中讀出.因此,此程序用的是DIB位圖.
本程序繪制曲線單位是像素,也稱為設備坐標.程序中設置的映射模式為MM_TEXT,也就是說一個單位代表一個像素.一旦設置了設備環境的映射模式,大多數CDC成員函數就可以使用邏輯坐標參數.GDI提供了用于在DC上畫圖的繪圖工具.MFC定義了若干種對應于Windows的繪圖工具的圖形對象,如CPen、CBrush、CFont等,在本程序中都用到。
6.結束語
此程序已基本實現了繪制時間-歷程圖的功能,經對某型號飛行數據的繪圖驗證已達到技術要求,顯示與打印都能正確的實現,對跳點的剔補和指出跳點的位置也能正確的實現,通過編寫此程序后,對繪圖程序的編制從底層編寫到最終實現有了更深刻的理解,對數據處理和繪圖的要求也有了更深的理解,此程序基本已將各種功能積于一體,并在實現時可按客戶需求進行選擇性操作,在滿足用戶需求方面自由度較大,程序的實用性也大,可推廣使用。
參考文獻:[1]〔美〕Microsoft公司著Windows核心編程。
[2]〔美〕BeckZaratian著MicrosoftVisualC++6.0程序員指南。
[3]〔美〕Microsoft公司著MicrosoftVisualC++6.0語言參考手冊。
[4]〔美〕Microsoft公司著MicrosoftVisualC++6.0MFC類庫參考手冊。
[5]顧曉明著VC++圖文程序設計。
[6]徐士良著C常用算法程序集。
- 上一篇:視頻數據采集軟件論文
- 下一篇:電影文學詩意管理論文