diff --git a/Polar.cpp b/Polar.cpp index 2ad451c..421962e 100644 --- a/Polar.cpp +++ b/Polar.cpp @@ -2,6 +2,7 @@ #include "Angle.h" #include "Polar.h" +#include "Spherical.h" Polar::Polar() { angle = 0.0F; @@ -26,6 +27,11 @@ Polar::Polar(Vector2 v) { distance = v.magnitude(); } +Polar::Polar(Spherical s) { + angle = s.horizontalAngle; + distance = s.distance * cosf(s.verticalAngle * Angle::Deg2Rad); +} + const Polar Polar::zero = Polar(0, 0); float Polar::Distance(const Polar &v1, const Polar &v2) { diff --git a/Polar.h b/Polar.h index 48d9f17..fa6c287 100644 --- a/Polar.h +++ b/Polar.h @@ -37,6 +37,7 @@ public: Polar(float angle, float distance); Polar(Vector2 v); + Polar(Spherical s); /// /// A polar vector with zero degrees and distance