From aaf335d2187c980a868d30dc6b06b1d4ced50220 Mon Sep 17 00:00:00 2001 From: Pascal Serrarens Date: Fri, 29 Dec 2023 12:27:22 +0100 Subject: [PATCH] Normalize the result of the rotation --- src/Polar.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Polar.cpp b/src/Polar.cpp index c1f36f0..aa28e9a 100644 --- a/src/Polar.cpp +++ b/src/Polar.cpp @@ -21,13 +21,13 @@ Polar::Polar(float newAngle, float newDistance) { const Polar Polar::zero = Polar(0, 0); -float Polar::Distance(const Polar& v1, const Polar& v2) { +float Polar::Distance(const Polar &v1, const Polar &v2) { float d = Angle::CosineRuleSide(v1.distance, v2.distance, v2.angle - v1.angle); return d; } -Polar Polar::operator+(const Polar& v2) const { +Polar Polar::operator+(const Polar &v2) const { if (v2.distance == 0) return Polar(this->angle, this->distance); if (this->distance == 0) @@ -58,7 +58,7 @@ Polar Polar::operator-() { return vector; } -Polar Polar::operator-(const Polar& v2) const { +Polar Polar::operator-(const Polar &v2) const { Polar vector = *this + (Polar(v2.angle - 180, v2.distance)); return vector; } @@ -67,11 +67,11 @@ Polar Polar::operator*(float f) const { return Polar(this->angle, this->distance * f); } -Polar Polar::operator/(const float& f) { +Polar Polar::operator/(const float &f) { return Polar(this->angle, this->distance / f); } Polar Polar::Rotate(Polar v, float angle) { - v.angle += angle; + v.angle = Angle::Normalize(v.angle + angle); return v; } \ No newline at end of file