D3D编程问题--旋转
最近都在学习D3D编程
也遇到过了不少问题
都来论坛发过帖子求教过
感谢各位热心帮组的朋友,
最近想用目前学到的东西写个小东西---一个太阳系的展示程序
但是现在在旋转方面遇到些问题了
查了下MSDN 发现关于旋转的有 绕X,Y,Z旋转(这个是围绕自身旋转的吧),还有个是围绕自身任意轴旋转的
但是好像没有围绕某个点进行旋转,也就是公转的实现。
我自己也想到了一种方法来实现。效果也出来了,但是那是用平移来实现的。
效果很差,不知道有没有绕某个点进行旋转的方法呢?
或者提供下思路或者例程~~
先谢了。
[解决办法]
写错了,使这个
- C/C++ code
void D3DXMatrixRotation(D3DXVECTOR3 vCenter,float Len,float timeDelta,D3DXMATRIX* Out)//围绕的某个点的坐标,半径{ D3DXMATRIX invTrans, trans, rot, world; D3DXMatrixTranslation(&invTrans,-vCenter.x,-vCenter.y,-vCenter.z ); D3DXMatrixTranslation(&trans, vCenter.x, vCenter.y, vCenter.z ); D3DXMatrixRotationY(&rot, timeDelta); *Out= invTrans*rot*trans; }