在ARKit中获取设备绕世界原点y轴的旋转

时间:2019-02-26 20:09:46

标签: ios math 3d arkit euler-angles

当我在ARKit中绕y轴旋转设备时,我正在尝试计算设备的旋转。为了澄清起见,ARKit中的y轴是垂直于地面指向上方的轴。

我使用euangleangle来获得相机的旋转,如下所示:

var alpha = sceneView.pointOfView?.eulerAngles.y

这在0=<alpha<pi/2 and when -pi/2<alpha<=0时有效,但是对于其他角度来说,我得到了错误的读数。我怀疑这与万向节锁定有关,而且我必须以某种方式使用四元数来获得正确的角度,而与象限无关。任何帮助深表感谢!

1 个答案:

答案 0 :(得分:2)

使用四元数而不是欧拉角来解决。这是我使用的代码:

MasterConfiguration

我使用了this website上列出的四元数到标题/欧拉转换。