Qual è il metodo per convertire i radianti in gradi?


156

Mi imbatto in questo di tanto in tanto e dimentico sempre come farlo.

Una di quelle cose che spuntano così spesso.

Inoltre, qual è la formula per convertire gli angoli espressi in radianti in gradi e viceversa?


4
Non vedo perché la gente stia votando a favore di questo; alcune persone non sono matematicamente inclini.
thesmallprint,

1
è solo una questione di fraseggio. L'ho riformulato come un problema di programmazione anziché come un problema di matematica, e voilà, si adatta.
DevelopingChris,

3
Il titolo di questa domanda non ha senso. "[B] metodo incorporato" --- integrato in cosa?
Michael J. Barber,

1
vado a chiedere un metodo per convertire Celsius in Fahrenheit e viceversa, continuo a dimenticare anche quello
Alex

7
StackOverflow è più di un forum per domande e risposte. È un luogo di riferimento. Inizialmente ho inserito la domanda qui come domanda di riferimento, perché è davvero molto comune. Appartiene qui, quindi quando qualcuno risponde "Solo Google it", Google ti indirizzerà qui.
Hans Sjunnesson,

Risposte:


273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

Per quanto riguarda l'implementazione, la domanda principale è quanto vuoi essere preciso sul valore di pi. C'è qualche discussione correlata qui


11
Pi = 4 * ArcTan (1) potrebbe essere utilizzato, nel caso in cui non si abbia Pi sul proprio sistema / calcolatrice o semplicemente non si voglia digitarlo con tutti i decimali
Axel Kemper

21
Forse questo non era disponibile nel 2008, ma al giorno d'oggi puoi semplicemente usare la Math.PIcostante.
Bart,

1
Le etichette di unità @Hogun non sono la stessa cosa delle variabili algebriche. Quando dici "PI radianti = 180 gradi" parli in unità, equivalenti a dire "1 piede = 12 pollici". Quindi non prendi le etichette delle unità e le tratti come variabili, il che darebbe l'equazione ovviamente sbagliata "piedi = 12 * pollici".
Dave Costa

1
Non sono necessari gradi parens = radianti * 180 / Math.PI; radianti = gradi * Math.PI / 180;
Pawel,

2
@Pawel Anche se hai ragione, oso dire che l'autore ha usato le parentesi per trasmettere un concetto su come la funzione si combina concettualmente.
Jacksonkr,

10

un cerchio completo in radianti è 2 * pi. Un cerchio completo in gradi è 360. Per passare da gradi a radianti, è (d / 360) * 2 * pi o d * pi / 180.


9

x rads in gradi -> x * 180 / pi
x gradi in rads -> x * pi / 180

Immagino che se volessi creare una funzione per questo [in PHP]:

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

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

    return $result;
  }

Sì, probabilmente potrebbe essere scritto meglio.


4

In javascript puoi farlo in questo modo

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

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

1

Questo funziona abbastanza bene per me :)

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



0

360 gradi = 2 * pi radianti

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


0

pi Radianti = 180 gradi

Quindi 1 grado = pi / 180 radianti

o 1 radiante = 180 / pi gradi


0

Per il doppio in c # questo potrebbe essere utile:

        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

Ecco un po 'di codice che estende Object con rad(deg), deg(rad)e anche altre due utili funzioni: getAngle(point1,point2)e getDistance(point1,point2)dove un punto deve avere a xe yproprietà.

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.