2011-10-10 68 views
0

我正在用Wiimote使用(精彩)WiiYourself進行手勢識別!圖書館。 一切都在C++(Visual Studio 2010)中開發。Wave Analysis - WiiMote加速

我試圖來處理Wiimote的運動加速度矢量(幅度和角度)。當個人擺動它時,我想找到它正在向哪個方向移動,以及用多大的力量。

問題是雙重的:

  1. 我需要能夠處理用於在Wiimote的初始加速度,而不是從停止遠程減速的值。

  2. 如何管理加速度數據絡繹不絕從遠程來給我有用的信息?

我意識到這是一個更合乎邏輯的問題,但我很難讓事情聚集在一起。

回答

0

一開始,你可以嘗試從不同的軸攻克了一系列的樣本,也許做一些功能,如向量幅度和總和向量並繪製它們。看看這些值如何表現爲一個信號。

也許你可以看到你想要什麼樣的動作來觀察樣子價值觀這樣的條款。

0

我會通過記錄一個「完美」的揮杆並繪製出內部數據然後內部保存的數據在應用程序和地圖移動內部資源隨時間的應用程序,然後比較兩個使用矢量比較做到這一點。對於每個內部存儲的運動,記錄最後X秒的運動,並使用截止值進行無效運動。然後得分最接近的那個得分。

一旦檢測到成功的動作,您應該將該時間跨度標記爲「已使用」,因此不適用於任何更多評分(這是爲了阻止在控制器的一個動作中選擇多個動作)。

的比較可以通過找到隨着時間的推移關鍵位置的點的平均差異來完成。即。以5毫秒爲間隔檢查每個點並確定3個加速度向量的差值,這些差值的總和的平均值可以是得分。得分最低的姿勢是最好的搭配。