我正在为我的大学开发一个项目,以操纵从 iPhone 4 获得的陀螺仪/加速度计值。但我遇到了一个数学问题,希望你们能帮助我。
我给你举个例子:
- 你的 iPhone 正面朝上,然后在 Y 轴上向上移动它。
- 你的 iPhone 朝右,这次你在 X 轴上向上移动它(因为你将 iphone 旋转了 90 度)。
第二次,计算机解释我已经将 iphone 移到了 RIGHT,但它是错误的。我已经将它向上移动了,但是由于 iphone 朝右,我的轴被旋转了。
我需要什么?我需要一种方法来虚拟地将 iphone 面朝上定位(3 轴正确)并为每个轴提供正确的运动值。
如果 iphone 旋转 90 度,那么我可以轻松切换 XZ 轴及其正确。但我想让它适用于任何旋转角度。
如果有人能用某种伪算法或数学描述来帮助我做什么,我将非常感激。
注意:我只需要一种方法来根据 iPhone 旋转补偿所有三个轴。
更新:
我实际上并不需要精确的值,因为我正在从陀螺仪获得的所有记录之间进行图形比较。我会说得更清楚。
-> 您只需通过在空中移动 iphone 来绘制一个字母,我的应用程序将识别您刚刚绘制的字母。我用于识别的方法是基于 TFT 算法,并使用源自我之前绘制的字母的样本值记录到数据库中。
我的观点是:我得到的价值观或它们代表什么并不重要。我所需要的只是即使 iPhone 处于不同的位置,所有的图表也是相同的。很难解释,但是如果您在 iPhone 向上时绘制字母“P”,如果您在 iPhone 向右转时绘制“P”,则生成的图形会有所不同。
所以我需要将轴补偿到它们的原始方向,这样我总是会得到相似的图形。