Eigen中的旋转矩阵
答
首先必须构造一个quaternion,然后将其转换为一个矩阵,例如:
#include <Eigen/Geometry>
using namespace Eigen;
int main() {
Vector3f A, B;
Matrix3f R;
R = Quaternionf().setFromTwoVectors(A,B);
}
值得注意的是,需要一个额外的'.toRotationMatrix()''后(A,B)'到工作,因为'R'是一个矩阵。 – 2013-09-10 10:08:00
不,有一个运算符=的重载,使它工作。但是,它们各自是明确的,因此'Matrix3f R = Quaternionf()。setFromTwoVectors(A,B);'需要'.toRotationMatrix()'或者明确地转换为'Matrix3f(。)',或者明确地调用ctor与'Matrix3f R(Quaternionf()。setFromTwoVectors(A,B));' – ggael 2013-09-11 08:20:59
对不起我的错!错过了那微小的微妙。感谢您解释这些差异。 – 2013-09-11 16:55:47