android 加速度计算公式,android – 使用加速度计计算旋转矩阵

我目前面临更多的数学问题.我正在开发一个对X轴和Y轴加速感兴趣的应用程序.换句话说,我想跟踪左右或前后加速.

如果设备躺在桌子上面朝上,则在这些轴的加速度值中可以看到所需方向上的所有加速度.出现的问题是设备没有放置在这样的位置并且围绕X或Y轴(俯仰,滚动)具有一定的旋转.

我需要一个旋转矩阵(Rm),我可以将其乘以一个测量加速度(x)向量,以获得一个新的校准向量(x’),其他类可以使用:x’= Rm * x.这应该从参考矢量(0,0,-1)和设备的当前重力矢量计算出来.

我知道它与欧拉角有关,但我无法弄清楚如何计算这些并用这些来创建我的旋转矩阵.我也知道CMAttitude类中有一个旋转矩阵,但我想更深入地了解如何计算这些矩阵.

例:

想象一下,你想弄清楚你的自行车刹车有多难.如果您的iPhone安装在自行车上并且显示屏指向笔直,您可以读取加速度矢量y值的加速度.您项目中的其他类别假设制动时的加速度始终可以在此值中看到.

问题是当iPhone被放置在纵向视图中时,显示器指向你.然后制动不会增加y值而是增加z值.因此,您必须围绕x轴旋转加速度值-90度.

我需要这个旋转矩阵来任意旋转设备.我知道不可能从重力矢量计算绕z轴的旋转,但是当x和y旋转被否定时,我很好.

非常感谢你的帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值