从弧度转换为度

Luc*_*Loo 2 c++ math physics visual-studio-2015

我正在构建一个小型的Physics引擎,但无法使用来将Radian值转换为Degrees atan,因为我只需要一个角度即可输出度数。

首先,我有一个xy值,我需要使用来找到一个角度atan,因此我将y除以x就像这样:

angleDivide = yN / xN;
Run Code Online (Sandbox Code Playgroud)

然后,在将该值放入之前tan,我尝试将其转换为以下度数:

angleToDegrees = angleDivide * (3.14 / 180);
Run Code Online (Sandbox Code Playgroud)

然后我将angleToDegrees放入atan

angle = atan(angleToDegrees);
Run Code Online (Sandbox Code Playgroud)

但是当我显示时angle,我仍然在获得弧度值。

请您告诉我我的代码有什么问题以及如何解决此问题?

ant*_*ell 5

radians=tan(y/x)要先计算。

然后,您可以将其转换为度:

radians = atan(y/x)
degrees = radians * (180.0/3.141592653589793238463)
Run Code Online (Sandbox Code Playgroud)

请参阅此处的有关atan 的参考

另外,您还必须考虑到您所在的象限才能获得正确的答案(因为-y/x该数字与相同y/-x

  • 关于您的旁注:这就是`atan2(y,x)`的目的。 (4认同)