|
|
为了实现一个炮口的粒子效果
需要建立一个将炮口的本地坐标系转换到世界坐标系的变换矩阵
我的思路::(矩阵形式符合D3D标准,以下以v为前缀说明变量为向量,以mat为前缀说明向量为矩阵)
1.先建立炮口的本地坐标系
v炮口-v炮管底=v本地坐标Y
v设立的向上向量 叉乘 v本地坐标Y = v本地坐标X
v本地坐标X 叉乘 v本地坐标Y = v本地坐标Z
2.以其填充一个变换矩阵----将世界坐标系变换到炮口本地坐标的矩阵
| v本地坐标X.x v本地坐标Y.x v本地坐标Z.x 0 |
matWorldToLocal = | v本地坐标X.y v本地坐标Y.y v本地坐标Z.y 0 |
| v本地坐标X.z v本地坐标Z.z v本地坐标Z.z 0 |
| -v炮口坐标.x -v炮口坐标.y -v炮口坐标.z 1 |
3.用D3D的help函数D3DXMatrixInverse( &matLocalToWorld , NULL , &matWorldToLocal);
进行逆阵变换
求出的matLocalToWorld应该是将炮口本地坐标搬移到世界坐标的变换矩阵,但是效果却不能达到~~
我的思路哪里错了呢???
|
|