Correct axis on quaternion from swingtwist

This commit is contained in:
Pascal Serrarens 2024-09-27 15:48:35 +02:00
parent 06e42c5b9f
commit 18756ba1a5

View File

@ -49,7 +49,7 @@ SwingTwistOf<T> SwingTwistOf<T>::Degrees(float horizontal,
float vertical, float vertical,
float twist) { float twist) {
SwingTwistOf<T> orientation = SwingTwistOf<T>(AngleOf<T>::Degrees(horizontal), SwingTwistOf<T> orientation = SwingTwistOf<T>(AngleOf<T>::Degrees(horizontal),
AngleOf<T>::Degrees(vertical), -AngleOf<T>::Degrees(vertical),
AngleOf<T>::Degrees(twist)); AngleOf<T>::Degrees(twist));
// DirectionOf<T> swing = DirectionOf<T>::Degrees(horizontal, vertical); // DirectionOf<T> swing = DirectionOf<T>::Degrees(horizontal, vertical);
// AngleOf<T> twistAngle = AngleOf<T>::Degrees(twist); // AngleOf<T> twistAngle = AngleOf<T>::Degrees(twist);
@ -59,7 +59,7 @@ SwingTwistOf<T> SwingTwistOf<T>::Degrees(float horizontal,
template <typename T> template <typename T>
Quaternion SwingTwistOf<T>::ToQuaternion() const { Quaternion SwingTwistOf<T>::ToQuaternion() const {
Quaternion q = Quaternion::Euler(this->swing.vertical.InDegrees(), Quaternion q = Quaternion::Euler(-this->swing.vertical.InDegrees(),
this->swing.horizontal.InDegrees(), this->swing.horizontal.InDegrees(),
this->twist.InDegrees()); this->twist.InDegrees());
return q; return q;