Umwandlung von Bogenmaß in Grad

Ich bin den Aufbau einer kleinen Physik-engine und ich habe Probleme, meine Umwandlung Radiant Wert in Grad mit atan wie muss ich einen Winkel, um die Ausgabe in Grad nur.

Erstens, ich habe eine x und y Wert, und ich finden müssen, die einen Winkel mit atan, so dass ich Teile von y nach x wie folgt:

angleDivide = yN / xN;

Dann, bevor dieser Wert in tan ich Versuch es zu konvertieren in Grad, so:

angleToDegrees = angleDivide * (3.14 / 180);

Dann habe ich Platz angleToDegrees in atan:

angle = atan(angleToDegrees);

Aber wenn ich die Anzeige angle ich bin, noch immer radian Werte.

Bitte könnten Sie mir sagen, was ist Los mit meinem code und wie man dieses Problem beheben?

Das ist eine entsetzlich schlechte Näherung an pi. Erste verwenden Sie M_PI wenn es definiert ist, bitte, oder sonst definieren, die es zu LDBL_DIG_10 Ziffern Genauigkeit. Second, sollten Sie die Umwandlung der Ausgabe atan() von Rad zu Grad, nicht der input (das ist nur ein Hang). Dritte verwenden, sollten Sie atan2(y,x) und nicht atan(y/x).
Ähm... Erstens, dein text sagt, dass Sie wollen, stellen Sie den Wert in tan, aber der code wird dann verwendet es in atan. So ist es für tan oder für atan? Make up your mind. Zweitens, wenn dies für die atan, warum sind Sie dann zu konvertieren? Das argument der atan ist nicht in einem Winkel. Es ist Tangens-Wert. Tangente ist weder "Bogenmaß" noch "Grad". Tangente ist einheitenlosen Wert. Konvertieren von "radians zu Grad" für etwas, das nicht einen Winkel macht keinen Sinn überhaupt. Es ist die Ergebnisatan, möchten Sie vielleicht in Grad umrechnen. Das Ergebnis, nicht das argument.

InformationsquelleAutor Lucy Loo | 2016-11-24

Schreibe einen Kommentar