Computer vision 欧拉角在接近零度时翻转

Computer vision 欧拉角在接近零度时翻转,computer-vision,eigen,euler-angles,Computer Vision,Eigen,Euler Angles,我使用特征值中的四元数计算ZYX欧拉角: quaternion.toRotationMatrix().eulerAngles(2, 1, 0); 但我发现这些值有时会在一个非常小的数字和一个非常接近PI的数字之间切换。我大致了解为什么会发生这种情况,欧拉角β的范围可能是[0, π] 或[−π/2, π/2]. 但是我找不到任何方法来使用Eigen中的第二个范围 在Eigen中是否有方法进行转换?引用,范围如下: 返回的角度范围为[0:pi]x[-pi:pi]x[-pi:pi] 我也注意到了,如

我使用特征值中的
四元数
计算
ZYX
欧拉角:

quaternion.toRotationMatrix().eulerAngles(2, 1, 0);
但我发现这些值有时会在一个非常小的数字和一个非常接近PI的数字之间切换。我大致了解为什么会发生这种情况,欧拉角β的范围可能是[0, π] 或[−π/2, π/2]. 但是我找不到任何方法来使用Eigen中的第二个范围

Eigen
中是否有方法进行转换?

引用,范围如下:

返回的角度范围为[0:pi]x[-pi:pi]x[-pi:pi]


我也注意到了,如何将其转换回其他范围?我做了一些谷歌搜索,但找不到这样做的示例代码看看这个“不受支持”的模块:,它允许完全自定义的转换。