把弧度转换成度数的方法是什么?

我偶尔会碰到这种情况,总是忘记怎么做。

这种事经常发生。

还有,如何将用弧度表示的角度转换成角度,然后再转换回来?

132388 次浏览

180度 = PI * 弧度

以度为单位的 x 射线-> x * 180/pi
X 度-> x * pi/180 < br/>

我猜如果你想为这个(在 PHP 中)创建一个函数:

function convert($type, $num) {
if ($type == "rads") {
$result = $num*180/pi();
}


if ($type == "degs") {
$result = $num*pi()/180;
}


return $result;
}

是的,这个也许可以写得更好。

radians = degrees * (pi/180)


degrees = radians * (180/pi)

至于实现,主要的问题是您希望对 π 的值有多精确。有一些相关的讨论 给你

360度是2 * PI 弧度

您可以在 http://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degrees找到转换公式。

360度 = 2 * π 弧度

这意味着 deg2rad (x) = x * pi/180和 rad2deg (x) = 180x/pi;

弧度中的一个完整圆是2 * π。一个完整的圆是360度。从度数到弧度,是(d/360) * 2 * pi,或者 d * pi/180。

Π 弧度 = 180度

所以1度 = π/180弧度

或者1弧度 = 180/π 度

radians = (degrees/360) * 2 * pi

这对我来说已经足够了:)

// deg2rad * degrees = radians
#define deg2rad (3.14159265/180.0)
// rad2deg * radians = degrees
#define rad2deg (180/3.14159265)

在 javascript 中你可以这样做

radians = degrees * (Math.PI/180);


degrees = radians * (180/Math.PI);

对于 c # 中的 double,这可能会有所帮助:

        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;
}

下面是一些用 rad(deg)deg(rad)扩展 Object 的代码,还有两个更有用的函数: getAngle(point1,point2)getDistance(point1,point2),其中一个点需要具有 xy属性。

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));