搞3D的不了解点M
atrix Mathematics实在说不过去。大学里的线性代数都还给老师了真是惭愧啊。作为对OpenGL坐标系的补充,本文讨论下矩阵的相关知识吧。
矩阵乘法:
设A为MxN矩阵,B为NxL矩阵。则A可以左乘B。
矩阵乘法满足:
1.结合律 (AC)C=A(BC)
2.左分配律 A(B+C)=AB+AC
3.右分配律 (A+B)C=AC+BC
4.数与矩阵乘法的结合律 (xA)B=x(AB)=A(xB)
矩阵转置:
![Matrix <wbr>Mathematics Matrix <wbr>Mathematics](http://www.tongji.edu.cn/~math/xxds/kcja/kcja_a/01.files/image199.gif)
![Matrix <wbr>Mathematics Matrix <wbr>Mathematics](http://www.tongji.edu.cn/~math/xxds/kcja/kcja_a/01.files/image209.gif)
图1 矩阵A 图2 矩阵A的转置
矩阵的转置满足以下规律:
(1 ) ;
(2 ) ;
(3 ) ;
(4 ) 。
矩阵与变换:
平移:
![Matrix <wbr>Mathematics pic20.gif (1831 bytes)](https://i-blog.csdnimg.cn/blog_migrate/3d2bebedb4f4d47f181bfd8a06f628b4.gif)
图3 平移矩阵
旋转:
![Matrix <wbr>Mathematics pic21.gif (1959 bytes)](https://i-blog.csdnimg.cn/blog_migrate/5c46768c28e1451c47eae471bcfb3380.gif)
图4 延x轴旋转
![Matrix <wbr>Mathematics pic22.gif (1964 bytes)](https://i-blog.csdnimg.cn/blog_migrate/f0545dcdececde7b02de92081cfadcc4.gif)
图5
延y轴旋转
![Matrix <wbr>Mathematics pic23.gif (2042 bytes)](https://i-blog.csdnimg.cn/blog_migrate/e98a97047194c4c90709ac9bcf8d24e4.gif)
图6
延z轴旋转
缩放:
![Matrix <wbr>Mathematics pic24.gif (1705 bytes)](https://i-blog.csdnimg.cn/blog_migrate/6d1f919e5901a4e2ab1209c3b3064d37.gif)
图7 缩放矩阵
以上对矩阵的操作都是基于左手坐标系,如果在右手坐标系,矩阵会有所改变。
矩阵级联:
级联的关键在于矩阵起作用的先后顺序,对于空间点而言,先进行的变换要靠近空间点。