根据ARKit文档,即ARCamera,我看到有两种描述相机方向的方式,camera.transform和eulerAngles。首先,我将frame.camera
的旋转矩阵转换为欧拉角,然后输出不等于eulerAngle
的值。
为什么? ARKit中的camera.transform
和eulerAngle
值有什么区别?
转换的细节描述如下。
使用Eigen库中的函数获得欧拉角Rx.eulerAngles(0, 1, 2)
,其中Rx
是frame.camera.transform
的旋转矩阵。
例如:
frame.camera.transform:
Rx =
[ -0.0443775, -0.900017, 0.433589;
0.998663, -0.0284454, 0.043167;
-0.0265174, 0.434925, 0.900076; ]
Rx.eulerAngles(0, 1, 2)
的输出为[ 3.09367, 2.69312, -1.52153]
eulerAngle
的值为[ -0.449955, -0.0294528, -1.60239]
答案 0 :(得分:0)
“变换”为您提供有关节点的位置,角度和比例的信息,欧拉角仅告诉您有关角度的信息,即俯仰角和偏航角。