2011-10-10 33 views
0

我正在用Wiimote使用(精彩)WiiYourself进行手势识别!图书馆。 一切都在C++(Visual Studio 2010)中开发。Wave Analysis - WiiMote加速

我试图来处理Wiimote的运动加速度矢量(幅度和角度)。当个人摆动它时,我想找到它正在向哪个方向移动,以及用多大的力量。

问题是双重的:

  1. 我需要能够处理用于在Wiimote的初始加速度,而不是从停止远程减速的值。

  2. 如何管理加速度数据络绎不绝从远程来给我有用的信息?

我意识到这是一个更合乎逻辑的问题,但我很难让事情聚集在一起。

回答

0

一开始,你可以尝试从不同的轴攻克了一系列的样本,也许做一些功能,如向量幅度和总和向量并绘制它们。看看这些值如何表现为一个信号。

也许你可以看到你想要什么样的动作来观察样子价值观这样的条款。

0

我会通过记录一个“完美”的挥杆并绘制出内部数据然后内部保存的数据在应用程序和地图移动内部资源随时间的应用程序,然后比较两个使用矢量比较做到这一点。对于每个内部存储的运动,记录最后X秒的运动,并使用截止值进行无效运动。然后得分最接近的那个得分。

一旦检测到成功的动作,您应该将该时间跨度标记为“已使用”,因此不适用于任何更多评分(这是为了阻止在控制器的一个动作中选择多个动作)。

的比较可以通过找到随着时间的推移关键位置的点的平均差异来完成。即。以5毫秒为间隔检查每个点并确定3个加速度向量的差值,这些差值的总和的平均值可以是得分。得分最低的姿势是最好的搭配。