我正在构建一个小型物理引擎,因为我只需要一个以度为单位输出的角度,所以我无法使用atan
将我的弧度值转换为度。从弧度转换为度
首先,我有一个x
和y
价值,我需要找到使用atan
的角度,所以我把Ÿ用x像这样:
angleDivide = yN/xN;
然后,把这个值转换成tan
之前,我试图将其转换为度这样的:
angleToDegrees = angleDivide * (3.14/180);
然后我把angleToDegrees到atan
:
angle = atan(angleToDegrees);
但是当我显示angle
时,我仍然得到弧度值。
请你能告诉我我的代码有什么问题,以及如何解决这个问题?
这对于pi来说是一个很糟糕的近似值。 **首先**,如果定义了请使用'M_PI',否则请将其定义为'LDBL_DIG_10'的数字精度。 ** Second **,你应该将'atan()'的_output_从rads转换为度数,而不是输入(这只是一个斜率)。 **第三**,你应该使用'atan2(y,x)'而不是'atan(y/x)'。 –
嗯......首先,你的文本说你想把值放到'tan'中,但是代码然后在'atan'中使用它。那么,对于'tan'还是'atan'?下定决心。其次,如果这是'atan',那么你为什么要转换它? “阿坦”的论点不是一个角度。它是切线值。切线既不是“弧度”也不是“度”。切线是无价值的。将“弧度转换为度数”表示某个非角度的东西毫无意义。这是'atan'的*结果*,您可能想转换为度数。结果,而不是论证。 – AnT