基于矩阵的OpenGL旋转矢量
好的,这就是我所拥有的:基于矩阵的OpenGL旋转矢量,opengl,matrix,rotation,Opengl,Matrix,Rotation,好的,这就是我所拥有的: 我在一个框架中创建了一个抽象的“Object”类,将其用作所有3D对象的基类 此类的Matrix4成员,其唯一目的是存储对象的旋转信息 一些乘以矩阵的函数:对于每个偏航、俯仰和滚动旋转(全局和局部),我制作了一种方法,将上述旋转矩阵乘以一个新矩阵 e、 g:如果在CCW方向上局部偏航45度,则 rotMatrix = newRotationZMatrix(45) * rotMatrix; 我想知道的是,获得物体作为向量的全局旋转的最佳方法是什么——一般来说,如何从
- 我在一个框架中创建了一个抽象的“Object”类,将其用作所有3D对象的基类
- 此类的Matrix4成员,其唯一目的是存储对象的旋转信息
- 一些乘以矩阵的函数:对于每个偏航、俯仰和滚动旋转(全局和局部),我制作了一种方法,将上述旋转矩阵乘以一个新矩阵
rotMatrix = newRotationZMatrix(45) * rotMatrix;
我想知道的是,获得物体作为向量的全局旋转的最佳方法是什么——一般来说,如何从只包含旋转的变换矩阵中获得围绕X、Y和Z的旋转角。有一些技术可以获得,只需从旋转矩阵中获得欧拉角,这需要一点数学知识。你可以读一下。我有一门类似的课。 对我来说,使用矩阵3D是最有趣的部分之一 好吧,让我们来看看答案。 我正在使用OpenGL ES,所以对我来说,性能是一个至关重要的部分。我做一个常规,测试,测试,压力测试,重建整个常规,测试,测试。。。直到找到节省内存和提高性能的最佳方法 所以,以最高性能思考,如果你和我一样,有一门课程可以处理矩阵,我告诉你,获得它的最佳方法是: 将旋转值存储在变量中,然后将其放入矩阵中。
通过这种方式,您不需要在每次想要获得这些值时都执行复杂的Euler计算。比例值也是如此。只有索引分开的翻译才不需要这个。谢谢!这似乎正是我所需要和好奇的,它非常接近我认为答案应该是什么。我会研究一下。如果有助于搜索,这种技术通常被称为“矩阵分解”