【问题标题】:Euler Coordinate to Directional Vector欧拉坐标到方向向量
【发布时间】:2014-02-23 14:47:28
【问题描述】:

我正在尝试在 OpenGL 中制作第一人称程序。

我使用 GLM 库进行计算,它只有一个 lookAt() 函数用于查看矩阵。但是,函数参数会获取相机的位置和它正在查看的 x, y, z 坐标。

我想将 pitchyawroll 更改为 x, y, z。但是,互联网上似乎没有任何方程式。

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

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

谁能帮助计算所有值0 - 2pi

【问题讨论】:

标签: c++ opengl vector


【解决方案1】:

构建偏航、俯仰和滚动的旋转矩阵,并将它们相乘。生成的产品是一个矩阵,其列是旋转的坐标系基向量。但是,不能保证向量是正交的。事实上,由于称为万向节锁定的效果,它们可能会发生两个或所有三个变为共线的情况。万向节锁也是你根本不应该使用欧拉旋转的原因。

【讨论】:

    猜你喜欢
    • 2011-02-25
    • 2010-12-06
    • 2014-06-14
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多