资讯详情

矩阵前乘矩阵后乘——几何变换

📅 2026/10/3 13:37:20 | 华诺云谱 👁 阅读
矩阵前乘矩阵后乘——几何变换
在2000年前矩阵乘法的规范是行向量表示矩阵后乘其实这种表示更符合信号变换的基向量展开公式但是2000年后规范就改为了列向量表示矩阵前乘在两年前MATLAB将最后没改部分也改成了列向量表示。虽然我不知道为什么改成列向量表示我也无所谓规范是矩阵后乘还是矩阵前乘但是规范才能让我们更方便交流就像洗衣机的高度都是一样的方便装修的道理是一样的。然而python中矩阵向量乘积用的是行向量表示方式又带回了2000年前那些数学基础不好的又表达不清楚的就会让这个世界很混乱。这是我很佩服的一人对这段历史的说明。仿射变换矩阵这些矩阵定义了仿射变换和投影变换包括平移、旋转、刚体变换和相似变换。在接下来的讨论中我将重点关注仿射变换但相同的概念也适用于投影变换。在二维空间中仿射变换矩阵是一个3×33 \times 33×3矩阵它通过矩阵乘法将二维点(u,v)(u, v)(u,v)进行映射如下所示[xy1][abcdef001]×[uv1]A×[uv1] \begin{bmatrix} x \\ y \\ 1 \end{bmatrix} \begin{bmatrix} a b c \\ d e f \\ 0 0 1 \end{bmatrix} \times \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} A \times \begin{bmatrix} u \\ v \\ 1 \end{bmatrix}​xy1​​​ad0​be0​cf1​​×​uv1​​A×​uv1​​当仿射变换如上所示书写时AAA的第三行总是[001][0 \quad 0 \quad 1][001]。因为矩阵出现在它所乘的向量之前称之为前乘约定premultiply convention。还有另一种书写此运算的方式。可以对一切进行转置像这样[xy1][uv1]×[ad0be0cf1][uv1]×B \begin{bmatrix} x y 1 \end{bmatrix} \begin{bmatrix} u v 1 \end{bmatrix} \times \begin{bmatrix} a d 0 \\ b e 0 \\ c f 1 \end{bmatrix} \begin{bmatrix} u v 1 \end{bmatrix} \times B[x​y​1​][u​v​1​]×​abc​def​001​​[u​v​1​]×B在这种形式中矩阵出现在向量之后因此我称之为后乘约定postmultiply convention。请注意AAA和BBB通过矩阵转置相关联AB⊤A B^{\top}AB⊤且BA⊤B A^{\top}BA⊤。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑