Wie wird das Bogenmaß in Grad umgerechnet?


156

Ich stoße gelegentlich darauf und vergesse immer, wie es geht.

Eines dieser Dinge, die immer wieder auftauchen.

Wie lautet auch die Formel, um Winkel im Bogenmaß in Grad und wieder zurück umzuwandeln?


4
Ich verstehe nicht, warum die Leute dies ablehnen. Manche Menschen sind mathematisch nicht geneigt.
Thesmallprint

1
es ist nur eine Frage der Formulierung. Ich habe es als Programmierproblem anstatt als mathematisches Problem umformuliert, und voila, es passt.
DevelopingChris

3
Der Titel dieser Frage macht keinen Sinn. "[B] Uilt in Methode" --- eingebaut in was?
Michael J. Barber

1
Ich werde nach einer Methode fragen, um Celsius in Fahrenheit und zurück umzurechnen. Ich vergesse auch diese
Alex

7
StackOverflow ist mehr als ein Forum für Fragen und Antworten. Es ist ein Bezugspunkt. Ich habe die Frage ursprünglich hier als Referenzfrage gestellt, weil sie wirklich sehr, sehr häufig ist. Es gehört hierher. Wenn jemand mit "Just Google it" antwortet, werden Sie von Google hierher geleitet.
Hans Sjunnesson

Antworten:


273
radians = degrees * (pi/180)

degrees = radians * (180/pi)

Bei der Implementierung ist die Hauptfrage, wie genau Sie den Wert von pi angeben möchten. Es gibt einige ähnliche Diskussion hier


11
Pi = 4 * ArcTan (1) kann verwendet werden, falls Sie Pi nicht auf Ihrem System / Rechner haben oder es einfach nicht mit allen Dezimalstellen eingeben möchten
Axel Kemper

21
Vielleicht war dies 2008 nicht verfügbar, aber heutzutage können Sie einfach die Math.PIKonstante verwenden.
Bart

1
@ Hogun Unit-Labels sind nicht dasselbe wie algebraische Variablen. Wenn Sie "PI Radiant = 180 Grad" sagen, sprechen Sie in Einheiten, was "1 Fuß = 12 Zoll" entspricht. Sie nehmen dann nicht die Einheitenbeschriftungen und behandeln sie als Variablen, was Ihnen die offensichtlich falsche Gleichung "Fuß = 12 * Zoll" geben würde.
Dave Costa

1
Keine Notwendigkeit für Parens Grad = Bogenmaß * ​​180 / Math.PI; Bogenmaß = Grad * Math.PI / 180;
Pawel

2
@Pawel Während Sie richtig liegen, wage ich zu sagen, dass der Autor die Parens verwendet hat, um ein Konzept darüber zu vermitteln, wie die Funktion konzeptionell zusammenkommt.
Jacksonkr

10

Ein vollständiger Kreis im Bogenmaß ist 2 * pi. Ein vollständiger Kreis in Grad ist 360. Um von Grad zu Bogenmaß zu gelangen, ist es (d / 360) * 2 * pi oder d * pi / 180.


9

x Rad in Grad -> x * 180 / pi
x Grad in Rad -> x * pi / 180

Ich denke, wenn Sie eine Funktion dafür [in PHP] machen wollten:

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

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

    return $result;
  }

Ja, das könnte wahrscheinlich besser geschrieben werden.


4

In Javascript können Sie dies auf diese Weise tun

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

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

1

Das funktioniert gut genug für mich :)

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



0

360 Grad = 2 * pi Bogenmaß

Das bedeutet deg2rad (x) = x * pi / 180 und rad2deg (x) = 180x / pi;


0

pi Bogenmaß = 180 Grad

Also 1 Grad = pi / 180 Radiant

oder 1 Bogenmaß = 180 / pi Grad


0

Für Double in C # kann dies hilfreich sein:

        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

Hier ist ein Code, der Object erweitert rad(deg), deg(rad)sowie zwei weitere nützliche Funktionen: getAngle(point1,point2)und getDistance(point1,point2)wo ein Punkt eine xund y-Eigenschaft haben muss.

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.