MATLAB Answers

0

Rotating polar coordinates 180 degrees

Asked by Right Grievous on 1 Feb 2015
Latest activity Answered by David Young
on 1 Feb 2015
Hi all,
I have a series of polar coordinates (ranging from -180 - 180 degrees), some of these coordinates are reflected in the wrong direction (by 180 degrees) due to a sampling issue. I need to rotate these back to their correct angle but I'm not sure what the correct mathematical process is, i.e. I can't just add 180 degrees because then some values might come out greater than 180.
Any help would be fabulous!
Rod.

  0 Comments

Sign in to comment.

2 Answers

Answer by Star Strider
on 1 Feb 2015

I don’t completely understand the problem, but when you say ‘reflected’, wouldn’t simply negating the angles do what you want?
F’rinstance:
theta_refl = [-180:10:180]; % ‘Reflected’ Angles
theta_true = -theta_refl; % ‘True’ Angles

  0 Comments

Sign in to comment.


Answer by David Young
on 1 Feb 2015

If you want to ensure that all angles are in the range -180 to 180, you can do this:
theta_true = mod(theta_refl, 360) - 180;
which adds 180 to the angles, reversing their direction, then subtracts 360 from any that are over 180 so that they are in the required numerical range.

  0 Comments

Sign in to comment.