Ios 基于四元数的螺距计算
在下面的函数中,我尝试从GLK四元数计算音高:Ios 基于四元数的螺距计算,ios,objective-c,quaternions,glkit,pitch,Ios,Objective C,Quaternions,Glkit,Pitch,在下面的函数中,我尝试从GLK四元数计算音高: float panX = asinf(2.0f * (quaternion.z*quaternion.x - quaternion.w*quaternion.y)); return panX; 看起来很好,但有一个问题。如果我理解正确,俯仰基本上就是角度,在我的例子中,一旦它达到90度的值(无论是正的还是负的),俯仰的值开始慢慢减小。这是一个大问题,因为物体似乎开始在相反的方向旋转(其实不然) 如何从[-90,90]扩展计算的音高
float panX = asinf(2.0f * (quaternion.z*quaternion.x - quaternion.w*quaternion.y));
return panX;
看起来很好,但有一个问题。如果我理解正确,俯仰基本上就是角度,在我的例子中,一旦它达到90度的值(无论是正的还是负的),俯仰的值开始慢慢减小。这是一个大问题,因为物体似乎开始在相反的方向旋转(其实不然)
如何从
[-90,90]
扩展计算的音高范围?1。可以从数学库中使用“转换为Euler角度”。2.可以变换“DIR”向量,并估计与地平面的角度。这取决于你的期望你好,谢谢你的回答!1) GLKQuaternion不提供euler角,我必须自己计算,当我计算时,我得到了与2)相同的结果(一旦角度达到90度,它开始减小),你能澄清我该怎么做吗?我不知道怎么做。