What is the method for converting radians to degrees?
AlgorithmMathTrigonometryAlgorithm Problem Overview
I run into this occasionally and always forget how to do it.
One of those things that pop up ever so often.
Also, what's the formula to convert angles expressed in radians to degrees and back again?
Algorithm Solutions
Solution 1 - Algorithm
radians = degrees * (pi/180)
degrees = radians * (180/pi)
As for implementation, the main question is how precise you want to be about the value of pi. There is some related discussion here
Solution 2 - Algorithm
a complete circle in radians is 2pi. A complete circle in degrees is 360. To go from degrees to radians, it's (d/360) * 2pi, or d*pi/180.
Solution 3 - Algorithm
x rads in degrees - > x180/pi
x degrees in rads -> xpi/180
I guess if you wanted to make a function for this [in PHP]:
function convert($type, $num) {
if ($type == "rads") {
$result = $num*180/pi();
}
if ($type == "degs") {
$result = $num*pi()/180;
}
return $result;
}
Yes, that could probably be written better.
Solution 4 - Algorithm
In javascript you can do it this way
radians = degrees * (Math.PI/180);
degrees = radians * (180/Math.PI);
Solution 5 - Algorithm
This works well enough for me :)
// deg2rad * degrees = radians
#define deg2rad (3.14159265/180.0)
// rad2deg * radians = degrees
#define rad2deg (180/3.14159265)
Solution 6 - Algorithm
180 degrees = PI * radians
Solution 7 - Algorithm
360 degrees is 2*PI radians
You can find the conversion formulas at: <http://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degrees>;.
Solution 8 - Algorithm
360 degrees = 2*pi radians
That means deg2rad(x) = x*pi/180 and rad2deg(x) = 180x/pi;
Solution 9 - Algorithm
pi Radians = 180 degrees
So 1 degree = pi/180 radians
or 1 radian = 180/pi degrees
Solution 10 - Algorithm
For double in c# this might be helpful:
public static double Conv_DegreesToRadians(this double degrees)
{
//return degrees * (Math.PI / 180d);
return degrees * 0.017453292519943295d;
}
public static double Conv_RadiansToDegrees(this double radians)
{
//return radians * (180d / Math.PI);
return radians * 57.295779513082323d;
}
Solution 11 - Algorithm
Here is some code which extends Object with rad(deg)
, deg(rad)
and also two more useful functions: getAngle(point1,point2)
and getDistance(point1,point2)
where a point needs to have a x
and y
property.
Object.prototype.rad = (deg) => Math.PI/180 * deg;
Object.prototype.deg = (rad) => 180/Math.PI * rad;
Object.prototype.getAngle = (point1, point2) => Math.atan2(point1.y - point2.y, point1.x - point2.x);
Object.prototype.getDistance = (point1, point2) => Math.sqrt(Math.pow(point1.x-point2.x, 2) + Math.pow(point1.y-point2.y, 2));
Solution 12 - Algorithm
radians = (degrees/360) * 2 * pi