【问题标题】:How to convert 3 angles to a vector [duplicate]如何将3个角度转换为矢量[重复]
【发布时间】:2012-06-17 05:23:10
【问题描述】:

可能重复:
How to convert Euler angles to directional vector?

我正在使用 OpenGL 来旋转砖块。积木模拟具有加速度计的手机。我使用的初始向量是 (0.0, 0.0,-1.0)

glRotatef(angle.x, 1.0, 0.0, 0.0);
glRotatef(angle.y, 0.0, 1.0, 0.0);
glRotatef(angle.z, 0.0, 0.0, 1.0);

如何从上面的角度得到加速度计的矢量?

【问题讨论】:

  • 我需要偏航俯仰和滚动。第一个公式没有滚动。它下面的代码也在矩阵中。我需要一个向量。

标签: opengl


【解决方案1】:

您不需要将初始向量乘以您提到的 3 个矩阵吗?只是复制 OpenGL 的做法。

这不是最有效的,但这会给出结果向量。我错过了什么吗?

【讨论】:

  • 好的,我搞定了。我尝试在我的 OpenGL Red book 中使用旋转矩阵,但它不起作用。我尝试了上面提到的矩阵代码,它起作用了。我只是将向量乘以矩阵的 XYZ 旋转公式的第三列。一件有趣的事情是我不得不使用 -M_PI 而不是 -1.0 作为起始向量。然后我对其进行标准化,使其最小值为 -1.0,任何轴的最大值为 1.0。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多