행렬을 쿼터니언으로 변환하기 위해 고유 라이브러리를 사용합니다. 그러나 행렬 중 하나를 쿼터니언으로 변환하고 다시 태울 때 항등 행렬 인 다른 행렬로 나타납니다. 내가 사용하는 회전 행렬은 변환 행렬에서 분해되었습니다.고유 : 행렬과 쿼터니언의 결과가 다릅니다.
Eigen::Matrix3f R3d = R.topLeftCorner<3,3>();
*Rquat = R3d;
R3d = (*Rquat).normalized().toRotationMatrix();
이 문제점의 원인은 무엇입니까?
전달중인 행렬이 리플렉션이므로 유효한 쿼터니언을 가져올 수 없습니다. 그럼에도 불구하고 어떤 버전의 Eigen을 사용하고 있습니까? – chtz
Eigen 3을 사용하고 있습니다 – JOYD
그래서 버전 3.0입니까? 잠시 사용하지 않으려 고합니다 ... – chtz