This week's book giveaways are in the Refactoring and Agile forums.We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!

# What is Math.atan() returning?

dave taubler
Ranch Hand
Posts: 132
I am trying to simply find the angle between two points. I'm trying to get the arc tangent to derive the angle, but Math.atan() doesn not seem to return an angle of any sort. I've reduce my code to a simple example:

double distanceAngle = Math.atan(0.2455);
System.out.println("angle = " + distanceAngle);

that prints:

angle = 0.24073890523107128

If I go to any calculator and get the arc tangent of 0.2455, I get 13.79 degrees, which is the angle I am looking for. So......... does anyone know what Math.atan() is returning?

Henry Wong
author
Marshal
Posts: 20902
76
Well, according to the JavaDoc, the result is an angle in Radians.

To convert Radians to Degrees, multiply by 180 and divide by PI.

Henry

Jim Yingst
Wanderer
Sheriff
Posts: 18671
You can also use Math.toDegrees() to convert from radians to degrees.

Surasak Leenapongpanit
Ranch Hand
Posts: 341
java doc 1.4.2

atan
public static double atan(double a)Returns the arc tangent of an angle, in the range of -pi/2 through pi/2. Special cases:
If the argument is NaN, then the result is NaN.
If the argument is zero, then the result is a zero with the same sign as the argument.
A result must be within 1 ulp of the correctly rounded result. Results must be semi-monotonic.

Parameters:
a - the value whose arc tangent is to be returned.
Returns:
the arc tangent of the argument.

fred rosenberger
lowercase baba
Bartender
Posts: 12086
29
Here's the link you need to the API. I'd bookmark this site, and refer to it frequently. It will answer many of the question like this you may have, and probably be faster than posting here. But don't hesitate to ask here when you can't find the answer!!!
:-)

dave taubler
Ranch Hand
Posts: 132
Hi,

Thanks to everyone who replied, I do appreciate it. The reason I wrote is that I *did* go through the JavaDocs, and they were no help (even Surasak Leenapongpanit's reposting of the atan() API says nothing about radians); I Googled for about half an hour as well, to no avail. Believe me, I do all the research I reasonably can before posting!

Peter Chase
Ranch Hand
Posts: 1970
In the version of the API JavaDocs that I have (1.4.2, I think), it does mention radians in many of the math functions, but not in atan(). It does give a clue by saying that the result of atan() will be between plus and minus pi/2, though, which is a hint at radians.

I reckon the person who wrote the docs was a mathematician or engineer for whom radians would be the "obvious" representation. But degrees are still the most common representation of angles, for most people.