小编Bra*_*aub的帖子

如何将欧拉角转换为前、上、右矢量

我需要一个函数,给定偏航、俯仰和滚动,可以在“世界坐标”中生成前(或看)、右和上向量。

在我的特定世界空间中,从原点 (0,0,0) 开始,X 向左为正,Z 为远离观察者/原点的正值,Y 为向上的正值。

例如,给定...(角度以度为单位)

  • yaw=0,pitch=0,roll=0,预期输出为:

    • 前面 = (0.0,0.0,1.0)
    • 右 = (-1.0,0.0,0.0)
    • 向上 = (0.0,1.0,0.0)
  • yaw=90,pitch=0,roll=0,预期输出为:

    • 前面 = (1.0,0.0,0.0)
    • 右 = (0,0,0.0,1.0)
    • 向上 = (0.0,1.0,0.0)
  • yaw=0,pitch=90,roll=0,预期输出为:

    • 前面 = (0.0,1.0,0.0)
    • 右 = (-1.0,0.0,0.0)
    • 向上 = (0.0,0.0,-1.0)
  • yaw=0,pitch=0,roll=90,预期输出为:

    • 前面 = (0.0,0.0,1.0)
    • 右 = (0.0,1.0,0.0)
    • 向上 = (1.0,0.0,0.0)

我正在使用的语言是 C++,如果最有意义的话,我很乐意使用 glm 来解决这个问题。如果我可以通过四元数到达那里,我也可以接受该解决方案,因为我找到了其他教程来描述如何从欧拉角度获取四元数。

c++ opengl 3d glm-math

5
推荐指数
1
解决办法
2706
查看次数

标签 统计

3d ×1

c++ ×1

glm-math ×1

opengl ×1