亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Wince智能設(shè)備中笛卡爾坐標系無屏閃動態(tài)繪制曲線技術(shù)應(yīng)用研究

        2013-08-22 01:35:12羅國平
        科技視界 2013年23期
        關(guān)鍵詞:半軸柵格刻度

        羅國平

        (樂山師范學(xué)院 計算機科學(xué)學(xué)院,四川 樂山614000)

        0 引言

        Wince智能設(shè)備中應(yīng)用程序繪制圖形時遇到繪圖數(shù)據(jù)量較大時一般繪圖需要較長的時間,在繪圖過程中往往需要刷新,即將原圖形擦除掉,重新繪制新的圖形,由于這一刷新過程中出現(xiàn)顏色對比度偏差較大,從而導(dǎo)致屏幕閃爍的現(xiàn)象,這種現(xiàn)象稱之為“屏閃”現(xiàn)象,這種“屏閃”現(xiàn)象嚴重影響智能設(shè)備繪圖視覺效果。Wince應(yīng)用程序常常采用VS2005 VC++開發(fā),而該程序是基于消息映射模式,系統(tǒng)窗體在響應(yīng)WM_PAINT消息的時候進行復(fù)雜的圖形處理,往往需要調(diào)用OnEraseBkgnd函數(shù)以背景顏色擦除繪圖區(qū)域,然后用新的顏色重新繪圖,窗體在重繪時由于頻繁擦除和重繪從而引起“屏閃”問題。這就是“屏閃”形成的機理,解決這一問題的有效方法就是采用雙緩沖技術(shù)。

        1 問題的提出

        在35kV高壓開關(guān)柜監(jiān)控系統(tǒng)中,常常遇到需要實時顯示母線溫升等重要數(shù)據(jù),這些數(shù)據(jù)需要及時以動態(tài)曲線的方式繪制在屏幕上以便于工作人員及時了解高壓開關(guān)柜母線溫升狀態(tài),并根據(jù)母線溫升的狀況作出相應(yīng)的判斷,本文將探討如何實現(xiàn)無屏閃繪圖的方法。

        2 Y軸0點軸位置的幾種形式及其在屏幕位置計算

        Wince智能設(shè)備環(huán)境下屏幕默認坐標映射方式與笛卡爾坐標系坐標映射是不同的,Wince智能設(shè)備屏幕的左上角為坐標原點,相對于坐標由左向右為正,反之則為負;相對坐標從上到下為正,反之則為負。在實際應(yīng)用中,Y=0時,X軸位置常??紤]有三種情況,第一種情況即Y=0,X軸位于Y軸正中,Y軸上半軸和下半軸剛好對稱,這種坐標系常常用于繪制正負半軸都有數(shù)據(jù)的曲線、如正弦、余弦曲線;第二種情況即Y=0,X軸位于屏幕上方,Y軸僅有負半軸,這種坐標系常常用于繪制僅有負數(shù)的曲線;第三種情況,即Y=0,X軸位于屏幕下方,Y軸僅有正半軸,這種坐標系常常用于繪制僅有正數(shù)的曲線。在實際的程序設(shè)計過程中,為了實現(xiàn)參數(shù)化設(shè)計,可以采用一個比例因子來動態(tài)控制Y=0時X軸的位置。這個動態(tài)因子理論上可以為0~1之間的任意小數(shù),但為了實用起見程序中只取0,0.5,1三個參數(shù),當比例因子為0的時候,表示Y=0,X軸位于頂部,系統(tǒng)只繪制Y軸的負半軸;當比例因子為0.5時,表示Y=0,X軸位置于屏幕繪圖區(qū)域中心,系統(tǒng)需要繪制Y軸的正半軸和負半軸,且兩半軸上下對稱;當比例因子為1時,表示Y=0,系統(tǒng)只繪制Y軸正半軸。實現(xiàn)這個功能的計算公式參見式(1)。

        式(1)中m_nCenterY表示Y=0時,X軸位于屏幕上的縱坐標位置(單位:Pixel);m_rectCurve 表示繪圖矩形區(qū)域;m_dBase 表示 Y=0,X 軸位于屏幕位置參數(shù),實際取值為 0,0.5,1.0,當為 0時表示僅繪制 Y 軸負半軸,當為0.5時表示需要繪制Y軸正、負半軸,且兩個半軸對稱,當為1.0時表示僅需要繪制Y軸正半軸;m_dRange表示最大范圍,在此僅取值為100。

        3 柵格的計算

        為了實現(xiàn)程序具有通用性,在設(shè)計的時候往往需要參數(shù)化設(shè)計、模塊化設(shè)計。因此,需要考慮幾種常用的笛卡爾坐標系,根據(jù)刻度奇偶個數(shù)不同柵格繪制需要分幾種情況進行處理。

        (1)當坐標 Y=0 時,式(1)中 m_dBase=0.5,Y 軸正半軸和負半軸關(guān)于X軸對稱時,在這種情況下,為了便于稱呼,我們將大刻度稱為主刻度,大刻度內(nèi)的小刻度稱為子刻度,以下未經(jīng)過說明都這樣稱呼,在這種情況下,需要分奇數(shù)個主刻度和偶數(shù)個主刻度;如圖1所示,Y軸表示范圍0~100,有10個大刻度,每一個刻度表示的值為10,總共10個大刻度,大刻度中僅有5個小刻度,因此子刻度有5個。為了便于編寫程序,定義一個主刻度成員變量m_nYAxisScale,子刻度成員變量m_nSubYAxisScale,主刻度柵格畫筆成員變量m_MainGridPen,子刻度畫筆成員變量m_SubGridPen。

        圖1 母線溫升曲線

        當為偶數(shù)個主刻度時,以Y=0為柵格繪制參考起點,分上半軸和下半軸繪制。繪制Y軸正半軸柵格算法如下:

        //繪制上半部分柵格

        其中m_rectCurve表示繪制曲線有效區(qū)域,即圖1中藍色矩形框內(nèi)區(qū)域。m_dcGrid表示柵格繪圖內(nèi)存設(shè)備類,區(qū)域大小相當于整個灰色的矩形區(qū)域。 在上述程序算法中的判斷條件 “if(i%m_nSubYAxisScale==0)”巧妙地將主刻度柵格線和子刻度線算法相統(tǒng)一,在實際繪圖過程中,最大限度減少了柵格和柵格之間的累計誤差,從而最大程度地避免了刻度和刻度之間不均勻現(xiàn)象。

        同樣對于Y軸負半軸算法可以類推,不同的是繪圖參考點是m_rectCurve.Bottom,因此將僅將上述算法中MoveTo函數(shù)和LineTo函數(shù)的第二個參數(shù)做相應(yīng)的修改,將“+i”改為“-i”。

        當為奇數(shù)個主刻度時,以Y=0為柵格繪制參考起點,Y軸分上半軸和下半軸繪制。在這種情況下與偶數(shù)個主刻度區(qū)別在于,最后1/2個主刻度的處理上,而且這1/2個主刻度內(nèi)又要分偶數(shù)個子刻度和奇數(shù)個子刻度,因此算法相對復(fù)雜,為了簡單起見,同樣僅考慮Y軸正半軸的情況,對于負半軸可以如法炮制。由于是奇數(shù)個主刻度,Y軸正半軸和負半軸關(guān)于X軸對稱,在這種情況下,柵格繪制的參考點以m_nCenterY為準,此參數(shù)計算參見式(1)。柵格繪制算法如下:

        //繪制上半部分

        Y軸負半軸柵格與Y軸正半軸算法很相似,不同的是MoveTo和LineTo函數(shù)的第二個參數(shù)中“m_nCenterY-”改為“m_nCenterY+”即可。

        (2)當坐標 Y=0 時,式(1)中 m_dBase=0 或 m_dBase=1 時,m_d Base=0表示僅繪制Y軸負半軸;m_dBase=1時表示僅繪制Y軸正半軸。這兩種情況實際上在繪制柵格算法上是一樣的。算法如下:

        4 雙緩繪圖沖技術(shù)的應(yīng)用

        在實際程序設(shè)計中,動態(tài)繪圖涉及到背景,坐標、柵格、坐標刻度、坐標標簽等,這些圖形元素直接繪制到一個名叫m_dcGrid設(shè)備環(huán)境類中,動態(tài)曲線繪制m_dcLine設(shè)備環(huán)境類中,兩個圖形以SRCPAINT方式合并到同一個圖形中,然后通過內(nèi)存環(huán)境設(shè)備類(memDC)將現(xiàn)有的畫面拷貝到屏上,這樣不斷更新畫面,經(jīng)過兩級緩沖處理就消除了閃屏問題。

        程序(2)表示把圖形拷貝到dcGrid設(shè)備環(huán)境類中,dcGrid設(shè)備環(huán)境類實際上繪制的是柵格及坐標軸以及坐標刻度,坐標標簽等;程序(3)表示把圖形拷貝到m_dcLine設(shè)備環(huán)境類中,m_dcLine緩沖實際上繪制的是動態(tài)曲線,系統(tǒng)將兩個圖形以SRCPAINT方式合成一張圖,然后經(jīng)由2級緩沖memDC內(nèi)存環(huán)境設(shè)備類,該圖形通過BitBlt函數(shù)將圖形從內(nèi)存拷貝到屏幕上,從而實現(xiàn)無屏閃繪圖。

        5 結(jié)論

        該程序在35KV智能開關(guān)柜遠程控制項目中測試通過,在實際運行過程中,肉眼幾乎無法感受到一點屏閃跡象,程序運行目前運行正常,實踐證明這種算法比較合理,完全能夠解決智能設(shè)備中動態(tài)繪圖過程中遇到的屏閃問題。

        [1]蔣柱蔥,謝云.基于嵌入式 WinCE與 MSP430單片機多串口通信設(shè)計[J].電子設(shè)計工程,2011,4,19(7).

        [2]尚秋峰,陳于揚,姚國珍,李灝.基于Wince嵌入式內(nèi)核的新型電力參數(shù)實時測量系統(tǒng)[J].電力系統(tǒng)保護與控制,2010,38(22).

        [3]汪兵,李存斌,陳鵬,等.EVC高級編程及其應(yīng)用開發(fā)(Embedded Visual C++嵌入式編程)[M].中國水利水電出版社,2005,3.

        [4]周立功.ARM&WinCE實驗與實踐:基于 S3C2410[M].北京航空航天大學(xué)出版社,2007,7.

        猜你喜歡
        半軸柵格刻度
        基于鄰域柵格篩選的點云邊緣點提取方法*
        法蘭盤半軸鉆鉸錐孔專用夾具設(shè)計
        歐姆表的刻度真的不均勻嗎?
        ——一個解釋歐姆表刻度不均勻的好方法
        汽車半軸用鋼電沉積Ni-SiC復(fù)合鍍層的耐磨性
        被吃掉刻度的尺子
        誰大誰小
        測量三字歌
        某重型車橋半軸斷裂失效分析
        不同剖面形狀的柵格壁對柵格翼氣動特性的影響
        基于CVT排布的非周期柵格密度加權(quán)陣設(shè)計
        五月婷一本到五月天| 夫妻免费无码v看片| 色欲色欲天天天www亚洲伊| 无码视频一区二区三区在线观看| 校花高潮一区日韩| 国产美女高潮流白浆视频| 欧美成人秋霞久久aa片| 日本乱人伦在线观看| 中文字幕久久久久久久系列| 人妻丰满熟妇一二三区| 人妻熟妇乱又伦精品hd| 色婷婷久久综合中文久久蜜桃av| 二区久久国产乱子伦免费精品| 国产成人av一区二区三| 绝顶高潮合集videos| 国产免费av片在线观看播放| 在线观看国产三级av| 色男色女午夜福利影院| 无码人妻h动漫中文字幕| 亚洲级αv无码毛片久久精品| 色窝综合网| 久久一区二区三区四区| 国产午夜精品av一区二区三| 色欲一区二区三区精品a片| 中国熟妇人妻xxxxx| 久久中文字幕日韩无码视频| 青青草在线免费观看在线| 少妇爆乳无码专区| 五月天精品视频在线观看| 亚洲午夜久久久精品国产| 国产亚洲精品久久情侣| 久久无码av中文出轨人妻| 欧美日韩国产亚洲一区二区三区| 日韩人妻美乳中文字幕在线| 色欲av伊人久久大香线蕉影院| 欧美午夜精品久久久久久浪潮| 日本一区二区亚洲三区| 亚洲色图三级在线观看| 好日子在线观看视频大全免费动漫 | 国产内射视频在线播放| 精品女同一区二区三区|