Qual é o método para converter radianos em graus?


156

Eu me deparo com isso ocasionalmente e sempre esqueço como fazê-lo.

Uma daquelas coisas que surgem com tanta frequência.

Além disso, qual é a fórmula para converter ângulos expressos em radianos em graus e vice-versa?


4
Não vejo por que as pessoas estão votando contra isso; algumas pessoas não são matematicamente inclinadas.
thesmallprint 25/09/08

1
é apenas uma questão de fraseado. Eu o reformulei como um problema de programação em vez de um problema de matemática, e pronto, ele se encaixa.
DevelopingChris

3
O título desta pergunta não faz sentido. "[B] uilt in method" --- construído para quê?
Michael J. Barber

1
eu estou indo para ir pedir um método para converter Celsius em Fahrenheit e para trás, eu continuo esquecendo que um também
Alex

7
O StackOverflow é mais do que um fórum de perguntas e respostas. É um local de referência. Originalmente, coloquei a questão aqui como uma pergunta de referência, porque é realmente muito comum. Ele pertence aqui, então, quando alguém responder "Just Google it", o Google o direcionará para aqui.
Hans Sjunnesson

Respostas:


273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

Quanto à implementação, a principal questão é quão preciso você deseja ser sobre o valor de pi. Há alguma discussão relacionada aqui


11
Pi = 4 * ArcTan (1) poderia ser usado, no caso de você não tem Pi em você sistema / calculadora ou simplesmente não querem que digitá-la com todas as casas decimais
Axel Kemper

21
Talvez isso não estivesse disponível em 2008, mas hoje em dia você pode apenas usar a Math.PIconstante.
24514 Bart Bart:

1
Os rótulos da unidade @Hogun não são a mesma coisa que as variáveis ​​algébricas. Quando você diz "PI radianos = 180 graus", está falando em unidades, equivalente a dizer "1 pé = 12 polegadas". Você não pega os rótulos das unidades e os trata como variáveis, o que daria a equação obviamente errada "pés = 12 * polegadas".
Dave Costa

1
Não há necessidade de graus de parênteses = radianos * 180 / Math.PI; radianos = graus * Math.PI / 180;
Pawel

2
@Pawel Enquanto você estiver certo, ouso dizer que o autor usou os parênteses para transmitir um conceito sobre como a função se reúne conceitualmente.
27917 Jacksonkr

10

um círculo completo em radianos é 2 * pi. Um círculo completo em graus é 360. Para ir de graus a radianos, é (d / 360) * 2 * pi ou d * pi / 180.


9

x rads em graus -> x * 180 / pi
x graus em rads -> x * pi / 180

Eu acho que se você quisesse fazer uma função para isso [em PHP]:

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

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

    return $result;
  }

Sim, isso provavelmente poderia ser escrito melhor.


4

Em javascript, você pode fazer desta maneira

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

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

1

Isso funciona bem o suficiente para mim :)

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



0

360 graus = 2 * pi radianos

Isso significa deg2rad (x) = x * pi / 180 e rad2deg (x) = 180x / pi;


0

pi Radianos = 180 graus

Então, 1 grau = pi / 180 radianos

ou 1 radiano = 180 / pi graus


0

Para duplicar em c #, isso pode ser útil:

        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

Aqui está um código que estende Object com rad(deg), deg(rad)e também mais duas funções úteis: getAngle(point1,point2)e getDistance(point1,point2)onde um ponto precisa ter uma propriedade xe 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));

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.