首页 文章

无论设备方向如何,我如何获得水平旋转角度?

提问于
浏览
0

当设备是人像时,我可以通过计算滚动值(根据 iOS Device Motion 的定义)获得水平旋转角度。

移动设备的 x,y,z-axis:
ios 旋转帧图像

但是当设备处于横向时,y-axis 是水平的,x-axis 是垂直的。我怎样才能获得角度?音高值不正确。我试图在四元数中交换 x 和 y,但没有奏效。

而且,当设备处于纵向和横向中间时,如何获得角度,例如,您将设备倾斜大约 z-axis?

是否有统一的四元数或旋转矩阵来计算任何设备方向的角度?

1 回答

  • 0

    可能你想获得一些设备“方向”的角度。例如,如果您想要将 Z 轴的角度投射到地面上,请完全准确。

    • 将 Z(0,0,1)向量转换为当前设备旋转。

    • 在某个世界框架中你有“ZinWorld”矢量的方向。

    • 根据世界框架定位,将“ZinWorld”项目纳入地平面。例如,如果在默认情况下,世界框架 Z 指向 UP,则只需获取“ZinWorld”的 X Y 组件。

    • 取 atan2(X,Y)得到合适的角度。

相关问题