c++ - 如何使用旋转矩阵?

标签 c++ directx

我对如何获取旋转矩阵中的值并旋转 x、y 和 z 顶点感到困惑。在通过 D3DXMatrixRotationX 或其各自的函数传递 D3DXMATRIX 后,如何利用这些值?

最佳答案

这很简单。您调用 D3DXMatrixRotationX(&output_matrix, angle) 并获得存储在 output_matrix 中的新旋转矩阵。它不会旋转作为参数传递的矩阵。它只会在那里放置一个旋转矩阵。现在要将此旋转添加到现有矩阵,您需要将矩阵乘以 output_matrix。如果您只想用它来变换一个 vector (顶点),您需要做的就是将该 vector 乘以 output_matrix。

关于c++ - 如何使用旋转矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25956545/

相关文章:

c++ - 找不到 d3dx11.lib?

c++ - 有没有办法减少我的简单 2D DirectX 游戏中的 CPU 和 GPU 负载?

c++ - 四元数3轴旋转

c# - 创建一个虚拟 HWND 以传递给 Direct3D

c++ - 不能将 XMVECTOR 与 float 相乘

c++ - 如何对通用列表提取进行元编程以构建函数调用

c++ - 模板函数调用其他函数

c++ - 如何获取卷序列号

c++ - C++中new的使用

c++ - boost ASIO : Why don't I get "bind: Address already in use" in Windows (but do get it in Linux)?