《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Windows Phone 7的體感健身系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于Windows Phone 7的體感健身系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
電子技術(shù)應(yīng)用2012年第1期
韓德強(qiáng),劉立哲,顧春雷
北京工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,北京100124
摘要: 體域網(wǎng)包含一系列傳感器節(jié)點(diǎn),通過短距離通信技術(shù)實(shí)現(xiàn)與外界的通信,提供醫(yī)療保健、消費(fèi)電子、個(gè)人娛樂等多項(xiàng)服務(wù)。論述了一個(gè)結(jié)合體域網(wǎng),利用微軟公司推出的XNA技術(shù)和.NET框架,在Windows Phone 7環(huán)境下設(shè)計(jì)實(shí)現(xiàn)的體感健身系統(tǒng)。
關(guān)鍵詞: 體域網(wǎng) WindowsPhone7 XNA
中圖分類號(hào): TP391.8
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)01-0014-03
Research on data-processing and conversion of complex mask layout image
Zhao Min1, Tang Yueke2, Chen Baoqin2, Li Jinru2, Hu Yong2
1. School of Information and Technology in Zhanjiang Normal University, Zhanjiang 524048, China; 2. Key Laboratory of Nano-Fabrication and Novel Devices Integrated Technology, Institute of Microelectronics, Chinese Academy of Science, Beijing 100029, China
Abstract: Algorithm of digital image processing is introduced to data-processing and conversion of mask layout system. A software module has been developed to achieve bmp file input, gray-scale quantification, contrast stretching, edge detection, polygon approximation and GDSII file output. Experiment results show that this system can successfully converse complex bmp image to GDSII file.
Key words : image processing; data conversion; mask layout; bmp file; GDSII file

    隨著人們生活節(jié)奏的加快,很多人難以做到經(jīng)常進(jìn)行體育鍛煉。近幾年對(duì)該問題提出了多種解決方案,其中運(yùn)用體域網(wǎng)(Body Area Network)技術(shù)實(shí)現(xiàn)的健身方案逐漸受到市場(chǎng)的青睞。

    體域網(wǎng)通過連接多個(gè)傳感器節(jié)點(diǎn),實(shí)現(xiàn)人體周邊、體表以及體內(nèi)范圍的通信,支持醫(yī)療保健、個(gè)人娛樂等功能。它把人體變成通信網(wǎng)絡(luò)的一部分,從而真正實(shí)現(xiàn)了網(wǎng)絡(luò)的泛在化,具有廣泛的應(yīng)用前景和巨大的市場(chǎng)潛力。
    該系統(tǒng)使用ZigBee技術(shù)組成體域網(wǎng),并將采集到的人體運(yùn)動(dòng)信息以無線的方式發(fā)送到Windows Phone 7系統(tǒng)上。運(yùn)用XNA技術(shù)和.NET 框架,在系統(tǒng)上模擬實(shí)現(xiàn)110 m跨欄競(jìng)賽流程的3D游戲。用戶可通過屏幕看到模擬的運(yùn)動(dòng)畫面,增加鍛煉的趣味性,提高人們對(duì)運(yùn)動(dòng)的熱情。系統(tǒng)具有體積小巧、方便易用的特點(diǎn),適合在相對(duì)較小的空間使用。
1 系統(tǒng)總體架構(gòu)設(shè)計(jì)
    體感健身系統(tǒng)首先通過高靈敏的角度傳感器和心率傳感器實(shí)時(shí)采集運(yùn)動(dòng)者腿部擺動(dòng)角度以及心率變化信息,然后利用ZigBee模塊組成體域網(wǎng),再傳輸?shù)狡脚_(tái)中。系統(tǒng)對(duì)收到的信息進(jìn)行處理,實(shí)時(shí)模擬出一個(gè)3D跨欄的游戲。系統(tǒng)結(jié)構(gòu)圖如圖1所示。

    Windows Phone 7是微軟公司于2010年10月發(fā)布的全新智能手機(jī)操作系統(tǒng)。它并不是之前Windows Mobile操作系統(tǒng)的升級(jí)或是繼承,而是一個(gè)全新的操作系統(tǒng),它基于Windows Embedded Compact 7新內(nèi)核編寫系統(tǒng),完全脫離了Mobile 6的技術(shù)架構(gòu)。簡(jiǎn)潔華麗的metro界面,宣告了它不同以往的風(fēng)格;采用全新的Push Notification技術(shù)方便了手機(jī)終端與服務(wù)器的數(shù)據(jù)同步[1]。
    為方便開發(fā),Windows Phone 7提供了模擬器(Emulator),Emulator可以運(yùn)行在Windows 7操作系統(tǒng)下,并且在調(diào)試和運(yùn)行程序時(shí),不需要將游戲部署到真正的設(shè)備中[2]。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 ZigBee數(shù)據(jù)采集模塊

    ZigBee數(shù)據(jù)采集模塊是硬件平臺(tái)的關(guān)鍵部分,該部分首先利用ZigBee技術(shù)組成體域網(wǎng),然后采集用戶橈動(dòng)脈處的脈搏信號(hào)和腿部的擺動(dòng)角度信號(hào),處理后再以無線的方式將數(shù)據(jù)傳輸?shù)较到y(tǒng)接收模塊上。為了擴(kuò)大系統(tǒng)的應(yīng)用范圍,將來也可考慮用藍(lán)牙設(shè)備作為無線傳輸工具。體感傳感器模塊硬件框圖如圖2所示。

2.2 數(shù)據(jù)接收模塊
    系統(tǒng)接收端使用CC2531內(nèi)置的USB將從ZigBee模塊接收到的數(shù)據(jù)傳到手機(jī)終端上。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 開發(fā)環(huán)境

    系統(tǒng)軟件部分使用Visual Studio 2010開發(fā),與舊的Visual Studio 版本相比,最新版本的Visual Studio 在性能上有很大提升,方便程序員高效地編寫高質(zhì)量的代碼。而且微軟公司提供的Windows Phone 7開發(fā)包都是基于Visual Studio 2010的,因此本設(shè)計(jì)選擇Visual Studio 2010作為軟件開發(fā)平臺(tái)。
    Windows Phone 7提供了兩種不同的開發(fā)平臺(tái):Silverlight for Windows Phone和XNA 4.0 Game Studio。Silverlight是為開發(fā)Windows Phone7準(zhǔn)備的。XNA 4.0 Game Studio是為開發(fā)游戲準(zhǔn)備的。
    XNA是微軟公司推出的通用軟件開發(fā)平臺(tái),建立在C#的基礎(chǔ)上方便游戲開發(fā)的一組工具集,目的是讓游戲開發(fā)過程更加輕松簡(jiǎn)單并富有樂趣。XNA 4.0比起之前的嵌入式版本XNA 3.1而言進(jìn)步非常明顯,能夠支持3D游戲,而且還封裝了Open GLES 2.0的接口[3]。
    為了支持XNA的開發(fā),開發(fā)環(huán)境還需要安裝.NET Framework 4或.NET Framework 4的 Runtime動(dòng)態(tài)連接庫,否則XNA工程將無法正常編譯。開發(fā)環(huán)境層次圖如圖3所示。

3.2 系統(tǒng)軟件實(shí)現(xiàn)
    3D游戲主要設(shè)計(jì)實(shí)現(xiàn)模擬110 m跨欄競(jìng)賽的流程。圖4展示了游戲全部模塊的關(guān)系結(jié)構(gòu)。對(duì)于軟件開發(fā)人員而言,主要實(shí)現(xiàn)的是導(dǎo)入模型、渲染場(chǎng)景、輸入處理、音效處理及運(yùn)行時(shí)機(jī)制等功能。下面結(jié)合本系統(tǒng)的特點(diǎn)分別對(duì)上述幾個(gè)模塊給出處理方法。

 

 

3.2.1 模型導(dǎo)入
    模型的導(dǎo)入需要XNA的內(nèi)容管道(pipeline)來支持。XNA自帶了兩類3D模型的導(dǎo)入處理器,可以分別處理
.FBX文件和.x文件。其中,.x文件在DirectX 3D編程中應(yīng)用得比較廣泛。系統(tǒng)軟件使用MAYA制作三維動(dòng)畫文件,通過插件導(dǎo)出為DirectX(.X)文件,經(jīng)過pipeline導(dǎo)入器處理后,所有不同類型的內(nèi)容文件都被轉(zhuǎn)換成XNA框架的內(nèi)部格式。在游戲生成階段,編譯器直接將這些文件封裝到游戲的內(nèi)容管理模塊(Content Manager)中。
    Content Manager是由XNA框架Runtime引擎驅(qū)動(dòng)的,具有良好的封裝,在形式上對(duì)程序員是透明的。使用模型文件的時(shí)候,調(diào)用Content Manager的Load<T>方法即可實(shí)現(xiàn)對(duì)模型的導(dǎo)入。具體實(shí)現(xiàn)代碼為:
    public Model dc_model = null;
    再在LoadContent()函數(shù)中對(duì)模型變量賦值,用Load方法導(dǎo)入模型。具體實(shí)現(xiàn)代碼如下:
    dc_model
    =Game.Content.Load<Model>(@"Models\"+"fuwa");
    fb_model_batch
    = new ModelBatch(Game.GraphicsDevice);
    其中,模型文件的存儲(chǔ)位置以相對(duì)路徑的形式導(dǎo)入,有效避免了系統(tǒng)安裝在別的目錄后找不到模型文件的錯(cuò)誤。模型導(dǎo)入效果如圖5所示。

3.2.2 場(chǎng)景渲染
    場(chǎng)景渲染是將已導(dǎo)入到緩沖區(qū)的模型及紋理繪制在顯示屏上。雖然涉及到大量的繪制操作,但利用XNA提供的繪制精靈(SpriteBetch),可以輕松地完成這一工作。在計(jì)算機(jī)圖形學(xué)術(shù)語中,精靈被定義為一張集成在大場(chǎng)景中的二維或者三維圖像。屏幕顯示管理模塊就是通過繪制場(chǎng)景中的多種精靈來完成的。XNA框架提供的精靈也可以用來進(jìn)行二維圖像繪制,本系統(tǒng)中所有屏幕顯示文本都是由精靈繪制的。
    除此之外,開發(fā)者還需要關(guān)心世界變換矩陣、攝像機(jī)變換矩陣和投影變換矩陣的設(shè)置。世界變換矩陣是指將模型坐標(biāo)系變換為三維世界坐標(biāo)系的矩陣[4]。具體實(shí)現(xiàn)代碼為:
    final_world_transforms = Matrix.Identity
    *Matrix.CreateFromYawPitchRoll(dc_rotation.Y, dc_rotation.X, dc_rotation.Z)
    * origional_world_transforms
    * Matrix.CreateTranslation(dc_position);
    攝像機(jī)矩陣是以攝像機(jī)所在坐標(biāo)為原點(diǎn),以攝像機(jī)要觀察的方向?yàn)榛鶞?zhǔn),創(chuàng)建一個(gè)新的攝像機(jī)坐標(biāo)系,將世界坐標(biāo)系變換為攝像機(jī)坐標(biāo)系[4]。XNA提供了一個(gè)CreateLookAt的方法,它返回一個(gè)矩陣。這個(gè)矩陣存儲(chǔ)了從三維圖形轉(zhuǎn)換為平面圖形需要做的方向和位置變換。具體實(shí)現(xiàn)代碼為:
    //Make the camera follow the object
      cmr_position = object_to_follow + cmr_drag;
      cmr_target = object_to_follow;
    //Create the view matrix
      cmr_view
      =Matrix.CreateLookAt(cmr_position,
      cmr_target, Vector3.Forward);
    投影變換矩陣,是指將三維坐標(biāo)系變?yōu)槎S坐標(biāo)系的變換矩陣。其功能是將三維物體進(jìn)行轉(zhuǎn)換,以便在二維屏幕上輸出。這里用到的投影變換是投射投影法。用此投影法可以表現(xiàn)物體距離的遠(yuǎn)近。具體實(shí)現(xiàn)代碼如下:
    //Create the projection matrix
    cmr_projection
    =Matrix.CreatePerspectiveFieldOfView
    (MathHelper.ToRadians(cmr_camera_fov),
    graphics_device_in_cmr.Viewport.AspectRatio, 1, 10000);
    AspectRatio為程序窗口的長(zhǎng)寬比,1為最近可視距離, 10 000為最遠(yuǎn)可視距離。
3.2.3 音效處理
    聲音管理器(AudioManager)繼承自GameComponent,負(fù)責(zé)管理游戲需要使用的聲音。XNA框架提供了能夠處理聲音的SoundEffectInstance類型,類型中除了包含聲音播放的相關(guān)方法,還封裝了聲音效果渲染方法[5]。聲音管理模塊還設(shè)計(jì)了一個(gè)字典(泛型Dictionary)用于存放所有的音效。泛型在排序和搜索方面比普通數(shù)據(jù)類型要好得多。加載聲音、播放聲音、停止聲音和暫停聲音都是調(diào)用SoundEffectInstance類型中封裝的對(duì)應(yīng)方法,將聲音名稱傳入之后,在聲音字典里查找,如果存在,則進(jìn)行相應(yīng)操作。
3.2.4 輸入處理
    本系統(tǒng)是為Windows Phone 7設(shè)備開發(fā)的體感游戲,用戶在游戲過程中,需要進(jìn)行跑和跳的動(dòng)作來完成游戲。系統(tǒng)所讀取到的輸入信號(hào)就是傳感器在垂直空間的位置變化。輸入處理的流程是,首先使用C#接口函數(shù)讀取USB輸入的數(shù)據(jù),然后初始化一個(gè)三維向量(Vector3)的臨時(shí)變量statevalue,再初始化一個(gè)布爾變量isjump表示是否有跳躍動(dòng)作,之后對(duì)變化后的statevalue進(jìn)行向量的單位化操作,最后根據(jù)兩個(gè)變量的值確定模型的動(dòng)作。
    游戲使用事件輪詢驅(qū)動(dòng),不論當(dāng)前是否有輸入操作,都對(duì)輸入模塊進(jìn)行訪問。這與傳統(tǒng)的應(yīng)用程序開發(fā)的事件注冊(cè)驅(qū)動(dòng)是不同的。采用事件注冊(cè)驅(qū)動(dòng)的程序,用戶輸入后系統(tǒng)對(duì)其進(jìn)行捕捉,喚醒事件處理程序,即在輸入信號(hào)產(chǎn)生之前程序不會(huì)做任何事。相比之下,XNA框架游戲程序由事件輪詢驅(qū)動(dòng),游戲程序會(huì)主動(dòng)詢問系統(tǒng)是否有用戶輸入發(fā)生,不論有沒有用戶輸入,程序都會(huì)一直運(yùn)行。
3.2.5 游戲運(yùn)行時(shí)機(jī)制
    本質(zhì)上,游戲運(yùn)行是由循環(huán)的一系列操作組成,這些操作被反復(fù)使用直到游戲結(jié)束。但游戲循環(huán)只包含繪制和更新兩個(gè)方法,所有影響游戲的邏輯都將在這些方法中完成。繪制時(shí)需要與系統(tǒng)進(jìn)行大量的數(shù)據(jù)交互,尤其繪制圖像時(shí)更將耗費(fèi)大量系統(tǒng)空間。為減少繪制方法的負(fù)擔(dān),提高系統(tǒng)性能,游戲?qū)⑦\(yùn)行需要的所有操作(碰撞檢測(cè)、更新分?jǐn)?shù)、游戲結(jié)束檢測(cè)等等)都放到更新方法中實(shí)現(xiàn)。
    在實(shí)現(xiàn)繪制方法的過程中,用到了XNA的深度緩沖(depth buffer)和模板緩沖(stencil buffer)等特性。深度緩沖和模板緩沖是XNA框架中圖形設(shè)備的屬性??紤]到游戲運(yùn)行時(shí)圖形設(shè)備需要繪制的場(chǎng)景較大,內(nèi)容較多,并且還包括完成渲染模型的動(dòng)畫效果等工作,因此,開啟緩沖功能有助于提高圖形設(shè)備性能。繪制方法流程圖如圖6所示。

    本文詳細(xì)介紹了體感健身系統(tǒng)開發(fā)的過程和方法,對(duì)XNA開發(fā)3D游戲過程中重要的函數(shù)給出了使用說明。系統(tǒng)可以幫助那些運(yùn)動(dòng)場(chǎng)地受限制或者行動(dòng)不便的
人提高運(yùn)動(dòng)樂趣,具有比較廣泛的應(yīng)用范圍。
參考文獻(xiàn)
[1] 韓續(xù).Windows Phone 7平臺(tái)下電子健康軟件的設(shè)計(jì)與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2008.
[2] PETZOLD C.Programming Windows Phone 7[M].Redmond:Microsoft Press,2010.
[3] SHERROD A. DirectX游戲開發(fā)終極指南[M].北京:北京交通大學(xué),2011.
[4] 張景仁,蔡發(fā)奎.基于XNA的機(jī)場(chǎng)火災(zāi)消防模擬設(shè)計(jì)[J].武警學(xué)院學(xué)報(bào),2007(12):31-34.
[5] Araon Reed. Learning XNA 4.0.O&prime;reilly media[Z].2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久本道综合色狠狠五月| 欧美久久久久久| 一区二区三区四区五区精品视频| 久久岛国电影| 欧美在线观看一区| 欧美亚洲一区二区在线| 亚洲在线国产日韩欧美| 亚洲特级毛片| 亚洲午夜精品一区二区| 亚洲一区二区免费视频| 亚洲色诱最新| 亚洲影院在线| 午夜精品在线看| 欧美一级片久久久久久久| 欧美在线视频在线播放完整版免费观看 | 中文亚洲视频在线| 亚洲午夜精品久久久久久app| 亚洲香蕉伊综合在人在线视看| 亚洲午夜精品网| 性欧美激情精品| 久久精品亚洲一区二区| 亚洲精品一区二区三区福利| av成人激情| 午夜精品久久久久久久久久久久| 欧美在线视频一区二区三区| 久久久欧美精品| 欧美成人情趣视频| 欧美午夜宅男影院在线观看| 国产精品午夜春色av| 国产一区二区三区久久| 亚洲国产欧美国产综合一区| 99国产精品久久| 午夜亚洲精品| 最新成人av网站| 亚洲欧美日韩在线综合| 久久久午夜电影| 欧美日韩国产美女| 国产欧美婷婷中文| 亚洲国产精品综合| 亚洲调教视频在线观看| 亚洲成色最大综合在线| 在线一区二区视频| 久久精品夜色噜噜亚洲aⅴ| 欧美激情一区二区三区 | 亚洲精品日韩一| 亚洲欧美清纯在线制服| 亚洲国产欧美一区| 亚洲一区二区三区中文字幕 | 老牛国产精品一区的观看方式| 欧美日本韩国| 国产欧美日韩91| 亚洲国产一区视频| 亚洲免费影院| 亚洲精品护士| 欧美一区二区三区另类| 欧美风情在线| 国产色综合天天综合网| 亚洲美女少妇无套啪啪呻吟| 久久国产视频网| 亚洲午夜91| 六十路精品视频| 国产精品久久久久久影视| 尤物yw午夜国产精品视频明星| 在线亚洲免费视频| 最新日韩在线| 欧美一区三区二区在线观看| 欧美美女日韩| 娇妻被交换粗又大又硬视频欧美| 宅男66日本亚洲欧美视频| 亚洲国产成人av| 欧美一区二区黄色| 欧美日韩国产小视频在线观看| 国产亚洲精品久久飘花| 日韩一级网站| 亚洲理论在线| 久久人人爽人人爽| 国产精品色婷婷| 亚洲精品中文字幕女同| 亚洲国产精品va在线看黑人动漫| 亚洲欧美国产77777| 欧美美女bbbb| 亚洲国产成人av在线| 欧美亚洲日本一区| 亚洲一区视频在线| 欧美精品在线免费播放| 好吊妞**欧美| 午夜在线视频观看日韩17c| 亚洲视频网站在线观看| 欧美激情一区二区三区不卡| 一区在线影院| 久久国产精品一区二区三区| 欧美一区二区精美| 国产精品免费看片| 99re6这里只有精品视频在线观看| 亚洲黄色成人网| 久久在线免费观看| 国产一区在线看| 西西裸体人体做爰大胆久久久| 亚洲一区二区高清视频| 欧美日韩国产精品专区| 亚洲人体1000| 99国产精品久久久久久久久久| 免费久久精品视频| 伊人成人网在线看| 亚洲国产日韩欧美| 久久综合九色九九| 黄色在线成人| 亚洲二区免费| 另类成人小视频在线| 激情久久婷婷| 亚洲国产精品视频一区| 麻豆精品精品国产自在97香蕉| 一区二区在线免费观看| 亚洲国产欧美日韩另类综合| 美国成人毛片| 亚洲国产老妈| 一区二区三区免费看| 欧美日韩大片| 一区二区三区国产盗摄| 亚洲欧美成aⅴ人在线观看| 国产精品婷婷| 欧美在线播放| 麻豆精品一区二区综合av| 在线视频观看日韩| 亚洲精品在线免费| 欧美日韩在线一区二区| 亚洲午夜精品久久| 久久aⅴ国产紧身牛仔裤| 国产一区二区在线观看免费播放| 欧美在线你懂的| 欧美成人高清视频| 日韩网站在线| 亚洲欧美在线x视频| 国产午夜精品视频| 亚洲电影一级黄| 欧美日韩高清在线| 亚洲一区成人| 久久久午夜精品| 亚洲国产日韩综合一区| 亚洲视频免费观看| 国产欧美日韩在线视频| 亚洲第一天堂av| 欧美精品一区在线| 亚洲视频狠狠| 久久久99免费视频| 亚洲国产美女精品久久久久∴| 中文av字幕一区| 国产精品一区二区久久精品| 久久精品2019中文字幕| 欧美黄色日本| 一本色道久久加勒比88综合| 午夜在线电影亚洲一区| 国产一区二区激情| 亚洲狼人综合| 国产精品综合网站| 亚洲第一精品影视| 欧美日韩国产综合新一区| 亚洲欧美久久久久一区二区三区| 玖玖在线精品| 一区二区欧美激情| 久久女同精品一区二区| 亚洲美女在线视频| 久久本道综合色狠狠五月| 亚洲国产另类久久久精品极度| 亚洲午夜免费视频| 国产亚洲永久域名| 亚洲精品国产精品国自产观看浪潮 | 亚洲精品国精品久久99热一| 一区二区三区精品久久久| 国产亚洲欧美另类中文| 日韩午夜av在线| 国产欧美精品xxxx另类| 亚洲精品国产拍免费91在线| 国产精品日韩欧美综合 | 在线视频欧美日韩| 国产综合香蕉五月婷在线| 一区二区三区www| 国语自产偷拍精品视频偷| 亚洲天堂免费观看| 精久久久久久久久久久| 亚洲永久免费精品| 黄色亚洲网站| 欧美一区二区三区在线| 91久久国产综合久久蜜月精品| 久久精品99久久香蕉国产色戒| 日韩亚洲在线| 欧美a级片一区| 欧美一级视频| 欧美午夜免费| 亚洲人在线视频| 国产一区二区精品久久99| 亚洲午夜黄色| 亚洲人成精品久久久久| 久久久97精品| 亚洲欧美成人网| 欧美视频在线免费看| 亚洲人成艺术| 狠狠色伊人亚洲综合成人| 性做久久久久久久久| 一本不卡影院|