Vector 波动分析——微动加速度

Vector 波动分析——微动加速度,vector,gesture-recognition,waveform,wiimote,Vector,Gesture Recognition,Waveform,Wiimote,我正在用Wiimote做手势识别,你自己也可以用这个很棒的Wiimote!图书馆 所有的东西都在C++ Visual Studio 2010中开发。 我试图处理wiimote运动的加速度向量,包括大小和角度。当个体摆动它时,我想知道它的运动方向,以及它的力量有多大 问题有两个方面: 我需要能够处理WiiMote的初始加速度值,而不是停止遥控器的减速度 如何管理来自远程设备的恒定加速度数据流,以提供有用的信息 我意识到这是一个更符合逻辑的问题,但我很难把事情安排在一起。首先,您可以尝试从不同的轴捕

我正在用Wiimote做手势识别,你自己也可以用这个很棒的Wiimote!图书馆 所有的东西都在C++ Visual Studio 2010中开发。 我试图处理wiimote运动的加速度向量,包括大小和角度。当个体摆动它时,我想知道它的运动方向,以及它的力量有多大

问题有两个方面:

我需要能够处理WiiMote的初始加速度值,而不是停止遥控器的减速度

如何管理来自远程设备的恒定加速度数据流,以提供有用的信息


我意识到这是一个更符合逻辑的问题,但我很难把事情安排在一起。

首先,您可以尝试从不同的轴捕获一系列样本,可能制作一些函数,如向量幅值和和向量和,然后将它们全部绘制出来。查看这些值作为信号的行为


也许你可以通过这种方式看到你想要观察的运动在值方面是什么样子的。

我会记录一个完美的摆动并在内部绘制数据,然后将该数据保存在应用程序内部的资源中,并在应用程序内部绘制随时间变化的运动,然后使用向量比较来比较两者。对每个内部存储的运动从最后X秒开始打分,并对无效运动使用截止值。然后得分最接近的人得到分数

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

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