gpt4 book ai didi

math - 从四元数中提取偏航角

转载 作者:行者123 更新时间:2023-12-01 23:51:47 26 4
gpt4 key购买 nike

我有一个旋转四元数,想要提取绕上轴(偏航)的旋转角度。我正在使用 XNA,据我所知没有内置的函数。最好的方法是什么?

感谢您的帮助,韦纳图

最佳答案

旋转的四元数表示是轴和角度的变化。因此,如果您绕轴 xyz 旋转 r 弧度,则四元数 q 是:

q[0] = cos(r/2);
q[1] = sin(r/2)*x;
q[2] = sin(r/2)*y;
q[3] = sin(r/2)*z;

如果要创建仅绕 y 轴旋转的四元数,请将 xz 轴归零,然后重新-标准化四元数:

q[1] = 0;
q[3] = 0;
double mag = sqrt(q[0]*q[0] + q[2]*q[2]);
q[0] /= mag;
q[2] /= mag;

如果你想要得到的角度:

double ang = 2*acos(q[0]);

这假设存储了四元数表示:w,x,y,z。如果 q[0] 和 q[2] 均为零或接近零,则生成的四元数应为 {1,0,0,0}。

关于math - 从四元数中提取偏航角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5782658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com