代码之家  ›  专栏  ›  技术社区  ›  Stephen Melvin

OpenGL超圣经线性代数-这是正确的吗?

  •  6
  • Stephen Melvin  · 技术社区  · 14 年前

    我最近开始阅读OpenGL Superbible第5版,并注意到以下内容:

    Equation in question

    刚学了线性代数,我觉得这很奇怪。列向量的维数为4x1,矩阵的维数为4x4,如何将它们相乘?如果向量是一个行向量,输出是一个行向量,我同意这是可能的,但是这个?

    更新:我给作者发了邮件,他说我是对的。他注意到这本书上一版的顺序是错误的,但最后第五版没有修改。

    3 回复  |  直到 14 年前
        1
  •  5
  •   duffymo    14 年前

    我同意:它应该是一个列向量,预先乘以单位矩阵。

    如果它是一个行向量,那么RHS也需要是一个行向量,以使维度匹配。

        2
  •  3
  •   Calvin1602    14 年前

    这不是一个打字错误或错误,这是一种常见的方式在三维图形中表示向量矩阵乘法。但从数学上讲,你是对的:左向量应该水平书写。不过,在3D中你永远不会看到这个。

        3
  •  1
  •   Middleware    13 年前

    这是一个常见的错误,通过所有的书的矩阵相关的例子。参见清单4.1,标题是“Translate then Rotate”,而本机代码和可执行示例代码都显示“Rotate then Translate”行为。叹气。