计算机图形学笔记(0):线性代数

前置知识:线性代数

1. 向量

向量的定义:

  • 一个向量写做 \(\vec{a}\) 或者 \(\boldsymbol{a}\),或者由始末点表示 \(\overrightarrow{AB}= B-A\)
  • 向量只有方向和长度没有起始位置。

向量的单位化(Normalization):

  • 向量的大小(长度)写作 \(\lVert\vec{a}\rVert\)
  • 单位向量 \(\hat{a}=\vec{a}/\lVert\vec{a}\rVert\)
  • 单位向量用于表示方向

向量的加法:

  • 几何上遵循三角法则或平行四边形法则
  • 代数上直接坐标相加
  • 在笛卡尔坐标系(Cartesian Coordinates)中:
    • \(\boldsymbol{A}=\begin{pmatrix}x\\y\end{pmatrix}\)
    • \(\boldsymbol{A}^T=(x, y)\)
    • \(\lVert\boldsymbol{A}\rVert=\sqrt{x^2+y^2}\)

向量的乘法:

  • 向量点乘(dot product):

    • \(\boldsymbol{a}\cdot\boldsymbol{b}=\lVert\boldsymbol{a}\rVert\lVert\boldsymbol{b}\rVert\cos{\theta}\)

    • 利用点乘可以求两向量之间的夹角

      \[ \cos{\theta}=\frac{\boldsymbol{a}\cdot\boldsymbol{b}}{\lVert\boldsymbol{a}\rVert\lVert\boldsymbol{b}\rVert}=\boldsymbol{\hat{a}}\cdot\boldsymbol{\hat{b}} \]

    • 向量点乘支持交换律、结合律、分配律

    • 在笛卡尔坐标系中

      • \(\boldsymbol{a}\cdot\boldsymbol{b}=\begin{pmatrix}x_a\\y_a\end{pmatrix}\cdot\begin{pmatrix}x_b\\y_b\end{pmatrix}=x_ax_b+y_ay_b\)
  • 点乘的应用:

    • 光线的夹角

    • 向量投影(projection):

      • \(\boldsymbol{b}_\bot\) (读作 b perp/perpendicular)为 \(\boldsymbol{b}\)\(\boldsymbol{a}\) 上的摄影

      • \(\boldsymbol{b}_\bot=k\boldsymbol{\hat{a}}\)

        \(k=\lVert\boldsymbol{b}_\bot\rVert=\lVert\boldsymbol{b}\rVert\cos{\theta}\)

  • 向量叉乘(cross product):

    • 两个向量叉乘的结果是垂直于两个向量所在平面的向量,其方向遵循右手螺旋定则(右手系中)

    • 向量叉乘符合分配率和结合律

    • \(\lVert \boldsymbol{a}\times \boldsymbol{b}\rVert=\lVert\boldsymbol{a}\rVert\lVert\boldsymbol{b}\rVert\sin{\theta}\)

    • \(\boldsymbol{a}\times\boldsymbol{b}=-\boldsymbol{b}\times\boldsymbol{a}\)

    • \(\boldsymbol{a}\times\boldsymbol{a}=\boldsymbol{0}\)

    • 在笛卡尔坐标系中:

      \[ \boldsymbol{a}\times\boldsymbol{b}=\begin{pmatrix}y_az_b-y_bz_a\\z_ax_b-x_az_b\\x_ay_b-y_ax_b\end{pmatrix}=A\times\boldsymbol{b}=\begin{pmatrix}0&-z_a&y_a\\z_a&0&-x_a\\-y_a&x_a&0\end{pmatrix}\begin{pmatrix}x_b\\y_b\\z_b\end{pmatrix} \]

2. 矩阵

矩阵乘法:

  • 矩阵相乘:
    • 左矩阵的列必须等于右矩阵的行,即 \((m\times n)(n\times p)=(m\times p)\)
    • 乘法得到的矩阵的第 \((i,j)\) 个元素的值为左矩阵第 \(i\) 行与右矩阵第 \(j\) 列的点乘
    • 矩阵乘法符合结合律和分配率,没有交换律
  • 矩阵转置:
    • 交换 \((i,j)\Leftrightarrow(j,i)\)
    • \((\textbf{AB})^T=\textbf{B}^T\textbf{A}^T\)
  • 单位矩阵:
    • \(\textbf{I}_{3\times3}=\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}\)
  • 逆矩阵:
    • \(\textbf{AA}^{-1}=\textbf{A}^{-1}\textbf{A}=\textbf{I}\)
    • \((\textbf{AB})^{-1}=\textbf{B}^{-1}\textbf{A}^{-1}\)
  • 矩阵乘法是点变换的关键。

计算机图形学笔记(0):线性代数
http://blog.ashechol.top/posts/282fdf18.html
作者
Ashechol
发布于
2022年6月22日
许可协议