在本地Y轴上旋转字符

时间:2015-10-27 02:09:56

标签: opengl directx graphic

在3D场景中,我们不断更新局部世界4x4矩阵,可以将3D对象从局部坐标转移到世界坐标系。 但我无法弄清楚可以使3D物体沿着自身局部Y轴旋转的矩阵。因为我不知道3D对象的局部向上向量,所以我只知道local-&gt; world矩阵并不断更新它。人们如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

要旋转对象,需要旋转矩阵。这应该是清楚的。大多数库都有生成这种旋转矩阵的方法。

您的问题似乎与该矩阵有关。您想用它来修改现有的世界变换。基本上有两种选择。在下文中,我假设OpenGL使用的列主矩阵布局。 DirectX的矩阵订单相反。

选项1:左侧乘以:

newWorld = rotationMatrix * oldWorld

这会旋转全局坐标系中的对象。

选项2:右侧乘以:

newWorld = oldWorld * rotationMatrix

这会在 local 坐标系中旋转对象。这可能就是你要找的东西。

顺便说一下,如果你有世界变换,你就知道局部y轴,它只是矩阵的第二列。

相关问题