From d48a83dee202c38202be600f2cf464e4c9b48ef6 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Sat, 21 Jan 2023 15:16:35 -0800 Subject: [PATCH] [wpimath] Update Wikipedia links for quaternion to Euler angle conversion (NFC) (#4995) --- .../main/java/edu/wpi/first/math/geometry/Rotation3d.java | 6 +++--- wpimath/src/main/native/cpp/geometry/Rotation3d.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/wpimath/src/main/java/edu/wpi/first/math/geometry/Rotation3d.java b/wpimath/src/main/java/edu/wpi/first/math/geometry/Rotation3d.java index 3226e31f06..a0f46f6626 100644 --- a/wpimath/src/main/java/edu/wpi/first/math/geometry/Rotation3d.java +++ b/wpimath/src/main/java/edu/wpi/first/math/geometry/Rotation3d.java @@ -297,7 +297,7 @@ public class Rotation3d implements Interpolatable { final var y = m_q.getY(); final var z = m_q.getZ(); - // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion + // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_(in_3-2-1_sequence)_conversion return Math.atan2(2.0 * (w * x + y * z), 1.0 - 2.0 * (x * x + y * y)); } @@ -312,7 +312,7 @@ public class Rotation3d implements Interpolatable { final var y = m_q.getY(); final var z = m_q.getZ(); - // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion + // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_(in_3-2-1_sequence)_conversion double ratio = 2.0 * (w * y - z * x); if (Math.abs(ratio) >= 1.0) { return Math.copySign(Math.PI / 2.0, ratio); @@ -332,7 +332,7 @@ public class Rotation3d implements Interpolatable { final var y = m_q.getY(); final var z = m_q.getZ(); - // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion + // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_(in_3-2-1_sequence)_conversion return Math.atan2(2.0 * (w * z + x * y), 1.0 - 2.0 * (y * y + z * z)); } diff --git a/wpimath/src/main/native/cpp/geometry/Rotation3d.cpp b/wpimath/src/main/native/cpp/geometry/Rotation3d.cpp index 298f0e6740..b109682f70 100644 --- a/wpimath/src/main/native/cpp/geometry/Rotation3d.cpp +++ b/wpimath/src/main/native/cpp/geometry/Rotation3d.cpp @@ -184,7 +184,7 @@ units::radian_t Rotation3d::X() const { double y = m_q.Y(); double z = m_q.Z(); - // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion + // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_(in_3-2-1_sequence)_conversion return units::radian_t{ std::atan2(2.0 * (w * x + y * z), 1.0 - 2.0 * (x * x + y * y))}; } @@ -195,7 +195,7 @@ units::radian_t Rotation3d::Y() const { double y = m_q.Y(); double z = m_q.Z(); - // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion + // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_(in_3-2-1_sequence)_conversion double ratio = 2.0 * (w * y - z * x); if (std::abs(ratio) >= 1.0) { return units::radian_t{std::copysign(std::numbers::pi / 2.0, ratio)}; @@ -210,7 +210,7 @@ units::radian_t Rotation3d::Z() const { double y = m_q.Y(); double z = m_q.Z(); - // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_conversion + // https://en.wikipedia.org/wiki/Conversion_between_quaternions_and_Euler_angles#Quaternion_to_Euler_angles_(in_3-2-1_sequence)_conversion return units::radian_t{ std::atan2(2.0 * (w * z + x * y), 1.0 - 2.0 * (y * y + z * z))}; }