Android方向传感器的奇怪行为

Kyo*_*ang 9 android rotation sensor accelerometer orientation

目前,我正在尝试使用方向传感器值使用getRotation()方法旋转3D立方体.当Android设备旋转到某些边界以上时,会观察到一些意外行为.例如,如果我让设备'站起来','roll'的价值就变得疯狂了.

此外,我正在经历类似于所谓的万向节锁定的现象.唯一的区别是,即使在将传感器值应用于3D旋转之前,我也遇到了这个问题.当我尝试通过仅围绕"俯仰"轴旋转设备来改变"俯仰"值时,"偏航"值也会根据俯仰的旋转而改变.这对我来说似乎完全不合理.

有人能帮帮我吗?我在这个问题上坚持了一个月.

Ali*_*Ali 17

这是偏航,俯仰和滚转的常见问题.只要你使用偏航,俯仰和滚动(欧拉角),你就无法摆脱它.该视频解释了原因.

我在运动传感应用中使用旋转矩阵而不是欧拉角.有关旋转矩阵的介绍,我建议:

方向余弦矩阵IMU:理论

旋转矩阵就像一个魅力.

四元数也很受欢迎,据说是最稳定的.

[这个答案是从这里复制的.]