From 93b494d4ae136f43193a5a2da7a355938517767e Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Mon, 7 Dec 2020 01:40:46 -0500 Subject: Add Quaternion angle_to method --- core/math/quaternion.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'core/math/quaternion.cpp') diff --git a/core/math/quaternion.cpp b/core/math/quaternion.cpp index 7037db7112..3f1d2c58e5 100644 --- a/core/math/quaternion.cpp +++ b/core/math/quaternion.cpp @@ -33,6 +33,11 @@ #include "core/math/basis.h" #include "core/string/print_string.h" +real_t Quaternion::angle_to(const Quaternion &p_to) const { + real_t d = dot(p_to); + return Math::acos(CLAMP(d * d * 2 - 1, -1, 1)); +} + // get_euler_xyz returns a vector containing the Euler angles in the format // (ax,ay,az), where ax is the angle of rotation around x axis, // and similar for other axes. -- cgit v1.2.3