From b7fadd730a78671a0eaf55c36df24c04661ef2c3 Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Tue, 16 Nov 2021 00:07:48 +0000 Subject: Swap y,z axis This was a pain... but all the coords make much more sense now and a lot of mystery negation has disappeared. --- lib/maths.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'lib/maths.cpp') diff --git a/lib/maths.cpp b/lib/maths.cpp index 0298363..e894d02 100644 --- a/lib/maths.cpp +++ b/lib/maths.cpp @@ -9,7 +9,7 @@ glm::mat4 flat_orientation(const glm::vec3 & diff) { static const auto oneeighty {glm::rotate(pi, up)}; - const auto flatdiff {glm::normalize(glm::vec3 {diff.x, 0, diff.z})}; + const auto flatdiff {glm::normalize(!!diff)}; auto e {glm::orientation(flatdiff, north)}; // Handle if diff is exactly opposite to north return (std::isnan(e[0][0])) ? oneeighty : e; @@ -42,16 +42,16 @@ rotate_flat(float a) return rotation(a, {0, 0}, {0, 1}, {1, 1}, {1, 0}); } -// Create a roll transformation matrix +// Create a yaw transformation matrix glm::mat4 -rotate_roll(float a) +rotate_yaw(float a) { - return rotation(a, {0, 0}, {0, 1}, {1, 1}, {1, 0}); + return rotation(a, {0, 0}, {1, 0}, {1, 1}, {0, 1}); } -// Create a yaw transformation matrix +// Create a roll transformation matrix glm::mat4 -rotate_yaw(float a) +rotate_roll(float a) { return rotation(a, {0, 0}, {2, 0}, {2, 2}, {0, 2}); } @@ -63,7 +63,7 @@ rotate_pitch(float a) return rotation(a, {1, 1}, {1, 2}, {2, 2}, {2, 1}); } -// Create a bomcined yaw, pitch, roll transformation matrix +// Create a combined yaw, pitch, roll transformation matrix glm::mat4 rotate_ypr(glm::vec3 a) { @@ -73,13 +73,13 @@ rotate_ypr(glm::vec3 a) float vector_yaw(const glm::vec3 & diff) { - return std::atan2(diff.x, diff.z); + return std::atan2(diff.x, diff.y); } float vector_pitch(const glm::vec3 & diff) { - return std::atan(diff.y); + return std::atan(diff.z); } float -- cgit v1.2.3