Swift CoreMotion将Iphone音高转换为度

Swift CoreMotion将Iphone音高转换为度,swift,ios8,core-motion,Swift,Ios8,Core Motion,我正在尝试将弧度转换为度。我已经知道: 1弧度=180/π这确实给了我度 您可以在此处查看我的代码: 我的问题是: 我得到的弧度数据只有从0到1.5再回到0,然后从0到-1.5再回到0。所以当我进行转换时,我得到0到90,再回到0,然后0到-90,再回到0 我想要的是,当我移动Iphone的音高时,能够从0到360。我确信这是一张简单的地图,当我看到它时,我会用手猛击我的额头 谢谢你的帮助 我认为你的问题是打字错误。 回购协议中的功能是: 变量度=(弧度*M_π) 但正如你在问题开始时指出的,

我正在尝试将弧度转换为度。我已经知道: 1弧度=180/π这确实给了我度

您可以在此处查看我的代码:

我的问题是:

我得到的弧度数据只有从0到1.5再回到0,然后从0到-1.5再回到0。所以当我进行转换时,我得到0到90,再回到0,然后0到-90,再回到0

我想要的是,当我移动Iphone的音高时,能够从0到360。我确信这是一张简单的地图,当我看到它时,我会用手猛击我的额头


谢谢你的帮助

我认为你的问题是打字错误。
回购协议中的功能是:

变量度=(弧度*M_π)

但正如你在问题开始时指出的,应该是


var degrees=radians*(180.0/M_PI)

您的问题听起来似乎可以通过使用
atan2
而不是
atan
来解决。我很快查看了您的代码,但找不到类似的内容。你的函数
radiansToDegrees
在我看来是错误的,至少如果
M_PI
应该包含PI的值。那么我应该用什么来表示PI呢?你应该将
var degrees=(radians*M_PI)
改为
var degrees=radians*(180.0/M_PI)
,见johnnyclem的答案。