Directx11绕世界中心旋转
Directx11 rotation around center of world?
我已经用directx玩了一段时间了,不知道如何在不旋转的情况下旋转一些东西(0,0,0)。我离我的世界中心越远,它在旋转过程中形成的圆圈就越大。
不要忘记矩阵变换适用于坐标系。假设你想把物体在xy平面上向上移动20个单位,然后旋转90度。如果你先旋转90度,你会把整个平面旋转90度。这意味着当你向上平移y轴时,90度是新的"向上"。
我们先平移,使对象的中心为(0,0)当我们旋转时,我们应该绕着物体的中心旋转。当然,不要忘记转换回来,或者以某种方式清除矩阵。
在做矩阵变换时,顺序很重要,我相信你知道。通常,你应该平移,缩放,然后旋转。
如果您需要围绕位于(x 0,y 0,z 0)的点p旋转α,则创建矩阵:
T(-x₀,-y₀,-z₀) * R(α) * T(x₀,y₀,z₀)
T表示平移,R表示旋转。此外,根据您的约定,例如行矩阵或列矩阵,您可能必须恢复操作顺序。
相关文章:
- SFML 向下移动时如何围绕屏幕中心旋转?
- 鼠标单击 OpenGL 时无法围绕其自己的中心旋转对象
- OpenGL C++围绕场景中心旋转对象
- 绕摄影机旋转opengl c++/设置旋转中心
- 如何在中心旋转二维对象
- 在Cocos2DX V3中.如何使用不同的中心缩放和旋转
- Openframeworks-通过OpenGL调用从图像中心旋转图像
- 从盒子计算 AABB(中心、半大小、旋转)
- 围绕世界的Y轴旋转摄影机(在O(0,0,0)处)
- 如何在QT QWidgets C++中围绕图像中心旋转图像
- 如何旋转粒子系统,使其不绕世界轴旋转
- 围绕对象中心的SFML旋转
- 绕其中心旋转矩形
- Qt围绕其中心点旋转文本
- 你如何找到一个旋转矩形从它的中心的垂直
- 在opengl中寻找旋转图像的中心
- 优化矩阵旋转-关于矩阵中心的任意角度
- 围绕中心点旋转对象的函数
- Directx11绕世界中心旋转
- 围绕世界0,0,0旋转,而不是以物体为中心