Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
操纵从iPhone 4获得的陀螺仪/加速计值_Iphone_Normalization_Accelerometer_Gyroscope - Fatal编程技术网

操纵从iPhone 4获得的陀螺仪/加速计值

操纵从iPhone 4获得的陀螺仪/加速计值,iphone,normalization,accelerometer,gyroscope,Iphone,Normalization,Accelerometer,Gyroscope,我正在为我的大学开发一个项目,操作从iPhone4获得的陀螺仪/加速计值。但我有一个数学问题,希望你们能帮我解决 我给你举一个例子来说明: 你的iPhone面朝上,你把它向上移动,在Y轴上 你的iPhone正面朝右,这次你在X轴上向上移动它(因为你将iPhone旋转了90度) 第二次,电脑解释说我把iphone移到了右边,但它错了。我把它向上移动了,但我的轴是旋转的,因为iphone是正面对的 我需要什么? 我需要一种方法来虚拟地将iphone正面朝上放置(3个轴是正确的),并为每个轴提供正确的

我正在为我的大学开发一个项目,操作从iPhone4获得的陀螺仪/加速计值。但我有一个数学问题,希望你们能帮我解决

我给你举一个例子来说明:

  • 你的iPhone面朝上,你把它向上移动,在Y轴上
  • 你的iPhone正面朝右,这次你在X轴上向上移动它(因为你将iPhone旋转了90度)
  • 第二次,电脑解释说我把iphone移到了右边,但它错了。我把它向上移动了,但我的轴是旋转的,因为iphone是正面对的

    我需要什么? 我需要一种方法来虚拟地将iphone正面朝上放置(3个轴是正确的),并为每个轴提供正确的移动值

    如果将iphone旋转90度,那么我可以轻松地切换X-Z轴及其正确方向。但我想让它在任何旋转角度下工作

    如果有人能帮我做一些伪算法或数学描述,我会非常感激

    注意:我只需要一种方法来补偿所有三个轴与iPhone的旋转

    更新: 我实际上不需要精确的值,因为我正在对从陀螺仪上得到的所有记录进行一个图形的共运算。我会说清楚的

    ->你只要在空中移动iphone就可以画一封信,我的应用程序就会认出你刚才画的信。我用于识别的方法基于TFT算法,并使用来自我之前绘制的字母的样本值记录到数据库中

    我的观点是:我得到的价值观或它们代表的东西并不重要。我所需要的是,即使iPhone位于不同的位置,所有的图形都是相等的。很难解释,但是如果你在iphone向上的时候画字母“P”,那么如果你在iphone向右转的时候画字母“P”,图形就会不同


    所以我需要将轴补偿到它们的原始方向,这样我会得到类似的图形。

    所以,你想要的是从iPhone的坐标系(或对象/切线系)转换到世界坐标系(或相反,正如你所看到的,没关系)。你知道iPhone坐标系,因为你有陀螺仪数据。因此,您需要创建对象->世界变换矩阵,并用它乘以每个速度向量(来自加速度计)。

    了解切线空间的详细说明以及如何创建切线空间->世界变换矩阵。如果你不熟悉3D/线性数学,这可能有点棘手,但值得一试。

    这篇文章是在iOS5发布之前发表的。仅供各位参考,演示如何将设备相对加速度值转换为iOS5及以上版本的地球相对加速度。

    @Joe Blow::-)或YNGATY-您永远不会得到感谢