【发布时间】:2017-05-10 14:53:09
【问题描述】:
我使用 Eigen 库将矩阵转换为四元数,但是当我将其中一个矩阵转换为四元数并将其烧回时,它变成了另一个矩阵,即单位矩阵。我使用的旋转矩阵是从一个变换矩阵分解而来的。
Eigen::Matrix3f R3d = R.topLeftCorner<3,3>();
*Rquat = R3d;
R3d = (*Rquat).normalized().toRotationMatrix();
什么可能导致这个问题? This is the matrix before change to quaternion
【问题讨论】:
-
你传递的矩阵是一个反射,所以你不能从中得到一个有效的四元数。不过,您使用的是什么版本的 Eigen?
-
我正在使用 Eigen 3
-
那么版本 3.0?这已经被弃用了一段时间......
-
确保源旋转矩阵是真正的仅旋转矩阵。
标签: matrix eigen quaternions