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