專利名稱:模擬手柄運(yùn)動(dòng)的方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及擬真運(yùn)動(dòng)技術(shù)領(lǐng)域,更具體地,涉及一種模擬手柄運(yùn)動(dòng)的方法與系統(tǒng)。
背景技術(shù):
目前可以通過下述技術(shù)獲得物體的運(yùn)動(dòng)趨勢(shì) (1)運(yùn)動(dòng)捕獲技術(shù)該技術(shù)通過傳感器跟蹤設(shè)備直接記錄運(yùn)動(dòng)實(shí)體的運(yùn)動(dòng)數(shù)據(jù),并將該運(yùn)動(dòng)數(shù)據(jù)用于生成計(jì)算機(jī)動(dòng)畫。捕獲的運(yùn)動(dòng)數(shù)據(jù)記錄了實(shí)體在運(yùn)動(dòng)中豐富的細(xì)節(jié),通過它生成的虛擬動(dòng)畫具有很強(qiáng)的真實(shí)感和較強(qiáng)的實(shí)時(shí)性。利用運(yùn)動(dòng)數(shù)據(jù)來驅(qū)動(dòng)虛擬運(yùn)動(dòng)已經(jīng)成為常用的虛擬動(dòng)畫技術(shù)。
(2)運(yùn)動(dòng)感知技術(shù)運(yùn)動(dòng)感知的實(shí)現(xiàn)大體上有視頻運(yùn)動(dòng)捕獲、磁場(chǎng)運(yùn)動(dòng)捕獲、光電運(yùn)動(dòng)捕獲等。磁場(chǎng)運(yùn)動(dòng)捕獲和光電運(yùn)動(dòng)捕獲主要是結(jié)合磁場(chǎng)和光電信號(hào)的感應(yīng)原理,并通過高端精密硬件設(shè)備來實(shí)現(xiàn),而視頻運(yùn)動(dòng)捕獲是采用圖像處理的方法來實(shí)時(shí)捕捉圖像每一幀的動(dòng)作。由于該類技術(shù)為了追求全方位的感知,因此需要很多的輔助設(shè)備,對(duì)于諸如家庭娛樂等無(wú)需達(dá)到全方位動(dòng)作感應(yīng)的應(yīng)用來說成本過高。
(3)藍(lán)牙虛擬實(shí)景游戲控制技術(shù)該技術(shù)通過游戲手柄的傳感器來采集人體運(yùn)動(dòng)的模擬信號(hào),再將輸入的模擬信號(hào)轉(zhuǎn)化為人體運(yùn)動(dòng)的數(shù)字信號(hào),同時(shí)利用數(shù)字信號(hào)電路進(jìn)行采樣分析,將分析后的數(shù)據(jù)發(fā)送到藍(lán)牙協(xié)議棧中進(jìn)行處理,主機(jī)通過點(diǎn)對(duì)點(diǎn)藍(lán)牙協(xié)議傳輸?shù)臄?shù)據(jù)對(duì)虛擬場(chǎng)景中的人物進(jìn)行控制。該技術(shù)需要很多復(fù)雜的數(shù)字電路進(jìn)行信號(hào)處理,在真實(shí)體驗(yàn)中可能會(huì)有時(shí)延產(chǎn)生,達(dá)不到實(shí)時(shí)的效果。
從以上技術(shù)可以看出,運(yùn)動(dòng)捕獲技術(shù)需要專業(yè)的傳感器來對(duì)運(yùn)動(dòng)的行為進(jìn)行捕獲,需要比較詳細(xì)的數(shù)據(jù)對(duì)虛擬人進(jìn)行重構(gòu)建模,因此該技術(shù)感知運(yùn)動(dòng)的效果最理想,但是其硬件和軟件處理都比較復(fù)雜;運(yùn)動(dòng)感知技術(shù)是當(dāng)前比較新興的技術(shù)之一,基本上是結(jié)合磁場(chǎng)和光電信號(hào)的感應(yīng)原理來進(jìn)行處理,還沒有對(duì)應(yīng)的商用產(chǎn)品??偟膩碚f,以上這些技術(shù)的配套設(shè)備都十分復(fù)雜、成本比較昂貴而且對(duì)于操作的要求也很高,所以還不能真正地應(yīng)用到某些擬真運(yùn)動(dòng)應(yīng)用(例如,3D游戲)中。
發(fā)明內(nèi)容
本發(fā)明要解決的一個(gè)技術(shù)問題是提供一種模擬手柄運(yùn)動(dòng)的方法,能夠在較低復(fù)雜度和成本的情況下具有很強(qiáng)的真實(shí)感和實(shí)時(shí)性。
本發(fā)明提供了一種模擬手柄運(yùn)動(dòng)的方法,包括接收測(cè)量出的手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i),其中,這三個(gè)方向?yàn)閤軸方向、y軸方向和z軸方向;根據(jù)噪音干擾門限值NT判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾;在確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)不為噪音干擾的情況下,根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i);根據(jù)夾角α(i)、β(i)和γ(i)模擬手柄的運(yùn)動(dòng)。
根據(jù)本發(fā)明方法的一個(gè)實(shí)施例,根據(jù)噪音干擾門限值NT判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾的步驟包括判斷加速度值x(i)與加速度值x(i-1)之間的差值是否小于噪音干擾門限值NT;如果加速度值x(i)與加速度值x(i-1)之間的差值小于噪音干擾門限值NT,則判斷加速度值y(i)與加速度值y(i-1)之間的差值是否小于噪音干擾門限值NT,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾;如果加速度值y(i)與加速度值y(i-1)之間的差值小于噪音干擾門限值NT,則判斷加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值是否小于噪音干擾門限值NT,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾;如果加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值小于噪音干擾門限值NT,則確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)為噪音干擾,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾。
根據(jù)本發(fā)明方法的另一實(shí)施例,噪音干擾門限值NT介于1與5之間。
根據(jù)本發(fā)明方法的又一實(shí)施例,根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i)的步驟包括根據(jù)
計(jì)算x軸與yz平面的夾角α(i),其中,加速度值x(0)為x軸的加速度與yz平面的夾角為0度時(shí)的加速度值,x(m)為x軸的加速度與yz平面的夾角為90度時(shí)的加速度值,x(i)為x軸的加速度與yz平面的夾角為α(i)時(shí)的加速度值;根據(jù)
計(jì)算y軸與xz平面的夾角β(i),其中,加速度值y(0)為y軸的加速度與xz平面的夾角為0度時(shí)的加速度值,y(m)為y軸的加速度與xz平面的夾角為90度時(shí)的加速度值,y(i)為y軸的加速度與xz平面的夾角為β(i)時(shí)的加速度值;根據(jù)
計(jì)算z軸與xy平面的夾角γ(i),其中,加速度值z(mì)(0)為z軸的加速度與xy平面的夾角為0度時(shí)的加速度值,z(m)為z軸的加速度與xy平面的夾角為90度時(shí)的加速度值,z(i)為z軸的加速度與xy平面的夾角為γ(i)時(shí)的加速度值。
根據(jù)本發(fā)明方法的再一實(shí)施例,在根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i)的步驟之前,該方法還包括判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為反向加速度,如果加速度值x(i)、y(i)和z(i)中的任一個(gè)為反向加速度,則丟棄加速度值x(i)、y(i)和z(i),否則,基于加速度值x(i)、y(i)和z(i)確定手柄的運(yùn)動(dòng)趨勢(shì)。
本發(fā)明提供的模擬手柄運(yùn)動(dòng)的方法,相對(duì)于傳統(tǒng)的鼠標(biāo)鍵盤操作是一個(gè)很大的挑戰(zhàn),該方法可以模擬用戶操作手柄的每一個(gè)動(dòng)作,將這些動(dòng)作反應(yīng)在諸如3D游戲的角色身上。另外,通過該方法生成的虛擬動(dòng)畫無(wú)需更多的硬件電路就可以具有很強(qiáng)的真實(shí)感和較強(qiáng)的實(shí)時(shí)性,真正擺脫了鼠標(biāo)鍵盤操作的束縛。
本發(fā)明要解決的另一技術(shù)問題是提供一種模擬手柄運(yùn)動(dòng)的系統(tǒng),能夠在較低復(fù)雜度和成本的情況下具有很強(qiáng)的真實(shí)感和實(shí)時(shí)性。
本發(fā)明還提供了一種模擬手柄運(yùn)動(dòng)的系統(tǒng),包括數(shù)據(jù)接收模塊,用于接收測(cè)量出的手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i),其中,這三個(gè)方向?yàn)閤軸方向、y軸方向和z軸方向;噪音干擾判斷模塊,用于根據(jù)噪音干擾門限值NT判斷數(shù)據(jù)接收模塊接收的三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾;運(yùn)動(dòng)方向確定模塊,用于在噪音干擾判斷模塊確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)不為噪音干擾的情況下,根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i);運(yùn)動(dòng)模擬模塊,用于根據(jù)運(yùn)動(dòng)方向確定模塊確定的夾角α(i)、β(i)和γ(i)模擬手柄的運(yùn)動(dòng)。
根據(jù)本發(fā)明系統(tǒng)的一個(gè)實(shí)施例,噪音干擾判斷模塊包括x軸判斷單元,用于判斷加速度值x(i)與加速度值x(i-1)之間的差值是否小于噪音干擾門限值NT;y軸判斷單元,用于判斷加速度值y(i)與加速度值y(i-1)之間的差值是否小于噪音干擾門限值NT;z軸判斷單元,用于判斷加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值是否小于噪音干擾門限值NT;干擾確定單元,用于如果加速度值x(i)與加速度值x(i-1)之間的差值小于噪音干擾門限值NT、加速度值y(i)與加速度值y(i-1)之間的差值小于噪音干擾門限值NT并且加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值小于噪音干擾門限值NT,則確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)為噪音干擾,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾。
根據(jù)本發(fā)明系統(tǒng)的另一實(shí)施例,噪音干擾門限值NT介于1與5之間。
根據(jù)本發(fā)明系統(tǒng)的又一實(shí)施例,運(yùn)動(dòng)方向確定模塊包括x軸夾角確定單元,用于根據(jù)
計(jì)算x軸與yz平面的夾角α(i),其中,加速度值x(0)為x軸的加速度與yz平面的夾角為0度時(shí)的加速度值,x(m)為x軸的加速度與yz平面的夾角為90度時(shí)的加速度值,x(i)為x軸的加速度與yz平面的夾角為α(i)時(shí)的加速度值;y軸夾角確定單元,用于根據(jù)
計(jì)算y軸與xz平面的夾角β(i),其中,加速度值y(0)為y軸的加速度與xz平面的夾角為0度時(shí)的加速度值,y(m)為y軸的加速度與xz平面的夾角為90度時(shí)的加速度值,y(i)為y軸的加速度與xz平面的夾角為β(i)時(shí)的加速度值;z軸夾角確定單元,用于根據(jù)
計(jì)算z軸與xy平面的夾角γ(i),其中,加速度值z(mì)(0)為z軸的加速度與xy平面的夾角為0度時(shí)的加速度值,z(m)為z軸的加速度與xy平面的夾角為90度時(shí)的加速度值,z(i)為z軸的加速度與xy平面的夾角為γ(i)時(shí)的加速度值。
根據(jù)本發(fā)明系統(tǒng)的再一實(shí)施例,該系統(tǒng)還包括手柄裝置,手柄裝置包括三軸加速度傳感器,用于測(cè)量手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i);數(shù)據(jù)發(fā)送模塊,用于向數(shù)據(jù)接收模塊發(fā)送三軸加速度傳感器測(cè)量出的三個(gè)方向上的加速度值x(i)、y(i)和z(i)。
根據(jù)本發(fā)明系統(tǒng)的再一實(shí)施例,該系統(tǒng)還包括反向加速度判斷模塊,用于判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為反向加速度,如果加速度值x(i)、y(i)和z(i)中的任一個(gè)為反向加速度,則丟棄加速度值x(i)、y(i)和z(i),否則,由運(yùn)動(dòng)方向確定模塊確定手柄的運(yùn)動(dòng)趨勢(shì)。
本發(fā)明提供的模擬手柄運(yùn)動(dòng)的系統(tǒng),相對(duì)于傳統(tǒng)的鼠標(biāo)鍵盤操作是一個(gè)很大的挑戰(zhàn),該系統(tǒng)可以模擬用戶操作手柄的每一個(gè)動(dòng)作,將這些動(dòng)作反應(yīng)在諸如3D游戲的角色身上。另外,通過該系統(tǒng)生成的虛擬動(dòng)畫無(wú)需更多的硬件電路就可以具有很強(qiáng)的真實(shí)感和較強(qiáng)的實(shí)時(shí)性,真正擺脫了鼠標(biāo)鍵盤操作的束縛。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分。在附圖中 圖1是本發(fā)明模擬手柄運(yùn)動(dòng)的方法的一個(gè)實(shí)施例的流程示意圖。
圖2是本發(fā)明模擬手柄運(yùn)動(dòng)的方法的再一實(shí)施例的流程示意圖。
圖3是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
圖4是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的另一實(shí)施例的結(jié)構(gòu)示意圖。
圖5是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的又一實(shí)施例的結(jié)構(gòu)示意圖。
圖6是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的再一實(shí)施例的結(jié)構(gòu)示意圖。
圖7是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的再一實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式 下面參照附圖對(duì)本發(fā)明進(jìn)行更全面的描述,其中說明本發(fā)明的示例性實(shí)施例。本發(fā)明的示例性實(shí)施例及其說明用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。
加速度傳感器的原理是慣性原理,多數(shù)加速度傳感器是根據(jù)壓電效應(yīng)的原理來工作的,所謂的壓電效應(yīng)是“對(duì)于不存在對(duì)稱中心的異極晶體加在晶體上的外力除了使晶體發(fā)生形變以外,還將改變晶體的極化狀態(tài),在晶體內(nèi)部建立電場(chǎng),這種由于機(jī)械力作用使介質(zhì)發(fā)生極化的現(xiàn)象稱為正壓電效應(yīng)”。一般加速度傳感器就是利用了其內(nèi)部的由于加速度造成的晶體變形的這個(gè)特性。由于這個(gè)變形會(huì)產(chǎn)生電壓,所以只要計(jì)算出產(chǎn)生電壓和所施加的加速度之間的關(guān)系,就可以將加速度轉(zhuǎn)化成電壓輸出。當(dāng)然,還可以用很多其他方法來制作加速度傳感器,例如,壓阻技術(shù)、電容效應(yīng)、熱氣泡效應(yīng)或光效應(yīng),但是其最基本的原理都是由于加速度對(duì)某個(gè)介質(zhì)產(chǎn)生變形,通過測(cè)量其變形量并用相關(guān)電路轉(zhuǎn)化成電壓輸出。
本發(fā)明利用三軸加速度傳感器芯片,通過運(yùn)動(dòng)傳感器芯片測(cè)量出的三個(gè)軸(即,x軸、y軸和z軸)的加速度值即可模擬運(yùn)動(dòng)方位的夾角和趨勢(shì),從而能夠感知常見的運(yùn)動(dòng)狀態(tài),因此,無(wú)論在成本還是對(duì)游戲的可操作性上都具有非常大的優(yōu)勢(shì)。
圖1是本發(fā)明模擬手柄運(yùn)動(dòng)的方法的一個(gè)實(shí)施例的流程示意圖。
如圖1所示,該實(shí)施例包括以下步驟 S102,接收測(cè)量出的手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i),其中,這三個(gè)方向是指x軸、y軸和z軸,例如,可以采用三軸加速度傳感器來測(cè)量手柄在三個(gè)方向上的加速度值; S104,根據(jù)噪音干擾門限值NT判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾,其中,該噪音干擾門限值NT介于1與5之間,優(yōu)選地,該噪音干擾門限值NT可以取2,例如,可以分別將x(1)與x(2)相比、將y(1)與y(2)相比、將z(1)與z(2)相比,如果這三組的差值同時(shí)小于噪音干擾門限值NT,則確定x(2)、y(2)和z(2)為噪音,否則,確認(rèn)x(2)、y(2)和z(2)不是噪音; S106,在確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)不為噪音干擾的情況下,根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i),例如,當(dāng)x軸與yz平面的夾角為0度時(shí),將x軸的加速度值計(jì)為x(0),當(dāng)x軸與yz平面的夾角為90度時(shí),將x軸的加速度值計(jì)為x(m),則當(dāng)x軸的加速度值為x(i)時(shí),x軸與yz平面的夾角α(i)可以通過
獲得,依此類推,可以獲得β(i)和γ(i); S108,根據(jù)夾角α(i)、β(i)和γ(i)模擬手柄的運(yùn)動(dòng),例如,可以結(jié)合Direct3D中的空間位置變換函數(shù)(D3DXMatrixRotationX、D3DXMatrixRotationY和D3DXMatrixRotationZ)得出角色在立體空間的旋轉(zhuǎn)動(dòng)作效果。
現(xiàn)有技術(shù)或者對(duì)運(yùn)動(dòng)的識(shí)別成本高昂,或者可識(shí)別的運(yùn)動(dòng)類型少。而該實(shí)施例彌補(bǔ)了上述現(xiàn)有技術(shù)的缺陷,不需要額外增加硬件設(shè)備就可以捕獲用戶通過手柄所施加的每一個(gè)動(dòng)作,在低成本的條件下提高了用戶的感受。另外,由于該實(shí)施例不通過數(shù)字信號(hào)處理電路來模擬手柄的運(yùn)動(dòng),所以在很大程度上提高了模擬的實(shí)時(shí)性。
在本發(fā)明模擬手柄運(yùn)動(dòng)的方法的另一實(shí)施例中,可以通過下述步驟根據(jù)噪音干擾門限值NT判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾 判斷加速度值x(i)與加速度值x(i-1)之間的差值是否小于噪音干擾門限值NT; 如果加速度值x(i)與加速度值x(i-1)之間的差值小于噪音干擾門限值NT,則判斷加速度值y(i)與加速度值y(i-1)之間的差值是否小于噪音干擾門限值NT,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾; 如果加速度值y(i)與加速度值y(i-1)之間的差值小于噪音干擾門限值NT,則判斷加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值是否小于噪音干擾門限值NT,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾; 如果加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值小于噪音干擾門限值NT,則確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)為噪音干擾,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾。
在該實(shí)施例中,噪音干擾門限值NT介于1與5之間,優(yōu)選地,該噪音干擾門限值可以是2。
在該實(shí)施例中,判斷的順序并不局限于上述方式,還可以先判斷加速度值y(i)與加速度值y(i-1)之間的差值、再判斷加速度值x(i)與加速度值x(i-1)之間的差值以及加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值與噪音干擾門限值NT之間的關(guān)系;或者先判斷加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值,再判斷加速度值y(i)與加速度值y(i-1)之間的差值以及加速度值x(i)與加速度值x(i-1)之間的差值與噪音干擾門限值NT之間的關(guān)系。
該實(shí)施例可以判斷當(dāng)前接收到的加速度值是否為噪音,如果為噪音干擾則不進(jìn)行手柄運(yùn)動(dòng)的模擬,從而可以有效地消除噪音對(duì)模擬手柄運(yùn)動(dòng)的影響。
在本發(fā)明模擬手柄運(yùn)動(dòng)的方法的又一實(shí)施例中,可以根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)通過下述步驟分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i) 根據(jù)
計(jì)算x軸與yz平面的夾角α(i),其中,加速度值x(0)為x軸的加速度與yz平面的夾角為0度時(shí)的加速度值,x(m)為x軸的加速度與yz平面的夾角為90度時(shí)的加速度值,x(i)為x軸的加速度與yz平面的夾角為α(i)時(shí)的加速度值; 根據(jù)
計(jì)算y軸與xz平面的夾角β(i),其中,加速度值y(0)為y軸的加速度與xz平面的夾角為0度時(shí)的加速度值,y(m)為y軸的加速度與xz平面的夾角為90度時(shí)的加速度值,y(i)為y軸的加速度與xz平面的夾角為β(i)時(shí)的加速度值; 根據(jù)
計(jì)算z軸與xy平面的夾角γ(i),其中,加速度值z(mì)(0)為z軸的加速度與xy平面的夾角為0度時(shí)的加速度值,z(m)為z軸的加速度與xy平面的夾角為90度時(shí)的加速度值,z(i)為z軸的加速度與xy平面的夾角為γ(i)時(shí)的加速度值。
通過該實(shí)施例可以容易地獲得手柄的運(yùn)動(dòng)趨勢(shì),從而可以實(shí)時(shí)地模擬手柄的運(yùn)動(dòng),給用戶帶來很好的感受。
在本發(fā)明模擬手柄運(yùn)動(dòng)的方法的再一實(shí)施例中,在根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i)的步驟之前,該方法還包括判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為反向加速度,如果加速度值x(i)、y(i)和z(i)中的任一個(gè)為反向加速度,則丟棄加速度值x(i)、y(i)和z(i),否則,基于加速度值x(i)、y(i)和z(i)確定手柄的運(yùn)動(dòng)趨勢(shì)。
通過該實(shí)施例可以有效地消除反向加速度對(duì)運(yùn)動(dòng)趨勢(shì)估計(jì)的影響,顯著提高了對(duì)運(yùn)動(dòng)趨勢(shì)的估計(jì)精度。
圖2是本發(fā)明模擬手柄運(yùn)動(dòng)的方法的再一實(shí)施例的流程示意圖。
游戲時(shí)玩家拿手柄做相應(yīng)的動(dòng)作,三軸加速度傳感器芯片會(huì)產(chǎn)生連續(xù)的數(shù)據(jù),可以對(duì)這些數(shù)據(jù)進(jìn)行相應(yīng)的處理和分析,解析出芯片產(chǎn)生的在三個(gè)方向上的加速度值,根據(jù)這三個(gè)方向上的加速度值確定手柄的運(yùn)動(dòng)趨勢(shì)和運(yùn)動(dòng)的傾向夾角。
如圖2所示,將詳細(xì)介紹如何判斷芯片的運(yùn)動(dòng)趨勢(shì)并模擬該運(yùn)動(dòng)趨勢(shì)的步驟 S202,接收三軸加速度傳感器測(cè)量出的x軸、y軸和z軸三個(gè)方向上的加速度值,例如,可以利用C++中COM組件的底層庫(kù)函數(shù),得到通過藍(lán)牙傳輸設(shè)備所發(fā)送的一組實(shí)時(shí)數(shù)據(jù); S204,判斷所接收的數(shù)據(jù)是否為三個(gè)方向上的加速度值; S206,如果為三個(gè)方向上的加速度值,則根據(jù)數(shù)據(jù)傳輸協(xié)議解析出x軸、y軸和z軸上的加速度值x(i)、y(i)和z(i),并根據(jù)解析出的三個(gè)方向上的數(shù)據(jù)進(jìn)行除噪處理,即,如果x軸、y軸和z軸的前后兩次的差值均小于噪聲干擾門限值(例如,2),則可以認(rèn)為是噪音干擾,不進(jìn)行手柄運(yùn)動(dòng)趨勢(shì)的估計(jì),例如,如果加速度值x(1)與x(2)相比、y(1)與y(2)相比、z(1)與z(2)相比,這三組差值同時(shí)小于噪音干擾門限值NT,則確定x(2)、y(2)和z(2)為噪音,不進(jìn)行后續(xù)的估計(jì),如果只有加速度值x(1)與x(2)相比的差值小于噪音干擾門限值NT,而其他兩個(gè)差值均大于噪音干擾門限值NT,則不認(rèn)為是噪音干擾,并繼續(xù)后續(xù)的估計(jì); S208,如果所接收的數(shù)據(jù)不是三個(gè)方向上的加速度值,則繼續(xù)從緩存中讀取數(shù)據(jù); S210,根據(jù)解析出的三個(gè)方向上的加速度值x(i)、y(i)和z(i)判斷手柄的運(yùn)動(dòng)狀態(tài)和趨勢(shì),以x軸方向的加速度為例,每次都以x(0)為基準(zhǔn),因?yàn)閤(0)是初始值,和初始值相比才能算出真正的夾角,具體的計(jì)算過程為x軸與yz平面的夾角從0到90度,當(dāng)夾角為0度時(shí),x軸的加速度值計(jì)為x(0),當(dāng)夾角為90度時(shí),x軸的加速度值計(jì)為x(m),則x軸與yz平面的夾角計(jì)算公式為
依此類推,可以計(jì)算出y軸與xz平面的夾角計(jì)算公式為
z軸與xy平面的夾角計(jì)算公式為
因?yàn)槊總€(gè)動(dòng)作都會(huì)導(dǎo)致三個(gè)方向的加速度值的變化,而這三個(gè)值中有一個(gè)是主導(dǎo)性的變化,另外兩個(gè)則可能是從屬性的變化,將一系列的這三種值繪成折線圖,即可明顯地看出三種值的變化范圍以及變化規(guī)律,再選出變化最為明顯的作為主導(dǎo)變化值,根據(jù)該主導(dǎo)變化值再結(jié)合其他兩個(gè)變化值進(jìn)行運(yùn)動(dòng)趨勢(shì)的綜合判斷; S212,根據(jù)計(jì)算出的三個(gè)夾角α(i)、β(i)和γ(i),再結(jié)合Directx3D中空間位置變換函數(shù),例如,D3DXMatrixRotationX、D3DXMatrixRotationY和D3DXMatrixRotationZ就可以得出角色在立體空間的旋轉(zhuǎn)動(dòng)作效果。
該實(shí)施例利用三軸加速度傳感器芯片可以實(shí)現(xiàn)低成本的條件下的相對(duì)較好的運(yùn)動(dòng)捕獲,再利用捕獲的數(shù)據(jù)實(shí)時(shí)地感知用戶操作手柄的各種動(dòng)作,真正擺脫了鼠標(biāo)鍵盤操作的束縛,可以自由地游戲與娛樂。
可選地,在判斷手柄的運(yùn)動(dòng)狀態(tài)和趨勢(shì)之前,該實(shí)施例可以連續(xù)讀取四組加速度值,分別針對(duì)每個(gè)方向上的加速度值進(jìn)行反向加速度的判斷。由于反向加速度總是跟在一個(gè)正向加速度之后,而且反向加速度通常都是比較大的值(即,反向運(yùn)動(dòng)總會(huì)在極短時(shí)間內(nèi)完成),所以如果將正向運(yùn)動(dòng)看作是一個(gè)波峰,則反向加速度是一個(gè)波谷。假設(shè)緊跟著波峰的是一個(gè)波谷(通過實(shí)驗(yàn)測(cè)得,反向加速度的波谷與前一個(gè)波峰之間最多有兩個(gè)波值,這也是選擇讀取四個(gè)值的原因),則可以認(rèn)定這個(gè)波谷是反向加速度;同理,如果將正向運(yùn)動(dòng)看作是一個(gè)波谷,則反向加速度是一個(gè)波峰,由此也可以認(rèn)定該波峰為反向加速度。以x軸為例,讀取了x(3)、x(4)、x(5)和x(6),可以將x(5)作為當(dāng)前值,將x(3)和x(4)作為兩個(gè)老值,將x(6)作為一個(gè)新值,在進(jìn)行反向加速度的判斷時(shí),將當(dāng)前值x(5)與兩個(gè)老值x(3)和x(4)以及一個(gè)新值x(6)進(jìn)行比較。由于加速度值是相對(duì)值,可以比較大小,如果x(5)大于(或小于)x(3)、x(4)、x(6),則可以認(rèn)定x(5)是一個(gè)波峰(或波谷),繼續(xù)取下一組的四個(gè)值,如果接下來的一組數(shù)據(jù)中有波谷(或波峰)出現(xiàn),則認(rèn)定此次取到的四個(gè)值受了反向加速度的影響,忽略此運(yùn)動(dòng)。如果當(dāng)前值x(5)為反向加速度,則不對(duì)當(dāng)前值x(5)進(jìn)行手柄運(yùn)動(dòng)趨勢(shì)的估計(jì),繼續(xù)讀取下一組值,否則,基于當(dāng)前值進(jìn)行手柄運(yùn)動(dòng)趨勢(shì)的估計(jì)。通過上述處理,可以有效地消除由于動(dòng)作結(jié)束時(shí)所引起的反向加速度,提高了模擬手柄運(yùn)動(dòng)的準(zhǔn)確度。
圖3是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。
如圖3所示,該實(shí)施例的系統(tǒng)包括數(shù)據(jù)接收模塊11,用于接收測(cè)量出的手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i)z(i),其中,這三個(gè)方向?yàn)閤軸方向、y軸方向和z軸方向;噪音干擾判斷模塊12,用于根據(jù)噪音干擾門限值NT判斷數(shù)據(jù)接收模塊11接收的三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾,其中,該噪音干擾門限值NT介于1與5之間,優(yōu)選地,該噪音干擾門限值NT可以取2;運(yùn)動(dòng)方向確定模塊13,用于在噪音干擾判斷模塊12確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)不為噪音干擾的情況下,根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i);運(yùn)動(dòng)模擬模塊14,用于根據(jù)運(yùn)動(dòng)方向確定模塊13確定的夾角α(i)、β(i)和γ(i)模擬手柄的運(yùn)動(dòng),例如,可以結(jié)合Direct3D中的空間位置變換函數(shù)(D3DXMatrixRotationX、D3DXMatrixRotationY和D3DXMatrixRotationZ)得出角色在立體空間的旋轉(zhuǎn)動(dòng)作效果。
現(xiàn)有技術(shù)或者對(duì)運(yùn)動(dòng)的識(shí)別成本高昂,或者可識(shí)別的運(yùn)動(dòng)類型少。而該實(shí)施例彌補(bǔ)了上述現(xiàn)有技術(shù)的缺陷,不需要額外增加硬件設(shè)備就可以捕獲用戶通過手柄所施加的每一個(gè)動(dòng)作,在低成本的條件下提高了用戶的感受。另外,由于該實(shí)施例不通過數(shù)字信號(hào)處理電路來模擬手柄的運(yùn)動(dòng),所以在很大程度上提高了實(shí)時(shí)性。
圖4是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的另一實(shí)施例的結(jié)構(gòu)示意圖。
如圖4所示,與圖3中的實(shí)施例相比,該實(shí)施例的噪音干擾判斷模塊21包括x軸判斷單元211,用于判斷加速度值x(i)與加速度值x(i-1)之間的差值是否小于噪音干擾門限值NT;y軸判斷單元212,用于判斷加速度值y(i)與加速度值y(i-1)之間的差值是否小于噪音干擾門限值NT;z軸判斷單元213,用于判斷加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值是否小于噪音干擾門限值NT;干擾確定單元214,用于如果加速度值x(i)與加速度值x(i-1)之間的差值小于噪音干擾門限值NT、加速度值y(i)與加速度值y(i-1)之間的差值小于噪音干擾門限值NT并且加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值小于噪音干擾門限值NT,則確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)為噪音干擾,否則,確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾。
在該實(shí)施例中,噪音干擾門限值NT介于1與5之間,優(yōu)選地,該噪音干擾門限值可以是2。
該實(shí)施例可以判斷當(dāng)前接收到的加速度值是否為噪音,如果為噪音干擾則不進(jìn)行手柄運(yùn)動(dòng)的模擬,從而可以有效地消除噪音對(duì)模擬手柄運(yùn)動(dòng)的影響。
圖5是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的又一實(shí)施例的結(jié)構(gòu)示意圖。
如圖5所示,與圖3中的實(shí)施例相比,該實(shí)施例的運(yùn)動(dòng)方向確定模塊31包括x軸夾角確定單元311,用于根據(jù)
計(jì)算x軸與yz平面的夾角α(i),其中,加速度值x(0)為x軸的加速度與yz平面的夾角為0度時(shí)的加速度值,x(m)為x軸的加速度與yz平面的夾角為90度時(shí)的加速度值,x(i)為x軸的加速度與yz平面的夾角為α(i)時(shí)的加速度值;y軸夾角確定單元312,用于根據(jù)
計(jì)算y軸與xz平面的夾角β(i),其中,加速度值y(0)為y軸的加速度與xz平面的夾角為0度時(shí)的加速度值,y(m)為y軸的加速度與xz平面的夾角為90度時(shí)的加速度值,y(i)為y軸的加速度與xz平面的夾角為β(i)時(shí)的加速度值;z軸夾角確定單元313,用于根據(jù)
計(jì)算z軸與xy平面的夾角γ(i),其中,加速度值z(mì)(0)為z軸的加速度與xy平面的夾角為0度時(shí)的加速度值,z(m)為z軸的加速度與xy平面的夾角為90度時(shí)的加速度值,z(i)為z軸的加速度與xy平面的夾角為γ(i)時(shí)的加速度值。
通過該實(shí)施例可以容易地獲得手柄的運(yùn)動(dòng)趨勢(shì),從而可以實(shí)時(shí)地模擬手柄的運(yùn)動(dòng),給用戶帶來很好的感受。
圖6是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的再一實(shí)施例的結(jié)構(gòu)示意圖。
如圖6所示,與圖3中的實(shí)施例相比,該實(shí)施例的系統(tǒng)還包括手柄裝置41,該手柄裝置41包括三軸加速度傳感器411,用于測(cè)量手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i);數(shù)據(jù)發(fā)送模塊412,用于向數(shù)據(jù)接收模塊11發(fā)送三軸加速度傳感器411測(cè)量出的三個(gè)方向上的加速度值x(i)、y(i)和z(i)。
其中,三軸加速度傳感器411可以測(cè)量出水平兩個(gè)方向以及垂直方向上的三個(gè)加速度值。其區(qū)別于平面加速度的主要方面就是重力加速度。通過判斷該三軸加速度傳感器在三個(gè)方向上的加速度值,可以計(jì)算出包含該三軸加速度傳感器411的手柄在各個(gè)方向上的運(yùn)動(dòng)趨勢(shì)以及運(yùn)動(dòng)狀態(tài),然后再把這些數(shù)據(jù)通過數(shù)據(jù)發(fā)送模塊412發(fā)送給數(shù)據(jù)接收模塊11,最后再結(jié)合C++編程語(yǔ)言,即可以實(shí)現(xiàn)擬真三維立體動(dòng)畫效果。
在該實(shí)施例中,可以采用藍(lán)牙方式進(jìn)行數(shù)據(jù)的發(fā)送與接收。即,數(shù)據(jù)發(fā)送模塊可以是藍(lán)牙適配器,數(shù)據(jù)接收模塊可以是藍(lán)牙串口。
該實(shí)施例通過三軸加速度傳感器測(cè)量手柄在三個(gè)方向上的加速度值,不僅測(cè)量精度高,而且在很大程度上節(jié)約了實(shí)現(xiàn)的成本。
圖7是本發(fā)明模擬手柄運(yùn)動(dòng)的系統(tǒng)的再一實(shí)施例的結(jié)構(gòu)示意圖。
如圖7所示,與圖3中的實(shí)施例相比,該實(shí)施例的系統(tǒng)還包括反向加速度判斷模塊51,用于判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為反向加速度,如果加速度值x(i)、y(i)和z(i)中的任一個(gè)為反向加速度,則丟棄加速度值x(i)、y(i)和z(i),否則,由運(yùn)動(dòng)方向確定模塊13確定手柄的運(yùn)動(dòng)趨勢(shì)。
通過該實(shí)施例可以有效地消除反向加速度對(duì)運(yùn)動(dòng)趨勢(shì)估計(jì)的影響,顯著提高了對(duì)運(yùn)動(dòng)趨勢(shì)的估計(jì)精度。
另外,可以將上述實(shí)施例應(yīng)用于下述場(chǎng)景例如,選用劍作為武器,通過上述實(shí)施例,手柄的旋轉(zhuǎn)動(dòng)作可以體現(xiàn)在劍上,將測(cè)量出的手柄在三個(gè)方向的夾角應(yīng)用于劍上,即可讓劍做出相應(yīng)的旋轉(zhuǎn)動(dòng)作;再例如,以飛機(jī)作為主體,用手柄控制飛機(jī)的飛行方向及位置,類似于三維雷電游戲,手柄可以實(shí)現(xiàn)左右、上下和前后三個(gè)方向上的移動(dòng),由程序判斷手柄的運(yùn)動(dòng)趨勢(shì),讓飛機(jī)做出相應(yīng)的移動(dòng)。
上述實(shí)施例可以采用A D X L 330型號(hào)的三軸加速度傳感器芯片,其市場(chǎng)價(jià)格在20元至30元之間,而市場(chǎng)上現(xiàn)有的動(dòng)作感應(yīng)手柄價(jià)格都在幾百元至千元不等,可見,本發(fā)明的實(shí)現(xiàn)成本相比現(xiàn)有產(chǎn)品有足夠的優(yōu)勢(shì)。
另外,本發(fā)明的上述實(shí)施例還具有動(dòng)作連續(xù)捕獲能力。通過運(yùn)動(dòng)過程中三軸加速度傳感器捕獲到的不斷變化的加速度值來模擬手柄與平面夾角之間的不斷變化,該變化反應(yīng)在手柄操作對(duì)象上,就成為手柄操作對(duì)象的連續(xù)運(yùn)動(dòng)。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無(wú)遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對(duì)于本領(lǐng)域的普通技術(shù)人員而言是顯而易見的。選擇和描述實(shí)施例是為了更好說明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。
權(quán)利要求
1.一種模擬手柄運(yùn)動(dòng)的方法,其特征在于,所述方法包括
接收測(cè)量出的手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i),其中,所述三個(gè)方向?yàn)閤軸方向、y軸方向和z軸方向;
根據(jù)噪音干擾門限值NT判斷所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾;
在確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)不為噪音干擾的情況下,根據(jù)所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定所述手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i);
根據(jù)所述夾角α(i)、β(i)和γ(i)模擬所述手柄的運(yùn)動(dòng)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)噪音干擾門限值NT判斷所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾的步驟包括
判斷加速度值x(i)與加速度值x(i-1)之間的差值是否小于所述噪音干擾門限值NT;
如果所述加速度值x(i)與所述加速度值x(i-1)之間的差值小于所述噪音干擾門限值NT,則判斷加速度值y(i)與加速度值y(i-1)之間的差值是否小于所述噪音干擾門限值NT,否則,確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于所述加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾;
如果所述加速度值y(i)與所述加速度值y(i-1)之間的差值小于所述噪音干擾門限值NT,則判斷加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值是否小于所述噪音干擾門限值NT,否則,確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于所述加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾;
如果所述加速度值z(mì)(i)與所述加速度值z(mì)(i-1)之間的差值小于所述噪音干擾門限值NT,則確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于所述加速度值x(i-1)、y(i-1)和z(i-1)為噪音干擾,否則,確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于所述加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述噪音干擾門限值NT介于1與5之間。
4.根據(jù)權(quán)利1所述的方法,其特征在于,根據(jù)所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定所述手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i)的步驟包括
根據(jù)
計(jì)算x軸與yz平面的夾角α(i),其中,加速度值x(0)為x軸的加速度與yz平面的夾角為0度時(shí)的加速度值,x(m)為x軸的加速度與yz平面的夾角為90度時(shí)的加速度值,x(i)為x軸的加速度與yz平面的夾角為α(i)時(shí)的加速度值;
根據(jù)
計(jì)算y軸與xz平面的夾角β(i),其中,加速度值y(0)為y軸的加速度與xz平面的夾角為0度時(shí)的加速度值,y(m)為y軸的加速度與xz平面的夾角為90度時(shí)的加速度值,y(i)為y軸的加速度與xz平面的夾角為β(i)時(shí)的加速度值;
根據(jù)
計(jì)算z軸與xy平面的夾角γ(i),其中,加速度值z(mì)(0)為z軸的加速度與xy平面的夾角為0度時(shí)的加速度值,z(m)為z軸的加速度與xy平面的夾角為90度時(shí)的加速度值,z(i)為z軸的加速度與xy平面的夾角為γ(i)時(shí)的加速度值。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在根據(jù)所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定所述手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i)的步驟之前,所述方法還包括
判斷所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為反向加速度,如果所述加速度值x(i)、y(i)和z(i)中的任一個(gè)為反向加速度,則丟棄所述加速度值x(i)、y(i)和z(i),否則,基于所述加速度值x(i)、y(i)和z(i)確定所述手柄的運(yùn)動(dòng)趨勢(shì)。
6.一種模擬手柄運(yùn)動(dòng)的系統(tǒng),其特征在于,所述系統(tǒng)包括
數(shù)據(jù)接收模塊,用于接收測(cè)量出的手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i),其中,所述三個(gè)方向?yàn)閤軸方向、y軸方向和z軸方向;
噪音干擾判斷模塊,用于根據(jù)噪音干擾門限值NT判斷所述數(shù)據(jù)接收模塊接收的所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾;
運(yùn)動(dòng)方向確定模塊,用于在所述噪音干擾判斷模塊確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)不為噪音干擾的情況下,根據(jù)所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定所述手柄運(yùn)動(dòng)時(shí)x軸與yz平面的夾角α(i)、y軸與xz平面的夾角β(i)以及z軸與xy平面的夾角γ(i);
運(yùn)動(dòng)模擬模塊,用于根據(jù)所述運(yùn)動(dòng)方向確定模塊確定的所述夾角α(i)、β(i)和γ(i)模擬所述手柄的運(yùn)動(dòng)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述噪音干擾判斷模塊包括
x軸判斷單元,用于判斷加速度值x(i)與加速度值x(i-1)之間的差值是否小于所述噪音干擾門限值NT;
y軸判斷單元,用于判斷加速度值y(i)與加速度值y(i-1)之間的差值是否小于所述噪音干擾門限值NT;
z軸判斷單元,用于判斷加速度值z(mì)(i)與加速度值z(mì)(i-1)之間的差值是否小于所述噪音干擾門限值NT;
干擾確定單元,用于如果所述加速度值x(i)與所述加速度值x(i-1)之間的差值小于所述噪音干擾門限值NT、所述加速度值y(i)與所述加速度值y(i-1)之間的差值小于所述噪音干擾門限值NT并且所述加速度值z(mì)(i)與所述加速度值z(mì)(i-1)之間的差值小于所述噪音干擾門限值NT,則確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于所述加速度值x(i-1)、y(i-1)和z(i-1)為噪音干擾,否則,確定所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)相對(duì)于所述加速度值x(i-1)、y(i-1)和z(i-1)不為噪音干擾。
8.根據(jù)權(quán)利要求6或7所述的系統(tǒng),其特征在于,所述噪音干擾門限值NT介于1與5之間。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述運(yùn)動(dòng)方向確定模塊包括
x軸夾角確定單元,用于根據(jù)
計(jì)算x軸與yz平面的夾角α(i),其中,加速度值x(0)為x軸的加速度與yz平面的夾角為0度時(shí)的加速度值,x(m)為x軸的加速度與yz平面的夾角為90度時(shí)的加速度值,x(i)為x軸的加速度與yz平面的夾角為α(i)時(shí)的加速度值;
y軸夾角確定單元,用于根據(jù)
計(jì)算y軸與xz平面的夾角β(i),其中,加速度值y(0)為y軸的加速度與xz平面的夾角為0度時(shí)的加速度值,y(m)為y軸的加速度與xz平面的夾角為90度時(shí)的加速度值,y(i)為y軸的加速度與xz平面的夾角為β(i)時(shí)的加速度值;
z軸夾角確定單元,用于根據(jù)
計(jì)算z軸與xy平面的夾角γ(i),其中,加速度值z(mì)(0)為z軸的加速度與xy平面的夾角為0度時(shí)的加速度值,z(m)為z軸的加速度與xy平面的夾角為90度時(shí)的加速度值,z(i)為z軸的加速度與xy平面的夾角為γ(i)時(shí)的加速度值。
10.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括手柄裝置,所述手柄裝置包括
三軸加速度傳感器,用于測(cè)量所述手柄在所述三個(gè)方向上的加速度值x(i)、y(i)和z(i);
數(shù)據(jù)發(fā)送模塊,用于向所述數(shù)據(jù)接收模塊發(fā)送所述三軸加速度傳感器測(cè)量出的所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)。
11.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括
反向加速度判斷模塊,用于判斷所述三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為反向加速度,如果所述加速度值x(i)、y(i)和z(i)中的任一個(gè)為反向加速度,則丟棄所述加速度值x(i)、y(i)和z(i),否則,由所述運(yùn)動(dòng)方向確定模塊確定所述手柄的運(yùn)動(dòng)趨勢(shì)。
全文摘要
本發(fā)明公開了一種模擬手柄運(yùn)動(dòng)的方法與系統(tǒng)。其中,該方法包括接收測(cè)量出的手柄在三個(gè)方向上的加速度值x(i)、y(i)和z(i);根據(jù)噪音干擾門限值NT判斷三個(gè)方向上的加速度值x(i)、y(i)和z(i)是否為噪音干擾;在確定三個(gè)方向上的加速度值x(i)、y(i)和z(i)不為噪音干擾的情況下,根據(jù)三個(gè)方向上的加速度值x(i)、y(i)和z(i)分別確定手柄的運(yùn)動(dòng)夾角α(i)、β(i)和γ(i);根據(jù)夾角α(i)、β(i)和γ(i)模擬手柄的運(yùn)動(dòng)。本發(fā)明的模擬手柄運(yùn)動(dòng)的方法與系統(tǒng),相對(duì)于傳統(tǒng)的鼠標(biāo)鍵盤操作是一個(gè)很大的挑戰(zhàn),該方法可以模擬用戶操作手柄的每一個(gè)動(dòng)作,將這些動(dòng)作反應(yīng)在諸如3D游戲的角色身上。另外,通過該方法生成的虛擬動(dòng)畫無(wú)需更多的硬件電路就可以具有很強(qiáng)的真實(shí)感和較強(qiáng)的實(shí)時(shí)性,真正擺脫了鼠標(biāo)鍵盤操作的束縛。
文檔編號(hào)A63F13/02GK101788851SQ20101011372
公開日2010年7月28日 申請(qǐng)日期2010年2月22日 優(yōu)先權(quán)日2010年2月22日
發(fā)明者李江崴, 武娟, 梁潔, 陳戈, 張路宜, 韓曉梅, 陳學(xué)亮 申請(qǐng)人:中國(guó)電信股份有限公司