diff --git a/Eigen/Geometry b/Eigen/Geometry index 9cae3459c..c931f28fe 100644 --- a/Eigen/Geometry +++ b/Eigen/Geometry @@ -7,6 +7,7 @@ #include "Array" #include "SVD" +#include "LU" #include #ifndef M_PI diff --git a/Eigen/src/Geometry/Quaternion.h b/Eigen/src/Geometry/Quaternion.h index 3d59533f4..2f9f97807 100644 --- a/Eigen/src/Geometry/Quaternion.h +++ b/Eigen/src/Geometry/Quaternion.h @@ -373,7 +373,7 @@ inline Quaternion& Quaternion::setFromTwoVectors(const MatrixBas c = std::max(c,-1); Matrix m; m << v0.transpose(), v1.transpose(); SVD > svd(m); - Vector3 axis = svd.matrixV().col(0); + Vector3 axis = svd.matrixV().col(2); Scalar w2 = (Scalar(1)+c)*Scalar(0.5); this->w() = ei_sqrt(w2);