【发布时间】:2014-11-29 15:35:35
【问题描述】:
我正在尝试围绕全局 y 轴旋转对象(无论当前方向是什么,基本上都围绕 0,1,0 偏航)。我会展示一张图片,但声誉......我想围绕全局轴而不是对象本地轴旋转偏航。例如,如果我通过俯仰稍微倾斜一个盒子,然后尝试旋转偏航,它会以倾斜的角度旋转盒子,而不是直线旋转,就好像盒子根本没有倾斜一样。
每个对象都将其位置和旋转存储在一个矩阵中,该矩阵在每次更新调用时都会更新。旋转的代码如下所示:
D3DXMatrixRotationYawPitchRoll(&rotation, yaw, pitch, roll);
D3DXMatrixMultiply(&position, &rotation, &position);
其中位置是每次更新都会平移和旋转的出色矩阵。这是在本地旋转它的原因,但我想通过全局轴旋转偏航。
如何写才能完成偏航旋转,就好像局部上向量是(0,1,0),即使倾斜?
【问题讨论】:
标签: c++ matrix rotation directx axis