• 3D Graphics FAQ


    1.什么是左乘,什么是右乘?

      所谓左/右乘,是指参与运算的两个因子(向量、矩阵)在运算中的相对位置(主语相对宾语的位置),A左乘B即A*B,A右乘B即B*A。因此说左/右乘时,必须指定参与运算的两个因子才是有意义的,有时会省略主语(甚至同时省略主语和宾语),如在OSG中对顶点应用矩阵变换时,使用的是右乘(P*M),完整的说应该是矩阵M右乘向量P;而OpenGL对顶点进行矩阵变换,是使用左乘,即矩阵左乘向量P(M*P)。
      左乘也叫做pre-multiply(A.premult(B)==B*A,即B左乘A),右乘也叫做post-multiply(A.postmult(B)==A*B,即B右乘A)。
      引用一位网友的解释:左乘就是从左边过来乘,对于A.premult(B),就是参数B要从左边乘过来,即B左乘A,即A.premult(B)==B*A。 

    2.什么是列主序,什么是行主序?
      所谓矩阵的列主序和行主序,是指用一维数组存储二维矩阵元素的时候,是以第一列、第二列的顺,还是以第一行、第二行的顺序。因此,矩阵的主序只是存储(以一维数组传递数据)上的不同,在计算和使用中所代表的数学意义没有任何区别。
    C语言中的二维数组a[4][4],可以看作一个4*4的矩阵,并且它是按行主序存储的。因此,在使用列主序矩阵时,可以直接把C语言二维数组作为矩阵使用。
      OpenGL中使用列主序矩阵。由于矩阵主序对矩阵的数学意义没有任何影响,因此,说OpenGL使用列主序矩阵,实际上是指在向OpenGL传递矩阵数据时,用来存储矩阵元素的一维数组,是按照列主序定义的!即glLoadMatrix要求的传入参数是按列主序定义的矩阵。

  • 相关阅读:
    性能测试基本功 手动配置nginx+phpcgi+zend+mysql
    MySQL的show full processlist命令
    LoadRunner测试Webservices的例子
    Firefox 5 公开测试下载
    Shunra 即将发布 PerformanceSuite 7.0 和NetworkCatcher 7.0
    LoadRunner常见问题
    动态生成的图片保存成png格式
    如何解决ASP.NET程序安装到繁体系统上的乱码问题
    在Ubuntu上下载、编译和安装Android最新源代码
    腾讯微博api的蛋疼问题
  • 原文地址:https://www.cnblogs.com/indif/p/2045098.html
Copyright © 2020-2023  润新知