我需要将弧度转换为度数。我试过这个x * 180 / Pi的问题是我的输出角度是几分钟秒,所以转换中的小错误会导致很大的问题。
For example: (aCos(0)*180)/Pi = 90.00000250
在基础10宇宙中它应该是90.00000000
答案 0 :(得分:13)
在代码中使用以下宏将弧度转换为度数:
#define RADIANS_TO_DEGREES(radians) ((radians) * (180.0 / M_PI))
示例:
NSLog(@"Output radians as degrees: %f", RADIANS_TO_DEGREES(0.785398));
通过this link。
答案 1 :(得分:2)
正确的解决方案是导入GLKit.h
已经实施了2个功能:
GLKMathDegreesToRadians()
GLKMathRadiansToDegrees()
double angleInRadian = GLKMathDegreesToRadians(360.0);
// Return 6.2831854820
double angleInDegrees = GLKMathRadiansToDegrees(angleInRadian);
// Return 360.0000000000
使用GLKit.h
函数返回的值很好!
答案 2 :(得分:0)
问题是当我应该使用aces(双倍)时我正在使用acosf(float)
答案 3 :(得分:0)
这对我有用。您也可以#import <GLKit/GLKit.h>
并使用GLKMathDegreesToRadians()
或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;
}