Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用CMDeviceMotion时,如果设备笔直向上(螺距=90),则它将';它真的不稳定。怎么解决这个问题?_Ios_Math_Pitch_Core Motion - Fatal编程技术网

Ios 使用CMDeviceMotion时,如果设备笔直向上(螺距=90),则它将';它真的不稳定。怎么解决这个问题?

Ios 使用CMDeviceMotion时,如果设备笔直向上(螺距=90),则它将';它真的不稳定。怎么解决这个问题?,ios,math,pitch,core-motion,Ios,Math,Pitch,Core Motion,我知道(俯仰、偏航、横摇)坐标系在数学上有自己的缺陷。然而,我真的希望从这个坐标中得到的东西可以作为替代 我试图做的是在现实世界中移动设备(比如说它是一部iphone),并试图计算出用户眼睛的偏航和俯仰。因此,偏航范围应为(-180,180),俯仰范围应为(-90,90)。当我将iphone(始终面向我)从下向前移动时,CMDeviceMotion会使我的音高从0变为90;当我将iphone(仍然面向我)从前向上移动时,CMDeviceMotion会使我的音高从90变回0。这些都很好,我对球场数

我知道(俯仰、偏航、横摇)坐标系在数学上有自己的缺陷。然而,我真的希望从这个坐标中得到的东西可以作为替代

我试图做的是在现实世界中移动设备(比如说它是一部iphone),并试图计算出用户眼睛的偏航和俯仰。因此,偏航范围应为(-180,180),俯仰范围应为(-90,90)。当我将iphone(始终面向我)从下向前移动时,CMDeviceMotion会使我的音高从0变为90;当我将iphone(仍然面向我)从前向上移动时,CMDeviceMotion会使我的音高从90变回0。这些都很好,我对球场数据非常满意


然而,当俯仰接近90度时,偏航非常不稳定。威尔,这不是问题,因为当俯仰在90度左右时,我可以忽略偏航的变化。然而,真正的问题是,偏航值在变桨增大之前和变桨减小之后发生了显著变化。我的意思是,它不仅不稳定,而且意味着变化!改变大约180(π)。我想那是因为坐标完全改变了。但是我现在在坐标转换上迷失了方向。

您刚才描述的这种混乱的解决方法正是您不应该使用横摇、俯仰和偏航的原因


你要么走得更远,把事情搞得更糟,要么。

谢谢你的回答。我确实尝试过四元数,但最后我不得不将矩阵转换回横摇、俯仰和偏航……至少现在它更稳定了