3

我需要将弧度转换为度数。我已经通过 x*180/Pi 进行了尝试,问题是我的输出角度以度分秒为单位,因此转换中的小错误会导致大问题。

For example: (aCos(0)*180)/Pi = 90.00000250 

在以 10 为底的宇宙中,它应该是 90.00000000

4

4 回答 4

14

在代码中使用以下宏将弧度转换为度数:

#define RADIANS_TO_DEGREES(radians) ((radians) * (180.0 / M_PI))

例子:

NSLog(@"Output radians as degrees: %f", RADIANS_TO_DEGREES(0.785398));

通过这个链接

于 2013-04-07T04:50:47.937 回答
3

正确的解决方案是 importGLKit
然后您可以使用 GLKit 已经实现的以下 2 个功能:
GLKMathDegreesToRadians()
GLKMathRadiansToDegrees()

函数GLKit返回的值很好!

目标-C:

import <GLKit.h>

float angleInRadian = GLKMathDegreesToRadians(360.0);
// Return 6.2831854820
float angleInDegrees = GLKMathRadiansToDegrees(angleInRadian);
// Return 360.0000000000

斯威夫特:

import GLKit

let angleInRadian: Float = GLKMathDegreesToRadians(360.0)
// Return 6.2831855
let angleInDegrees: Float = GLKMathRadiansToDegrees(angleInRadian)
// Return 360.0
于 2015-03-30T17:37:05.433 回答
0

问题是我应该使用 acosf(float) 而应该使用 ace(double)

于 2013-04-07T05:25:33.457 回答
0

这对我有用。您也可以#import <GLKit/GLKit.h> and 使用GLKMathDegreesToRadians()or GLKMathRadiansToDegrees()

-(CGFloat) degreesToRadians:(CGFloat) degrees {
    return degrees == 0.0 ? 0: degrees * M_PI / 180;
}

-(CGFloat) radiansToDegrees:(CGFloat) radians {
    return radians == 0.0 ? 0: radians * 180 / M_PI;
}
于 2019-09-30T16:09:05.057 回答