¿Cuál es el método para convertir radianes a grados?


156

Me encuentro con esto ocasionalmente y siempre olvido cómo hacerlo.

Una de esas cosas que aparecen con tanta frecuencia.

Además, ¿cuál es la fórmula para convertir ángulos expresados ​​en radianes a grados y viceversa?


44
No veo por qué la gente está rechazando esto; Algunas personas no son matemáticamente inclinadas.
thesmallprint

1
es solo una cuestión de fraseo. Lo reformulé como un problema de programación en lugar de un problema de matemáticas, y listo, encaja.
DevelopingChris

3
El título de esta pregunta no tiene sentido. "[B] uilt en método" --- incorporado en qué?
Michael J. Barber

1
Voy a pedir un método para convertir Celsius a Fahrenheit y viceversa, también me olvido de eso
Alex

77
StackOverflow es más que un foro para preguntas y respuestas. Es un lugar de referencia. Originalmente puse la pregunta aquí como una pregunta de referencia, porque es realmente muy común. Pertenece aquí, así que cuando alguien responde "Solo Google", Google lo dirigirá aquí.
Hans Sjunnesson el

Respuestas:


273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

En cuanto a la implementación, la pregunta principal es qué tan preciso quiere ser sobre el valor de pi. Hay alguna discusión relacionada aquí


11
Pi = 4 * ArcTan (1) podría usarse, en caso de que no tenga Pi en su sistema / calculadora o simplemente no quiera escribirlo con todos los decimales
Axel Kemper

21
Tal vez esto no estaba disponible en 2008, pero hoy en día solo puedes usar la Math.PIconstante.
Bart

1
Las etiquetas de la unidad @Hogun no son lo mismo que las variables algebraicas. Cuando dices "PI radianes = 180 grados" estás hablando en unidades, equivalente a decir "1 pie = 12 pulgadas". Entonces no toma las etiquetas de la unidad y las trata como variables, lo que le daría la ecuación obviamente incorrecta "pies = 12 * pulgadas".
Dave Costa

1
No hay necesidad de grados parens = radianes * 180 / Math.PI; radianes = grados * Math.PI / 180;
Pawel

2
@Pawel Si bien tienes razón, me atrevo a decir que el autor usó a los padres para transmitir un concepto sobre cómo la función se une conceptualmente.
Jacksonkr

10

un círculo completo en radianes es 2 * pi. Un círculo completo en grados es 360. Para pasar de grados a radianes, es (d / 360) * 2 * pi, o d * pi / 180.


9

x rads en grados -> x * 180 / pi
x grados en rads -> x * pi / 180

Supongo que si quisieras hacer una función para esto [en PHP]:

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

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

    return $result;
  }

Sí, eso probablemente podría escribirse mejor.


4

En javascript puedes hacerlo de esta manera

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

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

1

Esto funciona lo suficientemente bien para mí :)

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



0

360 grados = 2 * pi radianes

Eso significa deg2rad (x) = x * pi / 180 y rad2deg (x) = 180x / pi;


0

pi radianes = 180 grados

Entonces 1 grado = pi / 180 radianes

o 1 radián = 180 / pi grados


0

Para double en c # esto podría 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

Aquí hay un código que extiende Object con rad(deg), deg(rad)y también dos funciones más útiles: getAngle(point1,point2)y getDistance(point1,point2)donde un punto necesita tener una propiedad xy 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));

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.