首页 > 其他 > 详细

行矩阵和列矩阵

时间:2020-04-14 10:21:22      阅读:100      评论:0      收藏:0      [点我收藏+]

什么是行矩阵什么是列矩阵

行矩阵

r11 r12 r13 0
r21 r22 r23 0
r31 r32 r33 0
tx  ty  tz  1

其实记住行矩阵只要记住矩阵中,表示平移的3个分量是在一行就是行矩阵。行矩阵需要用向量去前乘来完成变化,即Vector4Mat。一般为了节省矩阵存储的内存开销,我们只存储左边43的部分,默认最后一列是0 0 0 1

列矩阵

r11 r21 r31 tx
r12 r22 r32 ty
r13 r23 r33 tz
0   0   0   1

列矩阵其实就是将行矩阵的内容直接进行转置,这样平移的3个分量就是在一列了,就是列矩阵。列矩阵需要用向量去后乘来完成变化,即MatVector4。一般为了节省矩阵存储的内存开销,我们只存储上边34的部分,默认最后一行是0 0 0 1

几种常用的变换在DirectX和OpenGL中对应的矩阵,下图中左面是DirectX中的矩阵,右面是OpenGL中的矩阵。
平移变换
技术分享图片

对于平移变换来说,如果使用DirectX,那么m41,m42,m43分别对应三个平移分量,对应下面的Tx,Ty和Tz。

绕X轴旋转
技术分享图片

绕Y轴旋转
技术分享图片

绕Z轴旋转
技术分享图片

缩放变换
技术分享图片
缩放变换矩阵,两者是一致的,因为缩放变换的变换因子都在矩阵的对角线上,所以转置矩阵等于其自身。

参考链接:
https://www.cnblogs.com/moxiaotao/p/11205082.html
https://www.cnblogs.com/graphics/archive/2012/08/02/2616017.html
https://blog.csdn.net/a497406594/article/details/102888070

行矩阵和列矩阵

原文:https://www.cnblogs.com/xeclass/p/12695418.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!