mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-04 18:54:00 +08:00
revert previous change in Quaternion::setFromTwoVectors
This commit is contained in:
parent
03c1e79f35
commit
044dd0c1dd
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "Array"
|
#include "Array"
|
||||||
#include "SVD"
|
#include "SVD"
|
||||||
|
#include "LU"
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#ifndef M_PI
|
#ifndef M_PI
|
||||||
|
@ -373,7 +373,7 @@ inline Quaternion<Scalar>& Quaternion<Scalar>::setFromTwoVectors(const MatrixBas
|
|||||||
c = std::max<Scalar>(c,-1);
|
c = std::max<Scalar>(c,-1);
|
||||||
Matrix<Scalar,2,3> m; m << v0.transpose(), v1.transpose();
|
Matrix<Scalar,2,3> m; m << v0.transpose(), v1.transpose();
|
||||||
SVD<Matrix<Scalar,2,3> > svd(m);
|
SVD<Matrix<Scalar,2,3> > svd(m);
|
||||||
Vector3 axis = svd.matrixV().col(0);
|
Vector3 axis = svd.matrixV().col(2);
|
||||||
|
|
||||||
Scalar w2 = (Scalar(1)+c)*Scalar(0.5);
|
Scalar w2 = (Scalar(1)+c)*Scalar(0.5);
|
||||||
this->w() = ei_sqrt(w2);
|
this->w() = ei_sqrt(w2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user