2014-02-23 126 views
0

我正在嘗試在OpenGL中製作第一人稱程序。歐拉座標到方向矢量

我已經使用GLM庫進行計算,對於View Matrix只有lookAt()函數。但是,功能參數取相機的位置和其所看到的座標。

我想改變間距偏航x, y, z。但是,互聯網上似乎沒有任何方程式。

滾動被忽略,但如何使用只是俯仰和偏航給你x, y, z座標?

  • 0, 0回報0, 0, 1
  • 0, pi回報0, 1, 0
  • pi, 0回報1, 0, 0

任何人都可以計算所有值0 - 2pi幫助嗎?

+0

您應該閱讀有關x,y和z軸各自的基本旋轉矩陣。要旋轉給定空間中原點周圍的點或向量,只需將點/向量與適當的旋轉矩陣相乘即可​​。 http://en.wikipedia.org/wiki/Rotation_matrix#Basic_rotations – Snps

回答

1

構建偏航,俯仰和滾轉的旋轉矩陣,並將它們相乘。所得到的產品是以旋轉的座標系基本向量作爲其列的矩陣。但是矢量不能保證是正交的。事實上,由於稱爲萬向節鎖的影響,可能會發生兩個或全部三個共線。萬向節鎖也是你不應該使用歐拉旋轉的原因。