.plan

everybody lies

导航

D3D中的向量和矩阵


D3D中的向量
D3DXVETOR3类来表示
向量的长度:在游戏中的角色向某一个方向走动的时候,是用向量的长度来控制步伐的长度/速度的,而向量的方向表示了角色走动的方向。
向量的减法:u-v=-v+u
向量的叉积。

矩阵的操作
D3DXMATRIX:public D3DMATRIX (4×4的矩阵结构体)
单位化矩阵 I= -       -
                   | 1 0 0 |
                   | 0 1 0 |
                   | 0 0 1 |
                    -       -

平移矩阵:向量的信息被分行存储在物体的世界矩阵中。
       T   =  -         -
              | 1 0 0 0 |
              | 0 1 0 0 |
              | 0 0 1 0 |
              | x y z 1 |
              -         -


旋转矩阵:    x = -         -
                        | 1 0 0 0 |
                        | 0 C S 0 |
                        | 0-S C 0 |
                        | 0 0 0 1 |
                         -         -
              y = -         -
                  | C 0 -S0 |
                  | 0 1 0 0 |
                  | S 0 C 0 |
                  | 0 0 0 1 |
                  -         -
              z = -         -
                  | C S 0 0 |
                  |-S C 0 0 |
                  | 0 0 1 0 |
                  | 0 0 0 1 |
                  -         -

放缩矩阵:      S= -         -
                  | x 0 0 0 |
                  | 0 y 0 0 |
                  | 0 0 z 0 |
                  | 0 0 0 0 |
                  -         -

混合变换: R=S*X*Y*Z*T(世界矩阵变换)
           R=T*X*Y*Z(摄像机矩阵变换)

四元数:四元数是一个旋转轴和一个旋转角度,它定义了一次旋转
       θ=(x,y,z,w),w是旋转角度
       创建四元数旋转 -> 转换为相应的矩阵。

投影:摄像机和观察变换空间原点之间的距离为D,投影矩阵应为:
                   -           -
                  | 1 0 0 0   |
                  | 0 1 0 0   |
                  | 0 0 1 1/D |
                  | 0 0 0 1   |
                   -           -
 摄像机矩阵通过设Z轴方向平移-D来平移摄像机到原点,平移矩阵为
                   -           -
                  | 1 0 0 0   |
                  | 0 1 0 0   |
                  | 0 0 1 0   |
                  | 0 0 -D 1  |
                   -           -
两者相乘得:
                  -            -
                  | 1 0 0  0   |
                  | 0 1 0  0   |
                  | 0 0 1  1/D |
                  | 0 0 -D 0   |
                  -            -

posted on 2009-08-20 18:57  housechen  阅读(925)  评论(0编辑  收藏  举报