【发布时间】:2011-03-18 07:07:03
【问题描述】:
例如,
- sin 33.35 = 0.5523 度
- sin 33.35 = 0.9347 弧度
因为 Xcode 默认以弧度给出答案。 那么有什么办法可以得到学位的答案???
【问题讨论】:
-
您可以随时轻松地将弧度转换为度...
标签: iphone objective-c cocoa-touch ios4
例如,
因为 Xcode 默认以弧度给出答案。 那么有什么办法可以得到学位的答案???
【问题讨论】:
标签: iphone objective-c cocoa-touch ios4
是的,您将弧度乘以一个常数 180/pi 以获得度数。那是因为在一个完整的 360 度圆中有2 * pi 弧度(所以半圆是pi 弧度和 180 度)。
请记住,您必须将转换应用于正弦函数的输入(角度),而不是输出(长度)。
pi 常量可以通过包含 math.h 并使用 M_PI 符号来使用。
【讨论】:
一个以度为单位的圆存在 360 度,一个以弧度为单位的圆是 2*pi。因此,要将弧度转换为度数,需要除以 pi 并乘以 180。
radians * 180 / M_PI
如果您要将度数转换为弧度,例如为动画提供度数,请使用:
degrees * M_PI / 180
我自己为此使用#DEFINE:
#define DEGREES(radians)((radians)*180/M_PI)
#define RADIANS(degree)((degree)*M_PI/180)
只需在代码的任何部分中说 RADIANS(degree) 或 DEGREES(radians) 即可替换 degree 和弧度 按您的度数或弧度值。如果您不习惯弧度,我认为这也使其更具可读性。
【讨论】:
divide by pi and multiply by 180,但您的 公式 与此不匹配:radians / 180 * M_PI。应该是radians * 180 / M_PI。同样,反向操作应该是degrees * M_PI / 180。
获取弧度值,然后执行:
CGFloat degrees = (radians * 180) / M_PI;
M_PI 是位于 math.h 中的#define。
【讨论】:
幸运的是,Objective-C 语言是 C 的适当超集,其中包括乘法和除法运算符。
【讨论】: