Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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 基于四元数的螺距计算_Ios_Objective C_Quaternions_Glkit_Pitch - Fatal编程技术网

Ios 基于四元数的螺距计算

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]扩展计算的音高

在下面的函数中,我尝试从GLK四元数计算音高:

    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度,它开始减小),你能澄清我该怎么做吗?我不知道怎么做。