欧拉坐标到定向矢量

时间:2014-02-23 14:47:29

标签: c++ opengl vector

我正在尝试在OpenGL中制作第一人称节目。

我已经使用GLM库进行计算,它只对View Matrix有lookAt()函数。但是,函数参数会获取摄像机的位置以及它所查看内容的x, y, z坐标。

我想将音高偏航滚动更改为x, y, z。但是,互联网上似乎没有任何公式。

滚动被忽略,但是如何只使用俯仰和偏航给你x, y, z坐标?

  • 0, 0返回0, 0, 1
  • 0, pi返回0, 1, 0
  • pi, 0返回1, 0, 0等。

任何人都可以帮助计算所有值0 - 2pi吗?

1 个答案:

答案 0 :(得分:1)

为偏航,俯仰和滚转构建旋转矩阵,并将它们相乘。得到的乘积是一个矩阵,其旋转坐标系基矢量作为其列。但是,不保证向量是正交的。实际上,由于称为万向节锁的效果,可能会发生两个或全部三个变为共线的情况。万向节锁定也​​是你不应该使用欧拉旋转的原因。