zoukankan      html  css  js  c++  java
  • 行矩阵和列矩阵

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

    行矩阵

    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

  • 相关阅读:
    find
    fdisk
    falcon-eye
    ethtools
    e2fsck
    dpkg
    declare
    df
    debconf-utils
    区块链从零开始做开发(0):hyperledger Fabric2.3安装
  • 原文地址:https://www.cnblogs.com/xeclass/p/12695418.html
Copyright © 2011-2022 走看看