来自Android传感器的-Z轴的偏航螺距卷
-
12-11-2019 - |
题
我们从Android的Sensormanager.getOrientation()获得的偏航音调和卷都是用于电话的Y轴。由此,我的意思是,偏航和俯仰说在y轴点,滚动围绕y轴。(并且我的屏幕方向固定到Landsape,因此Y轴不会改变)。但是我想要的是负Z轴的偏航音调和卷(点进入手机),更像是我的手机屏幕是一架飞机驾驶舱的景观窗口,偏航会是什么沥青和卷?
解决方案
如果我明白你所说的话,你会看到当前的偏航音调和滚动是返回,因为+ y轴是默认的'前'向量,+ z轴是默认的'向上'向量。您希望执行坐标转换,使得您的偏航,俯仰和滚动是用-z轴计算的默认的“前”向量和+ X向量作为默认的“向上”向量。 首先,您需要在当前配置中从偏航,音高和滚动中计算当前正面和上向量。这可以使用3D旋转矩阵来完成: http://en.wikipedia.org/wiki/rotation_matrix#rotations_in_three_dimensions
使用横摆角旋转约z,俯仰为X的旋转,并且卷为y绕Y旋转。将这些矩阵乘以,然后将前向量(0,1,0)和上向量(0,0,1)乘以得到新的前端和上向量。
其他提示
Android中使用的身体轴约定与航空航天中使用的相同(出于充分原因)。“平面”的X轴等效于“Y”轴和Android设备(并且同样X轴与Y轴相关,取决于ENU RO NED Conevntions)。在这里可以找到一篇关于偏航音调ANS滚动约定的好文章,可能是回答您的问题的开始: http://www.sensorplatforms.com/understersing-orientation-conventions-mobile-platforms/