diff --git a/matrix/AxisAngle.hpp b/matrix/AxisAngle.hpp index 98c89cd620..d72de6269a 100644 --- a/matrix/AxisAngle.hpp +++ b/matrix/AxisAngle.hpp @@ -69,7 +69,7 @@ public: AxisAngle(const Quaternion &q) { AxisAngle &v = *this; - Type mag = Type(sqrt(q(1) * q(1) + q(2) * q(2) + q(3) * q(3))); + Type mag = q.imag().norm(); if (fabs(mag) >= Type(1e-10)) { v = q.imag() * Type(Type(2) * atan2(mag, q(0)) / mag); } else {