使用旋转矩阵将主轴与地轴对齐? [openGL的]

时间:2012-08-15 17:14:12

标签: math rotation linear-algebra gyroscope euler-angles

我目前正在研究一个项目,该项目应该将陀螺仪收集的数据表示为一个简单的三维图形,但我写的内容并不是很有效 - 我只是整合了轴,然后旋转了对象。

一直在寻找一个解决方案并找到了一个叫做旋转矩阵的东西,但是我不太明白它是如何工作的 - 猜我需要采取起始角度[0,0,0]并将它们转换成这样的矩阵,然后采取陀螺仪数据[偏航,俯仰,滚动]并将它们转换为相似的矩阵,将它们相乘并根据这个新矩阵计算新的角度?每次我使用以前的矩阵作为“基础”获得新的陀螺仪数据包时重复此操作?

我做对了吗?我需要的是如何旋转已旋转的对象,是否有关于此主题的任何资源?一直在寻找'3d旋转矩阵'但不是我一直在寻找的......

1 个答案:

答案 0 :(得分:2)

中介绍了有关旋转矩阵的教程以及所需的集成

Direction Cosine Matrix IMU: Theory

手稿。

长话短说,你不能“简单地整合轴然后旋转物体”,不幸的是它比那更复杂。 :(不过不用担心,手稿会告诉你一步一步做什么。

欧拉角(又名滚动,俯仰和偏航)是邪恶的,它们会破坏你应用的稳定性,例如参见

他们也是not useful for interpolation。只需使用旋转矩阵,你会很高兴。