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.