Normalize the result of the rotation
This commit is contained in:
parent
006ea046e4
commit
aaf335d218
@ -21,13 +21,13 @@ Polar::Polar(float newAngle, float newDistance) {
|
|||||||
|
|
||||||
const Polar Polar::zero = Polar(0, 0);
|
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 =
|
float d =
|
||||||
Angle::CosineRuleSide(v1.distance, v2.distance, v2.angle - v1.angle);
|
Angle::CosineRuleSide(v1.distance, v2.distance, v2.angle - v1.angle);
|
||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
Polar Polar::operator+(const Polar& v2) const {
|
Polar Polar::operator+(const Polar &v2) const {
|
||||||
if (v2.distance == 0)
|
if (v2.distance == 0)
|
||||||
return Polar(this->angle, this->distance);
|
return Polar(this->angle, this->distance);
|
||||||
if (this->distance == 0)
|
if (this->distance == 0)
|
||||||
@ -58,7 +58,7 @@ Polar Polar::operator-() {
|
|||||||
return vector;
|
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));
|
Polar vector = *this + (Polar(v2.angle - 180, v2.distance));
|
||||||
return vector;
|
return vector;
|
||||||
}
|
}
|
||||||
@ -67,11 +67,11 @@ Polar Polar::operator*(float f) const {
|
|||||||
return Polar(this->angle, this->distance * f);
|
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);
|
return Polar(this->angle, this->distance / f);
|
||||||
}
|
}
|
||||||
|
|
||||||
Polar Polar::Rotate(Polar v, float angle) {
|
Polar Polar::Rotate(Polar v, float angle) {
|
||||||
v.angle += angle;
|
v.angle = Angle::Normalize(v.angle + angle);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user