[R] Angle between two points with coordinates

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Thu Jan 28 19:38:01 CET 2016

```Functions return one value.

Look at ?atan2 to address ambiguity in identifying angles.
--
Sent from my phone. Please excuse my brevity.

On January 28, 2016 9:09:53 AM PST, "Gwennaël Bataille" <gwennael.bataille at uclouvain.be> wrote:
>Dear all,
>I'd like to calculate the angle from one point (origin) to another
>(target), whatever their coordinates.
>But I encounter some problems (detailed below). The problem could be
>solved if one of you could answer positively to one of the following
>questions:
>
>1) Is there a function in R converting angles in a standardized manner?
>
>(for example, converting -150 or 570 (=210+360) into 210)
>
>2) If not, would you know a function arccos or arcsin returning two
>different angles as an output instead of one?
>
>
>
>Details:
>
>I'd like to calculate the angle from one point (origin) to another
>(target), whatever their coordinates.
>For this, the acos and asin functions work pretty well when the end
>point is located right and above the starting point (first quarter of
>the trigonometric circle), but are problematic otherwise.
>
># In the following example, the origin is (0,0) and the target
>(0.8660254, 0.5) is located at an angle of 30° :
>acos( (0.8660254 - 0) )*180/pi
>asin( (0.5 - 0) )*180/pi
># Both acos and asin give the same answer : 30
>
># If now, the origin is (0.8660254, 0.5) and the target is (0,0), the
>target is located at an angle of -150° :
>acos( (0 - 0.8660254) )*180/pi
>asin( (0 - 0.5) )*180/pi
># Here the results are different : 150 and -30
>
># In fact, there are two angle solutions giving the same cosinus : 150
>and -(150)
># And for sinus as well : -30 and ( 180 - (-30) ) = 210° = -150°
>-acos( (0 - 0.8660254) )*180/pi
>180 - asin( (0 - 0.5) )*180/pi
># But I cannot test equality between the two :
>-acos( (0 - 0.8660254) )*180/pi    ==    180 - asin( (0 - 0.5) )*180/pi
># FALSE, since 210 != -150  (it's only the case when those two are
>angles)
>
>
>
>Best regards,
>
>
>Gwennaël
>
>--
>Gwennaël BATAILLE, PhD student - Teaching assistant
>
>Earth and Life Institute
>Université Catholique de Louvain
>1348 Louvain-la-Neuve
>BELGIUM
>
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help