Opengl es 来自模型/视图矩阵的OpenGL相机方向向量

Opengl es 来自模型/视图矩阵的OpenGL相机方向向量,opengl-es,matrix,euler-angles,Opengl Es,Matrix,Euler Angles,我正在做一个小游戏,我想朝我面对的方向扔一个物体。 问题在于,我的(相机)方向由模型/视图矩阵确定。该矩阵由系统(在android设备上)提供 如何计算将用作投掷对象速度向量的向量? 我试着将一些向量和矩阵相乘,但结果并没有告诉我如何实现这一点 矩阵仅包含旋转部分(无缩放、倾斜或平移)。 我正在使用OpenGLES1.1,但这可能并不重要 接下来,我能够得到绕每个轴的旋转角度,但我仍然不知道如何从中构建速度向量 编辑:我试图实现的是以任何方式旋转模型/视图矩阵,并以我面对的方式抛出对象。我需要物

我正在做一个小游戏,我想朝我面对的方向扔一个物体。 问题在于,我的(相机)方向由模型/视图矩阵确定。该矩阵由系统(在android设备上)提供

如何计算将用作投掷对象速度向量的向量?
我试着将一些向量和矩阵相乘,但结果并没有告诉我如何实现这一点

矩阵仅包含旋转部分(无缩放、倾斜或平移)。
我正在使用OpenGLES1.1,但这可能并不重要

接下来,我能够得到绕每个轴的旋转角度,但我仍然不知道如何从中构建速度向量

编辑:我试图实现的是以任何方式旋转模型/视图矩阵,并以我面对的方式抛出对象。我需要物体最终加速到地面。如果我知道我(相机)所面对的确切矢量,我计算这个轨迹并没有问题


感谢您的帮助。

模型视图矩阵的前3列是视图坐标系的基础。因此,您只需要第三列(或第三行,取决于您是从一个摄像头切换到另一个世界,还是从一个世界切换到另一个摄像头)。

谢谢您的回答。然而,我无法让它按照你描述的方式工作。若我只围绕X轴旋转矩阵(在glLoadIndenity之后),它就可以正常工作。但如果我先绕Z旋转,然后再绕X旋转(GL中的顺序相反),向量仍然指向与不绕Z旋转相同的方向。这是可以理解的,因为在我看来,绕Z轴旋转并不会改变矩阵中的第三列。你真的在提取列吗?OpenGL按列主顺序排列矩阵。所以,尝试在代码中交换“行”和“列”。是的,我正在提取列。即M[8],M[9],M[10],其中M是OpenGL提供的4x4矩阵(float[16])。我在提取列,但应该提取行。感谢您澄清矩阵的列/行到底是什么。