行列をクォータニオンに変換するために固有ライブラリを使用しますが、行列の1つを四元数に変換して焼き戻すと、単位行列である別の行列になります。使用する回転行列は、変換行列から分解されました。固有ベクトル:四元数と行列の結果が異なる
Eigen::Matrix3f R3d = R.topLeftCorner<3,3>();
*Rquat = R3d;
R3d = (*Rquat).normalized().toRotationMatrix();
この問題の原因は何ですか? This is the matrix before change to quaternion
とThis is the matrix when I turn it back form the quaternion
あなたが渡している行列は反射ですので、有効な四元数を取り出すことはできません。それにもかかわらず、どのバージョンのEigenを使用していますか? – chtz
私はEigen 3を使用しています – JOYD
だからバージョン3.0?それはしばらくの間廃止されました... – chtz