【读书笔记】计算机图形学基础(虎书)第5章 - 线性代数

此部分强烈推荐3Blue1Brown的线性代数本质的视频,对本文许多结论都有简单明了的解释。另外对于概念与常见的交换律等性质不在此讨论,请参考原书或者任意线代书籍。

1. 行列式

行列式的几何意义是线性变换前后单位基对应的面积/体积的变动比率(按照右手坐标系分正负),如果为\(0\)则代表变换降维丢失部分信息,面积/体积变为0。线性相关之类的共线/共面也与此原因符合。就叉乘\(v\times w\)而言,可以将求行列式的过程看作一个将三维向量\(a=[x,y,z]\)投影到数轴的过程。这个过程相当于与某向量\(P\)做点乘。求叉积相当于求以下公式内的向量\(P\)。从行列式的几何意义上来看,点\(P\)必须是与\(v,w\)垂直方向上,长度等于两个向量平行四边形面积的向量。因此,取最简单的\([x,y,z]=[i,j,k]\)可得解。

2. 矩阵

  • 矩阵可以被看作标准基线性变换至对应列向量的线性变换。
  • 点乘可以看作标准基\((i,j,k)\)变换到\(a\)向量所对应直线的过程,因为对称性,基到\(a\)的投影与\(a\)到基的投影一致,故可将\(3x3\)的矩阵简化为\(1x3\)的矩阵\(a^T\)。延伸来讲,如果有任何线性变换将高维向量投影至某一个一维数轴上,则线性变换与计算该数轴方向的某向量点积是一样的。
  • 正交矩阵有\(R^TR=RR^T=I\)的特征,其行列式为1。
  • 逆矩阵的计算方法可以利用cofactor,也就是排开一行一列后剩下的行列式乘以该位置的正负,具体如下。
  • Cramer Rule的讲解参考第4章内MT算法的笔记,也可以参考3Blue1Brown的最后一章。本书的Cramer Rule推导更为简单直接,使用了平行四边形同高体积不变的特性。
  • 在做空间转换的时候,如果有\(Av\),并且\(v\)是局部坐标系,我们需要\(A\)包含局部坐标系的三个基在全局坐标系内的含义。注意,在空间转换的时候要时刻注意列的基向量使用什么坐标语言来描述的,不能想当然的乱乘。这个引来了相似矩阵,即\(A^{-1}MA\)的操作其实是先通过\(A\)进入标准空间,在标准空间内进行形变,最后还原到特殊空间。

3. 特征值分解与奇异值分解

特征向量指的是在线性变换后仍在同一个方向上的向量,特征值指的是特征向量在线性变换后长度的变动比(含方向上的正负号)。通常特征向量可以表明线性变换的一些特征,例如旋转时的旋转轴。如果特征向量足够的多,可以进行特征对角化的操作,即将矩阵\(A\)写成\(PDP^{-1}\)的形式,首先将标准基转换为特征向量基,进行特征值的拉伸形变,再还原至标准基。如果是对称矩阵则额外拥有两个特征向量彼此正交的关系,即其特征向量矩阵\(P^{-1}=P^T\)

特征值分解的结果通常是方阵,而奇异值分解SVD的方法则有可能使用更少的数字来记录另一种分解效果\(A=USV^T\),其中\(U,T\)为两个不同的正交矩阵包含不同的纵列左右奇异向量,\(S\)是一个对角线矩阵包含奇异值。奇异值与特征值之间存在转换关系,设\(M=AA^t=(USV^T)(USV^T)^T=US^2U^T\)。如此可得对称矩阵\(M\)的特征值分解并算出\(U\)。其次可得\(V=(S^{-1}U^TA)^T\)。对于特征值非负的对称矩阵来说,奇异值等于特征值。具体其他的SVD算法可以参考其他文章,此处附一个奇异值分解的原理奇异值分解的几何理解。在后者提到了正交矩阵代表旋转,对角矩阵代表拉伸的一个意义。

posted @ 2021-08-18 00:36  一支随缘箭  阅读(847)  评论(0编辑  收藏  举报