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

        ?

        基于WPF技術(shù)的雷達模擬實現(xiàn)

        2015-07-03 09:27:14司道光
        中國科技縱橫 2015年12期
        關(guān)鍵詞:動畫

        司道光

        【摘 要】WPF為Windows Presentation Foundation縮寫 ,是微軟新一代圖形系統(tǒng),運行在.NET Framework 3.0架構(gòu)下,為用戶界面、2D/3D 圖形、文檔和媒體提供統(tǒng)一的描述和操作方法?;赪PF技術(shù)雷達動畫設計,動畫演變時間進度與軟件節(jié)點狀態(tài)同步響應設計,可實現(xiàn)雷達掃描實時性。異步方式節(jié)點狀態(tài)監(jiān)測,利用線程獨立于雷達進程運行,為其提供后臺監(jiān)測服務,完成對雷達節(jié)點數(shù)據(jù)轉(zhuǎn)換要求。

        【關(guān)鍵詞】WPF,XAML語言 雷達模型 動畫

        1 WPF技術(shù)簡介

        基于DirectX 9/10技術(shù)的WPF不僅帶來前所未有的3D界面,且其圖形向量渲染引擎也大大改進傳統(tǒng)2D界面,如Vista中半透明效果窗體等都得益于WPF。 WPF相對于Windows客戶端開發(fā)來說,向前跨出很大一步,它提供了超豐富的.NET UI 框架,集成矢量圖形,豐富流動文字支持flow text support,3D視覺效果和強大無比的控件模型框架。

        2 WPF技術(shù)雷達實現(xiàn)

        XAML標記語言是WPF技術(shù)特色,設計人員利用它能構(gòu)建絢麗多彩UI界面。實際開發(fā)中,設計人員利用Microsoft Expression Blend 工具來設計界面,并生成XAML用戶界面,下面例子是利用XAML構(gòu)建雷達模型,實現(xiàn)雷達動畫,利用C#語言完成監(jiān)控業(yè)務邏輯,實現(xiàn)C#與XAML語言完美結(jié)合,為用戶創(chuàng)建震撼效果的雷達監(jiān)控功能。本案例使用了Mircosoft Visual Studio.NET 2008開發(fā)工具和Microsoft Expression Blend 2設計工具,采用C/S架構(gòu)模式,使用C#語言和Xaml語言。

        2.1 雷達監(jiān)控功能描述

        雷達圖的圖形界面分三個區(qū)域:區(qū)一表示業(yè)務系統(tǒng)運行正常;區(qū)二表示業(yè)務系統(tǒng)部分關(guān)鍵指標出現(xiàn)告警,系統(tǒng)運行受到影響;區(qū)三表示業(yè)務系統(tǒng)關(guān)鍵指標不可用,系統(tǒng)運行不可用;各系統(tǒng)監(jiān)測狀態(tài)主要通過探針服務器直接進行可用性探測,并參考各業(yè)務核心關(guān)鍵指標,各系統(tǒng)圖標依據(jù)以上三種狀態(tài)進行顏色變化。當某個系統(tǒng)出現(xiàn)問題后(區(qū)域二或區(qū)域三)進行告警,據(jù)問題嚴重程度排序顯示。并展示各業(yè)務系統(tǒng)運行狀態(tài)統(tǒng)計圖。

        2.2 雷達建模

        這里主要使用Expression Blend工具來生成XAML語言雷達模型,設計時將Canvas元素作為模型容器,內(nèi)部使用大小不同Ellipse元素,轉(zhuǎn)換成路徑,通過漸變填充構(gòu)建出雷達效果背景。

        2.3 雷達動畫驅(qū)動

        創(chuàng)建雷達動畫,動畫主要針對上述指針模型,圍繞雷達中心點,周而復始進行360度旋轉(zhuǎn)。下面代碼是雷達動畫故事版代碼,每一圈動畫速率為10秒。

        //加載雷達故事板Story = (Storyboard)this.Resources["EllipseAnimation"];

        //觸發(fā)時間線過度事件Story.CurrentTimeInvalidated += new EventHandler(story_CurrentTimeInvalidated);Story.Begin();

        2.4 雷達掃描同步

        雷達掃描同步是動畫演變時間進度與軟件節(jié)點狀態(tài)同步響應設計,利用Storyboard類中故事板對象CurrentTimeInvalidated事件,實現(xiàn)掃描進度與實際監(jiān)控狀態(tài)響應同步。

        ///節(jié)點狀態(tài)同步監(jiān)測服務類PCTK.App_Code.SystemSoftAnimation Syssoft;

        //時間線事件 void story_CurrentTimeInvalidated(object sender, EventArgs e){Clock myClock = (Clock)sender; if (myClock.CurrentTime != null)

        double TotalSeconds =Math.Round(myClock.CurrentTime.Value.TotalMilliseconds, 4);

        CountAnimation = (int)TotalSeconds / 10000;

        double NowIndex = Math.Round((TotalSeconds - CountAnimation * 10000) / avgtime, 4);Syssoft.SetSoftState(NowIndex); Syssoft.SetSoftXY(); }}

        2.5 節(jié)點狀態(tài)異步監(jiān)測

        節(jié)點狀態(tài)監(jiān)測主要是獨立于雷達動畫進程節(jié)點狀態(tài)監(jiān)測,是雷達中表現(xiàn)的被監(jiān)控對象。在本案例中節(jié)點是各應用系統(tǒng),用獨立線程從中間庫提取應用系統(tǒng)運行狀態(tài), Thread DataServiceProcess = new Thread(new ThreadStart(GetState)); // GetState狀態(tài)檢測過程DataServiceProcess.IsBackground = true;DataServiceProcess.Start();

        在本案例中自定義了節(jié)點狀態(tài)監(jiān)測服務類NodeDataService 主要完成節(jié)點狀態(tài)監(jiān)測和節(jié)點分布變化邏輯,是雷達監(jiān)控業(yè)務核心邏輯,通過動畫演變引發(fā)時間線事件,來調(diào)用內(nèi)部方法,實現(xiàn)雷達掃描狀態(tài)實時變化。本案例中還構(gòu)建一個節(jié)點Model對象類,并在NodeDataService 類中定義了該對象泛型集合,實現(xiàn)監(jiān)控進程與動畫UI進程數(shù)據(jù)通信。

        2.6 節(jié)點分布

        節(jié)點分布是雷達中為各應用系統(tǒng)生成的標點,即圖標,圖標據(jù)系統(tǒng)狀態(tài)進行顏色變化及區(qū)域跳轉(zhuǎn),所有標點在雷達圓中按排列規(guī)則計算標點坐標,實現(xiàn)均勻分布。

        double iangle = Math.Round(n * angle, 3);

        ///采用三角計算公式 勾股定理,角度正弦值求標點的半徑長度

        Point p = new Point(); if (iangle <= 90){p.X = AVGP + Math.Round(dc * Math.Sin(iangle * (Math.PI / 180)), 2) - widths / 2; p.Y = AVGP - Math.Round(dc * Math.Sin((90 - iangle) * (Math.PI / 180)), 2) - 12;}

        else{if (iangle <= 180){ p.X = AVGP + Math.Round(dc * Math.Sin((180 - iangle) * (Math.PI / 180)), 4) - widths / 2; p.Y = AVGP + Math.Round(dc * Math.Sin((90 - (180 - iangle)) * (Math.PI / 180)), 2) - 12; }

        else{if (iangle <= 270){

        p.X = AVGP - Math.Round(dc * Math.Sin((iangle - 180) * (Math.PI / 180)), 2) - widths / 2;

        p.Y = AVGP + Math.Round(dc * Math.Sin((270 - iangle) * (Math.PI / 180)), 2) - 12; }

        else{if (iangle <= 360) {

        p.X = AVGP - Math.Round(dc * Math.Sin((90 - (iangle - 270)) * (Math.PI / 180)), 2) - widths ;

        p.Y = AVGP - Math.Round(dc * Math.Sin((90 - (360 - iangle)) * (Math.PI / 180)), 2) - 12;

        }return p;}

        猜你喜歡
        動畫
        我們的“動畫偶像”
        Clifford hits the big screen
        做個動畫給你看
        動畫發(fā)展史
        Mg動畫在慕課中的應用及其制作
        我的動畫夢
        文苑(2019年22期)2019-12-07 05:28:56
        好萊塢動畫與中國動畫對比
        流行色(2019年7期)2019-09-27 09:33:28
        動畫批評融入動畫教育的思考
        新聞傳播(2018年3期)2018-05-30 07:01:39
        暖心動畫:最好的禮物
        我是動畫迷
        學生天地(2016年9期)2016-05-17 05:45:06
        人人妻人人添人人爽欧美一区 | 区一区二区三区四视频在线观看| 波多野结衣av一区二区全免费观看| 成 人 免费 黄 色 视频| 国产精品vⅰdeoxxxx国产| 无码人妻精品一区二区三18禁| 无码人妻丝袜在线视频| 视频一区中文字幕亚洲| 华人在线视频精品在线| 美女网站免费福利视频| japanesehd中国产在线看| 亚洲国产香蕉视频欧美| 国产成人精品一区二免费网站| 国产一区二三区中文字幕| 欧美国产激情18| 国产成人av性色在线影院色戒| 色爱无码A V 综合区| 国产麻豆极品高清另类| 亚洲中文字幕无码爆乳app| 毛茸茸的中国女bbw| 99久久精品国产片| 亚洲女厕偷拍一区二区| 久久久久久无码av成人影院| 亚洲人成电影在线无码| 日本道免费一区日韩精品| 蜜桃尤物在线视频免费看| 欧美人与物videos另类| 国产精品原创巨作AV女教师| 久久久亚洲精品一区二区| 邻居美少妇张开腿让我爽了一夜| 日本黄网站三级三级三级| 韩国三级中文字幕hd久久精品| 亚洲色偷偷偷综合网另类小说| 91精品国自产拍老熟女露脸| 欧美性色黄大片手机版| 国产成人AV无码精品无毒| 日本一区二区高清视频| 国产免费一区二区三区精品视频| 蜜臀av性久久久久蜜臀aⅴ| 亚洲日韩中文字幕在线播放| 亚洲一区二区三区四区精品|