《電子技術(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亚洲国产精品_日韩亚洲一区二区
日韩小视频在线观看专区| 国产精品久久久久久久久| 亚洲综合欧美| 国产精品一二三| 欧美一区国产一区| 欧美在线观看视频在线| 国内精品写真在线观看| 免费成人毛片| 日韩视频免费大全中文字幕| 亚洲精品欧美精品| 国产精品分类| 久久精品国产99精品国产亚洲性色 | 国产在线精品自拍| 老色批av在线精品| 在线视频欧美一区| 欧美亚洲日本国产| 亚洲电影毛片| 欧美三区视频| 久久精品国产清自在天天线| 亚洲美女一区| 亚洲欧美综合国产精品一区| 一区在线播放视频| 欧美性大战xxxxx久久久| 久久久精品tv| 一区二区三区精品视频| 欧美中文日韩| 在线亚洲欧美| 影音先锋日韩有码| 国产精品伦一区| 蜜臀av国产精品久久久久| 亚洲综合好骚| 亚洲精品久久久蜜桃| 亚洲欧美中文字幕| 亚洲日本国产| 黄色免费成人| 国产精品免费观看视频| 欧美激情一区二区| 久久九九久精品国产免费直播| 在线中文字幕一区| 亚洲国产成人在线| 亚洲尤物精选| 9色精品在线| 亚洲电影免费观看高清完整版| 国产精品久久久久9999高清| 欧美承认网站| 久久久亚洲高清| 亚洲欧美日韩成人| 99国产精品视频免费观看一公开| 欧美一级在线视频| 中文在线资源观看网站视频免费不卡| 黑人巨大精品欧美一区二区小视频 | 红桃视频成人| 国产精品久久久爽爽爽麻豆色哟哟| 男女av一区三区二区色多| 免费看av成人| 久久男女视频| 午夜影院日韩| 亚洲免费观看| 亚洲高清影视| 午夜精品久久久久| 亚洲视屏在线播放| 最新日韩在线视频| 在线观看的日韩av| 国产伦精品一区二区三区免费 | 久久久久国产精品午夜一区| 亚洲免费在线| 一本一本久久a久久精品综合妖精| 亚洲国产精品黑人久久久| 亚洲欧美一区二区三区极速播放| 日韩一区二区精品葵司在线| 亚洲欧洲精品一区二区三区| 在线欧美三区| 亚洲国产日韩欧美一区二区三区| 激情久久影院| 经典三级久久| 国产一区二区中文字幕免费看| 国产精品久久久久久妇女6080| 欧美精品情趣视频| 欧美激情一区二区久久久| 欧美成人有码| 欧美黄免费看| 欧美精品在线播放| 欧美精品在线一区| 欧美精品一区二区三区四区| 欧美激情综合| 欧美日韩国内| 国产精品v日韩精品| 国产精品久久久久久久一区探花 | 亚洲色在线视频| 亚洲午夜电影在线观看| 亚洲无毛电影| 亚洲欧美日韩第一区| 亚洲欧美精品suv| 午夜精品久久久久久久男人的天堂| 午夜一区二区三区在线观看| 久久疯狂做爰流白浆xx| 久久久天天操| 欧美极品aⅴ影院| 国产精品v一区二区三区| 国产精品一区二区你懂得 | 性做久久久久久| 欧美肥婆在线| 欧美日韩 国产精品| 欧美午夜剧场| 国产伦精品一区| 韩国三级电影久久久久久| 伊人狠狠色丁香综合尤物| 亚洲欧洲在线播放| 中文欧美字幕免费| 性感少妇一区| 亚洲精品一区二区三区福利| 洋洋av久久久久久久一区| 亚洲影院色在线观看免费| 午夜精品久久久| 久久久久久夜| 欧美激情一区二区| 国产精品理论片在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 91久久久久久久久| 国产精品99久久久久久久vr| 性欧美8khd高清极品| 亚洲精品视频在线观看网站 | 久久免费国产| 欧美日本成人| 国产美女一区| 亚洲国产一区二区精品专区| 亚洲天堂视频在线观看| 久久精品观看| 亚洲午夜国产一区99re久久 | 久久精品一区二区三区中文字幕 | 91久久精品国产91性色tv| 亚洲一区免费| 亚洲青涩在线| 香蕉乱码成人久久天堂爱免费| 久久亚洲视频| 国产精品v欧美精品v日韩精品| 国语自产精品视频在线看| 日韩写真在线| 亚洲福利视频二区| 亚洲免费视频中文字幕| 欧美成人精品h版在线观看| 国产精品美女久久久久久久| 在线欧美视频| 亚洲在线一区二区三区| 亚洲另类春色国产| 久久激情网站| 国产精品v欧美精品v日本精品动漫| 精品91免费| 亚洲免费视频在线观看| 亚洲精品精选| 欧美在线播放一区| 欧美日韩一区二区三区在线| 伊大人香蕉综合8在线视| 一本色道久久88精品综合| 欧美日韩一区二区欧美激情| 韩国精品在线观看| 在线一区欧美| 亚洲伦理在线免费看| 久久性天堂网| 国产精品美女在线| 亚洲精品男同| 亚洲福利小视频| 欧美一区二区高清在线观看| 欧美日韩精品一区二区| 一区二区视频欧美| 欧美在线视频一区二区三区| 亚洲欧美日韩一区在线观看| 欧美理论大片| 亚洲第一在线| 久久av一区二区| 午夜国产不卡在线观看视频| 欧美日韩伦理在线| 亚洲国产精品视频一区| 久久成人免费日本黄色| 午夜视频精品| 国产精品国产三级国产aⅴ入口| 亚洲青色在线| 亚洲精品免费网站| 麻豆精品视频在线| 一区二区视频欧美| 久久精品夜色噜噜亚洲a∨ | 一本大道久久精品懂色aⅴ| 久久中文在线| 国内视频一区| 欧美一区二区三区在线看| 亚洲欧美日韩另类精品一区二区三区| 欧美高清视频www夜色资源网| 伊人成人开心激情综合网| 亚洲电影天堂av| 久久综合九色99| 激情久久久久| 久久精品国产精品| 欧美一区=区| 国产日韩精品在线播放| 亚洲免费在线观看视频| 欧美一区二区三区在| 国产视频一区在线观看| 性做久久久久久久免费看| 久久国产精品色婷婷| 国内精品一区二区三区|