我已经被玩弄Android的加速度后期使用Android SDK和Adobe AIR的Android SDK中对我的摩托罗拉Droid的。我已经注意到的是,加速度计工作得很好,但我想知道是否有可能以某种方式来补偿,这样我就不必使用该设备在水平位置。换句话说,我想用加速度计来控制我的视频显示,但初始化(或以某种方式修改),这样我就不必抱(不必俯身手机没有多少乐趣),它完全平坦。

有谁知道我如何能够舒适地握住设备在我的手,说45度,而且还利用加速计提供向前/向后读数?这可能吗?这可用?

的任何的例子
有帮助吗?

解决方案

您将需要一些简单的矩阵乘法运算。 “校准”通过取当前矩阵当启动应用程序,并转化它,然后乘以所有后续的矩阵与它的旋转 - 这将使你增量到起始位置

其他提示

我已经编写的应用程序很久以前其中讨论了相对旋转。我把代码忘了做了什么,但是从我所看到的,好像 -

1)I使用获得的初始旋转矩阵 - SensorManager.getRotationMatrix(R,I,gravity.clone(),geomagnetic.clone()); (重力和地磁是各自accleration和地磁矩阵为什么我使用克隆但必须有某种原因。说不上。) 2)现在,在任何阶段,得到当前旋转矩阵,并调用它R. 3)计算初始矩阵的逆矩阵和称之为“initialInverse”。 4)乘以R 3与initialInverse(或者倒过来,你必须弄明白)。 5)使用SensorManager.getOrientation(增量,值)获取您的最终取向

我很抱歉,但我已经完全忘记上面的代码做什么。我想我记得读的话欧拉变换的地方,当我写这个程序,因此多数民众赞成它可能会做。不幸的是,我不能给你完整的代码,因为我可能会在市场上发布这个程序。不过,如果你需要更多的信息,请让我知道 - 我会考虑的代码,并送还给你。

我在具有类似性质的一个项目,其中,加速度计的功能不被限制位置工作。我把它处理的方式很简单,与当前的读数为缺省初始化的加速度计。换句话说,你有一个按钮,按下一旦你把手机放在适当的位置,在按下按钮时,加速度计的电流读数(G措施)将是您参考(零个值),并进行修改时你去或以上这些读数低于...希望这有助于任何人......欢呼声

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top