True north-based azimuths

13 vues (au cours des 30 derniers jours)
Cristian Martin
Cristian Martin le 22 Mai 2022
Commenté : Cristian Martin le 22 Mai 2022
Can I automatically find True north-based azimuths based on certain value of an azimuth from a refference point ?
Let's say if I have a value of 90 the result will be East, I have a value of 25 the result will be North-northeast.
I could do a function but maybe there's more easier methodes.
Thank you!

Réponse acceptée

Bjorn Gustavsson
Bjorn Gustavsson le 22 Mai 2022
Your question doesn't make much sense, sure you can do that - but that would be more of "establishing" your azimuth-convention. If you are thinking of calculating the azimuth clockwise from North to a point [x,y] from a point [x0,y0]. Then atan2 should be your friend:
phi = atan2(x0-x,y0-y);
Or atan2d if you directly want the angle in degrees - which I've found to be a dangerous habit to use, it is in my experience strongly preferable to have all angles in radians and convert to degrees when displaying.
HTH
  5 commentaires
Bjorn Gustavsson
Bjorn Gustavsson le 22 Mai 2022
If you want to display the label from directionNames with the directionValues closest to an arbitrary angle, phi, you only have to determine the "best matching direction". You can for example do this:
dl2 = ((cosd(phi)-cosd(directionValues)).^2 + ...
(sind(phi)-sind(directionValues)).^2); % should be robust to wrap-arounds
[dl,idx_best] = min(dl2);
disp(directionNames);
HTH
Cristian Martin
Cristian Martin le 22 Mai 2022
Thanks Bjorn !

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by