Какой метод преобразования радиан в градусы?

156

Я иногда сталкиваюсь с этим и всегда забываю, как это сделать.

Одна из тех вещей, которые появляются очень часто.

Кроме того, какова формула для преобразования углов, выраженных в радианах, в градусы и обратно?

Ханс Сьюннессон
источник
4
Я не понимаю, почему люди это голосуют. некоторые люди не склонны математически.
мелкий отпечаток
1
это просто вопрос формулировки. Я перефразировал это как проблему программирования вместо математической задачи, и вуаля, это подходит.
DevelopingChris
3
Название этого вопроса не имеет смысла. "[B] uilt in method" --- встроен в что?
Майкл Дж. Барбер
1
я собираюсь пойти и попросить метод для преобразования Цельсия в Фаренгейт и обратно, я тоже забываю об этом
Alex
7
StackOverflow - это больше, чем форум для вопросов и ответов. Это место ссылки. Первоначально я поставил вопрос здесь в качестве справочного вопроса, потому что он действительно очень распространен. Он принадлежит здесь, поэтому, когда кто-то ответит «Просто Google это», Google направит вас сюда.
Ханс Сьюннессон

Ответы:

273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

Что касается реализации, главный вопрос - насколько точно вы хотите быть о значении числа пи. Существует несколько связанного обсуждения здесь

Дейв Коста
источник
11
Pi = 4 * ArcTan (1) может быть использован, если у вас нет Pi в вашей системе / калькуляторе или вы просто не хотите вводить его со всеми десятичными знаками
Аксель Кемпер
21
Может быть, это не было доступно в 2008 году, но в настоящее время вы можете просто использовать Math.PIконстанту.
Барт
1
@Hogun Метки единиц - это не то же самое, что алгебраические переменные. Когда вы говорите «Пи радианы = 180 градусов», вы говорите в единицах, что эквивалентно выражению «1 фут = 12 дюймов». Затем вы не берете метки единиц измерения и не рассматриваете их как переменные, что может привести к явно неправильному уравнению «футы = 12 * дюймов».
Дейв Коста
1
Нет необходимости в градусах Паренса = радианы * 180 / Math.PI; радианы = градусы * Math.PI / 180;
Павел
2
@Pawel Хотя вы правы, я осмелюсь сказать, что автор использовал паренсы, чтобы передать концепцию о том, как эта функция концептуально объединяется.
Джексонкр,
10

полный круг в радианах - 2 * пи. Полный круг в градусах равен 360. Чтобы перейти от градусов к радианам, это (d / 360) * 2 * pi или d * pi / 180.

nsayer
источник
9

х рад в градусах -> х * 180 / пи
х градусов в радиусов -> х * пи / 180

Я думаю, если вы хотите сделать функцию для этого [в PHP]:

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

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

    return $result;
  }

Да, это могло бы быть написано лучше.

thesmallprint
источник
4

В JavaScript вы можете сделать это таким образом

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

degrees = radians * (180/Math.PI);
Rayiez
источник
1

Это работает достаточно хорошо для меня :)

// deg2rad * degrees = radians
#define deg2rad (3.14159265/180.0)
// rad2deg * radians = degrees
#define rad2deg (180/3.14159265)
Warpling
источник
0

180 градусов = пи * радианы

Чарльз Грэм
источник
1
180 градусов = пи радианы.
Гар
0

360 градусов = 2 * пи радианы

Это означает, что deg2rad (x) = x * pi / 180 и rad2deg (x) = 180x / pi;

Ханнес Оврен
источник
0

пи радианы = 180 градусов

Итак, 1 градус = пи / 180 радиан

или 1 радиан = 180 / пи градусов

manobes
источник
0

Для double в c # это может быть полезно:

        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;
        }
Корай
источник
0

Вот код , который расширяет объект с rad(deg), deg(rad)а также два более полезных функций: getAngle(point1,point2)и getDistance(point1,point2)где точка должна иметь xи yсвойство.

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));
Netsi1964
источник